@@ -133,12 +133,12 @@ impl<'a, 'tcx> MarkSymbolVisitor<'a, 'tcx> {
133
133
}
134
134
}
135
135
136
- fn handle_field_access ( & mut self , lhs : & ast:: Expr , name : & ast:: Ident ) {
136
+ fn handle_field_access ( & mut self , lhs : & ast:: Expr , name : ast:: Name ) {
137
137
match ty:: expr_ty_adjusted ( self . tcx , lhs) . sty {
138
138
ty:: ty_struct( id, _) => {
139
139
let fields = ty:: lookup_struct_fields ( self . tcx , id) ;
140
140
let field_id = fields. iter ( )
141
- . find ( |field| field. name == name. name ) . unwrap ( ) . id ;
141
+ . find ( |field| field. name == name) . unwrap ( ) . id ;
142
142
self . live_symbols . insert ( field_id. node ) ;
143
143
} ,
144
144
_ => ( )
@@ -267,7 +267,7 @@ impl<'a, 'tcx, 'v> Visitor<'v> for MarkSymbolVisitor<'a, 'tcx> {
267
267
self . lookup_and_handle_method ( expr. id , expr. span ) ;
268
268
}
269
269
ast:: ExprField ( ref lhs, ref ident) => {
270
- self . handle_field_access ( & * * lhs, & ident. node ) ;
270
+ self . handle_field_access ( & * * lhs, ident. node . name ) ;
271
271
}
272
272
ast:: ExprTupField ( ref lhs, idx) => {
273
273
self . handle_tup_field_access ( & * * lhs, idx. node ) ;
@@ -511,9 +511,9 @@ impl<'a, 'tcx> DeadVisitor<'a, 'tcx> {
511
511
fn warn_dead_code ( & mut self ,
512
512
id : ast:: NodeId ,
513
513
span : codemap:: Span ,
514
- ident : ast:: Ident ,
514
+ name : ast:: Name ,
515
515
node_type : & str ) {
516
- let name = ident . as_str ( ) ;
516
+ let name = name . as_str ( ) ;
517
517
if !name. starts_with ( "_" ) {
518
518
self . tcx
519
519
. sess
@@ -528,14 +528,19 @@ impl<'a, 'tcx> DeadVisitor<'a, 'tcx> {
528
528
impl < ' a , ' tcx , ' v > Visitor < ' v > for DeadVisitor < ' a , ' tcx > {
529
529
fn visit_item ( & mut self , item : & ast:: Item ) {
530
530
if self . should_warn_about_item ( item) {
531
- self . warn_dead_code ( item. id , item. span , item. ident , item. node . descriptive_variant ( ) ) ;
531
+ self . warn_dead_code (
532
+ item. id ,
533
+ item. span ,
534
+ item. ident . name ,
535
+ item. node . descriptive_variant ( )
536
+ ) ;
532
537
} else {
533
538
match item. node {
534
539
ast:: ItemEnum ( ref enum_def, _) => {
535
540
for variant in & enum_def. variants {
536
541
if self . should_warn_about_variant ( & variant. node ) {
537
542
self . warn_dead_code ( variant. node . id , variant. span ,
538
- variant. node . name , "variant" ) ;
543
+ variant. node . name . name , "variant" ) ;
539
544
}
540
545
}
541
546
} ,
@@ -547,7 +552,7 @@ impl<'a, 'tcx, 'v> Visitor<'v> for DeadVisitor<'a, 'tcx> {
547
552
548
553
fn visit_foreign_item ( & mut self , fi : & ast:: ForeignItem ) {
549
554
if !self . symbol_is_live ( fi. id , None ) {
550
- self . warn_dead_code ( fi. id , fi. span , fi. ident , fi. node . descriptive_variant ( ) ) ;
555
+ self . warn_dead_code ( fi. id , fi. span , fi. ident . name , fi. node . descriptive_variant ( ) ) ;
551
556
}
552
557
visit:: walk_foreign_item ( self , fi) ;
553
558
}
@@ -559,7 +564,7 @@ impl<'a, 'tcx, 'v> Visitor<'v> for DeadVisitor<'a, 'tcx> {
559
564
match fk {
560
565
visit:: FkMethod ( name, _) => {
561
566
if !self . symbol_is_live ( id, None ) {
562
- self . warn_dead_code ( id, span, name, "method" ) ;
567
+ self . warn_dead_code ( id, span, name. name , "method" ) ;
563
568
}
564
569
}
565
570
_ => ( )
@@ -570,7 +575,7 @@ impl<'a, 'tcx, 'v> Visitor<'v> for DeadVisitor<'a, 'tcx> {
570
575
fn visit_struct_field ( & mut self , field : & ast:: StructField ) {
571
576
if self . should_warn_about_field ( & field. node ) {
572
577
self . warn_dead_code ( field. node . id , field. span ,
573
- field. node . ident ( ) . unwrap ( ) , "struct field" ) ;
578
+ field. node . ident ( ) . unwrap ( ) . name , "struct field" ) ;
574
579
}
575
580
576
581
visit:: walk_struct_field ( self , field) ;
0 commit comments