Skip to content

Commit 6c45801

Browse files
committed
Allow calling GeneratorSubsts::variant_name() without substs
1 parent dd883ed commit 6c45801

File tree

3 files changed

+9
-11
lines changed

3 files changed

+9
-11
lines changed

src/librustc_codegen_llvm/debuginfo/metadata.rs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ use rustc_middle::middle::codegen_fn_attrs::CodegenFnAttrFlags;
3333
use rustc_middle::mir::interpret::truncate;
3434
use rustc_middle::mir::{self, Field, GeneratorLayout};
3535
use rustc_middle::ty::layout::{self, IntegerExt, PrimitiveExt, TyAndLayout};
36-
use rustc_middle::ty::subst::{GenericArgKind, SubstsRef};
36+
use rustc_middle::ty::subst::GenericArgKind;
3737
use rustc_middle::ty::Instance;
38-
use rustc_middle::ty::{self, AdtKind, ParamEnv, Ty, TyCtxt};
38+
use rustc_middle::ty::{self, AdtKind, GeneratorSubsts, ParamEnv, Ty, TyCtxt};
3939
use rustc_middle::{bug, span_bug};
4040
use rustc_session::config::{self, DebugInfo};
4141
use rustc_span::symbol::{Interner, Symbol};
@@ -1381,12 +1381,11 @@ impl EnumMemberDescriptionFactory<'ll, 'tcx> {
13811381

13821382
let variant_info_for = |index: VariantIdx| match self.enum_type.kind {
13831383
ty::Adt(adt, _) => VariantInfo::Adt(&adt.variants[index]),
1384-
ty::Generator(def_id, substs, _) => {
1384+
ty::Generator(def_id, _, _) => {
13851385
let (generator_layout, generator_saved_local_names) =
13861386
generator_variant_info_data.as_ref().unwrap();
13871387
VariantInfo::Generator {
13881388
def_id,
1389-
substs,
13901389
generator_layout: *generator_layout,
13911390
generator_saved_local_names,
13921391
variant_index: index,
@@ -1690,7 +1689,6 @@ enum VariantInfo<'a, 'tcx> {
16901689
Adt(&'tcx ty::VariantDef),
16911690
Generator {
16921691
def_id: DefId,
1693-
substs: SubstsRef<'tcx>,
16941692
generator_layout: &'tcx GeneratorLayout<'tcx>,
16951693
generator_saved_local_names: &'a IndexVec<mir::GeneratorSavedLocal, Option<Symbol>>,
16961694
variant_index: VariantIdx,
@@ -1701,8 +1699,8 @@ impl<'tcx> VariantInfo<'_, 'tcx> {
17011699
fn map_struct_name<R>(&self, f: impl FnOnce(&str) -> R) -> R {
17021700
match self {
17031701
VariantInfo::Adt(variant) => f(&variant.ident.as_str()),
1704-
VariantInfo::Generator { substs, variant_index, .. } => {
1705-
f(&substs.as_generator().variant_name(*variant_index))
1702+
VariantInfo::Generator { variant_index, .. } => {
1703+
f(&GeneratorSubsts::variant_name(*variant_index))
17061704
}
17071705
}
17081706
}
@@ -1897,7 +1895,7 @@ fn prepare_enum_metadata(
18971895
.variant_range(enum_def_id, tcx)
18981896
.map(|variant_index| {
18991897
debug_assert_eq!(tcx.types.u32, substs.as_generator().discr_ty(tcx));
1900-
let name = substs.as_generator().variant_name(variant_index);
1898+
let name = GeneratorSubsts::variant_name(variant_index);
19011899
unsafe {
19021900
Some(llvm::LLVMRustDIBuilderCreateEnumerator(
19031901
DIB(cx),

src/librustc_codegen_llvm/type_of.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,10 @@ fn uncached_llvm_type<'a, 'tcx>(
7070
write!(&mut name, "::{}", def.variants[index].ident).unwrap();
7171
}
7272
}
73-
if let (&ty::Generator(_, substs, _), &Variants::Single { index })
73+
if let (&ty::Generator(_, _, _), &Variants::Single { index })
7474
= (&layout.ty.kind, &layout.variants)
7575
{
76-
write!(&mut name, "::{}", substs.as_generator().variant_name(index)).unwrap();
76+
write!(&mut name, "::{}", ty::GeneratorSubsts::variant_name(index)).unwrap();
7777
}
7878
Some(name)
7979
}

src/librustc_middle/ty/sty.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -517,7 +517,7 @@ impl<'tcx> GeneratorSubsts<'tcx> {
517517
/// Calls `f` with a reference to the name of the enumerator for the given
518518
/// variant `v`.
519519
#[inline]
520-
pub fn variant_name(self, v: VariantIdx) -> Cow<'static, str> {
520+
pub fn variant_name(v: VariantIdx) -> Cow<'static, str> {
521521
match v.as_usize() {
522522
Self::UNRESUMED => Cow::from(Self::UNRESUMED_NAME),
523523
Self::RETURNED => Cow::from(Self::RETURNED_NAME),

0 commit comments

Comments
 (0)