@@ -34,17 +34,17 @@ use rustc_middle::ich::NodeIdHashingMode;
3434use rustc_middle:: middle:: codegen_fn_attrs:: CodegenFnAttrFlags ;
3535use rustc_middle:: mir:: interpret:: truncate;
3636use rustc_middle:: mir:: { self , Field , GeneratorLayout } ;
37- use rustc_middle:: ty:: layout:: {
38- self , Align , Integer , IntegerExt , LayoutOf , PrimitiveExt , Size , TyAndLayout , VariantIdx ,
39- } ;
37+ use rustc_middle:: ty:: layout:: { self , IntegerExt , PrimitiveExt , TyAndLayout } ;
4038use rustc_middle:: ty:: subst:: { GenericArgKind , SubstsRef } ;
4139use rustc_middle:: ty:: Instance ;
4240use rustc_middle:: ty:: { self , AdtKind , ParamEnv , Ty , TyCtxt } ;
4341use rustc_middle:: { bug, span_bug} ;
4442use rustc_session:: config:: { self , DebugInfo } ;
4543use rustc_span:: symbol:: { Interner , Symbol } ;
4644use rustc_span:: { self , FileName , Span } ;
47- use rustc_target:: abi:: HasDataLayout ;
45+ use rustc_target:: abi:: { Abi , Align , DiscriminantKind , HasDataLayout , Integer , LayoutOf } ;
46+ use rustc_target:: abi:: { Int , Pointer , F32 , F64 } ;
47+ use rustc_target:: abi:: { Primitive , Size , VariantIdx , Variants } ;
4848
4949use libc:: { c_longlong, c_uint} ;
5050use std:: collections:: hash_map:: Entry ;
@@ -1364,7 +1364,7 @@ impl EnumMemberDescriptionFactory<'ll, 'tcx> {
13641364 } ;
13651365
13661366 match self . layout . variants {
1367- layout :: Variants :: Single { index } => {
1367+ Variants :: Single { index } => {
13681368 if let ty:: Adt ( adt, _) = & self . enum_type . kind {
13691369 if adt. variants . is_empty ( ) {
13701370 return vec ! [ ] ;
@@ -1399,8 +1399,8 @@ impl EnumMemberDescriptionFactory<'ll, 'tcx> {
13991399 discriminant: None ,
14001400 } ]
14011401 }
1402- layout :: Variants :: Multiple {
1403- discr_kind : layout :: DiscriminantKind :: Tag ,
1402+ Variants :: Multiple {
1403+ discr_kind : DiscriminantKind :: Tag ,
14041404 discr_index,
14051405 ref variants,
14061406 ..
@@ -1457,9 +1457,9 @@ impl EnumMemberDescriptionFactory<'ll, 'tcx> {
14571457 } )
14581458 . collect ( )
14591459 }
1460- layout :: Variants :: Multiple {
1460+ Variants :: Multiple {
14611461 discr_kind :
1462- layout :: DiscriminantKind :: Niche { ref niche_variants, niche_start, dataful_variant } ,
1462+ DiscriminantKind :: Niche { ref niche_variants, niche_start, dataful_variant } ,
14631463 ref discr,
14641464 ref variants,
14651465 discr_index,
@@ -1592,7 +1592,7 @@ impl EnumMemberDescriptionFactory<'ll, 'tcx> {
15921592// Creates `MemberDescription`s for the fields of a single enum variant.
15931593struct VariantMemberDescriptionFactory < ' ll , ' tcx > {
15941594 /// Cloned from the `layout::Struct` describing the variant.
1595- offsets : Vec < layout :: Size > ,
1595+ offsets : Vec < Size > ,
15961596 args : Vec < ( String , Ty < ' tcx > ) > ,
15971597 discriminant_type_metadata : Option < & ' ll DIType > ,
15981598 span : Span ,
@@ -1777,7 +1777,7 @@ fn prepare_enum_metadata(
17771777 // <unknown>
17781778 let file_metadata = unknown_file_metadata ( cx) ;
17791779
1780- let discriminant_type_metadata = |discr : layout :: Primitive | {
1780+ let discriminant_type_metadata = |discr : Primitive | {
17811781 let enumerators_metadata: Vec < _ > = match enum_type. kind {
17821782 ty:: Adt ( def, _) => def
17831783 . discriminants ( cx. tcx )
@@ -1870,27 +1870,20 @@ fn prepare_enum_metadata(
18701870 let layout = cx. layout_of ( enum_type) ;
18711871
18721872 if let (
1873- & layout:: Abi :: Scalar ( _) ,
1874- & layout:: Variants :: Multiple {
1875- discr_kind : layout:: DiscriminantKind :: Tag , ref discr, ..
1876- } ,
1873+ & Abi :: Scalar ( _) ,
1874+ & Variants :: Multiple { discr_kind : DiscriminantKind :: Tag , ref discr, .. } ,
18771875 ) = ( & layout. abi , & layout. variants )
18781876 {
18791877 return FinalMetadata ( discriminant_type_metadata ( discr. value ) ) ;
18801878 }
18811879
18821880 if use_enum_fallback ( cx) {
18831881 let discriminant_type_metadata = match layout. variants {
1884- layout:: Variants :: Single { .. }
1885- | layout:: Variants :: Multiple {
1886- discr_kind : layout:: DiscriminantKind :: Niche { .. } ,
1887- ..
1888- } => None ,
1889- layout:: Variants :: Multiple {
1890- discr_kind : layout:: DiscriminantKind :: Tag ,
1891- ref discr,
1892- ..
1893- } => Some ( discriminant_type_metadata ( discr. value ) ) ,
1882+ Variants :: Single { .. }
1883+ | Variants :: Multiple { discr_kind : DiscriminantKind :: Niche { .. } , .. } => None ,
1884+ Variants :: Multiple { discr_kind : DiscriminantKind :: Tag , ref discr, .. } => {
1885+ Some ( discriminant_type_metadata ( discr. value ) )
1886+ }
18941887 } ;
18951888
18961889 let enum_metadata = {
@@ -1938,10 +1931,10 @@ fn prepare_enum_metadata(
19381931 } ;
19391932 let discriminator_metadata = match layout. variants {
19401933 // A single-variant enum has no discriminant.
1941- layout :: Variants :: Single { .. } => None ,
1934+ Variants :: Single { .. } => None ,
19421935
1943- layout :: Variants :: Multiple {
1944- discr_kind : layout :: DiscriminantKind :: Niche { .. } ,
1936+ Variants :: Multiple {
1937+ discr_kind : DiscriminantKind :: Niche { .. } ,
19451938 ref discr,
19461939 discr_index,
19471940 ..
@@ -1951,10 +1944,10 @@ fn prepare_enum_metadata(
19511944 let align = discr. value . align ( cx) ;
19521945
19531946 let discr_type = match discr. value {
1954- layout :: Int ( t, _) => t,
1955- layout :: F32 => Integer :: I32 ,
1956- layout :: F64 => Integer :: I64 ,
1957- layout :: Pointer => cx. data_layout ( ) . ptr_sized_integer ( ) ,
1947+ Int ( t, _) => t,
1948+ F32 => Integer :: I32 ,
1949+ F64 => Integer :: I64 ,
1950+ Pointer => cx. data_layout ( ) . ptr_sized_integer ( ) ,
19581951 }
19591952 . to_ty ( cx. tcx , false ) ;
19601953
@@ -1976,11 +1969,8 @@ fn prepare_enum_metadata(
19761969 }
19771970 }
19781971
1979- layout:: Variants :: Multiple {
1980- discr_kind : layout:: DiscriminantKind :: Tag ,
1981- ref discr,
1982- discr_index,
1983- ..
1972+ Variants :: Multiple {
1973+ discr_kind : DiscriminantKind :: Tag , ref discr, discr_index, ..
19841974 } => {
19851975 let discr_type = discr. value . to_ty ( cx. tcx ) ;
19861976 let ( size, align) = cx. size_and_align_of ( discr_type) ;
@@ -2005,8 +1995,8 @@ fn prepare_enum_metadata(
20051995 } ;
20061996
20071997 let mut outer_fields = match layout. variants {
2008- layout :: Variants :: Single { .. } => vec ! [ ] ,
2009- layout :: Variants :: Multiple { .. } => {
1998+ Variants :: Single { .. } => vec ! [ ] ,
1999+ Variants :: Multiple { .. } => {
20102000 let tuple_mdf = TupleMemberDescriptionFactory {
20112001 ty : enum_type,
20122002 component_types : outer_field_tys,
0 commit comments