@@ -1063,9 +1063,7 @@ impl<'a> MethodDef<'a> {
1063
1063
// Packed and not copy. Need to use ref patterns.
1064
1064
let prefixes: Vec < _ > =
1065
1065
( 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) ;
1069
1067
let mut body = mk_body ( cx, selflike_fields) ;
1070
1068
1071
1069
let struct_path = cx. path ( span, vec ! [ Ident :: new( kw:: SelfUpper , type_ident. span) ] ) ;
@@ -1251,9 +1249,7 @@ impl<'a> MethodDef<'a> {
1251
1249
// A single arm has form (&VariantK, &VariantK, ...) => BodyK
1252
1250
// (see "Final wrinkle" note below for why.)
1253
1251
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) ;
1257
1253
1258
1254
let sp = variant. span . with_ctxt ( trait_. span . ctxt ( ) ) ;
1259
1255
let variant_path = cx. path ( sp, vec ! [ type_ident, variant. ident] ) ;
@@ -1516,15 +1512,13 @@ impl<'a> TraitDef<'a> {
1516
1512
cx : & mut ExtCtxt < ' _ > ,
1517
1513
struct_def : & ' a VariantData ,
1518
1514
prefixes : & [ String ] ,
1519
- addr_of : bool ,
1520
1515
) -> Vec < FieldInfo > {
1521
1516
self . create_fields ( struct_def, |i, _struct_field, sp| {
1522
1517
prefixes
1523
1518
. iter ( )
1524
1519
. map ( |prefix| {
1525
1520
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) )
1528
1522
} )
1529
1523
. collect ( )
1530
1524
} )
0 commit comments