@@ -1063,9 +1063,7 @@ impl<'a> MethodDef<'a> {
10631063 // Packed and not copy. Need to use ref patterns.
10641064 let prefixes: Vec < _ > =
10651065 ( 0 ..selflike_args. len ( ) ) . map ( |i| format ! ( "__self_{}" , i) ) . collect ( ) ;
1066- let addr_of = false ;
1067- let selflike_fields =
1068- trait_. create_struct_pattern_fields ( cx, struct_def, & prefixes, addr_of) ;
1066+ let selflike_fields = trait_. create_struct_pattern_fields ( cx, struct_def, & prefixes) ;
10691067 let mut body = mk_body ( cx, selflike_fields) ;
10701068
10711069 let struct_path = cx. path ( span, vec ! [ Ident :: new( kw:: SelfUpper , type_ident. span) ] ) ;
@@ -1251,9 +1249,7 @@ impl<'a> MethodDef<'a> {
12511249 // A single arm has form (&VariantK, &VariantK, ...) => BodyK
12521250 // (see "Final wrinkle" note below for why.)
12531251
1254- let addr_of = false ; // because enums can't be repr(packed)
1255- let fields =
1256- trait_. create_struct_pattern_fields ( cx, & variant. data , & prefixes, addr_of) ;
1252+ let fields = trait_. create_struct_pattern_fields ( cx, & variant. data , & prefixes) ;
12571253
12581254 let sp = variant. span . with_ctxt ( trait_. span . ctxt ( ) ) ;
12591255 let variant_path = cx. path ( sp, vec ! [ type_ident, variant. ident] ) ;
@@ -1516,15 +1512,13 @@ impl<'a> TraitDef<'a> {
15161512 cx : & mut ExtCtxt < ' _ > ,
15171513 struct_def : & ' a VariantData ,
15181514 prefixes : & [ String ] ,
1519- addr_of : bool ,
15201515 ) -> Vec < FieldInfo > {
15211516 self . create_fields ( struct_def, |i, _struct_field, sp| {
15221517 prefixes
15231518 . iter ( )
15241519 . map ( |prefix| {
15251520 let ident = self . mk_pattern_ident ( prefix, i) ;
1526- let expr = cx. expr_path ( cx. path_ident ( sp, ident) ) ;
1527- if addr_of { cx. expr_addr_of ( sp, expr) } else { expr }
1521+ cx. expr_path ( cx. path_ident ( sp, ident) )
15281522 } )
15291523 . collect ( )
15301524 } )
0 commit comments