@@ -133,12 +133,12 @@ impl<'a, 'tcx> MarkSymbolVisitor<'a, 'tcx> {
133133 }
134134 }
135135
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 ) {
137137 match ty:: expr_ty_adjusted ( self . tcx , lhs) . sty {
138138 ty:: ty_struct( id, _) => {
139139 let fields = ty:: lookup_struct_fields ( self . tcx , id) ;
140140 let field_id = fields. iter ( )
141- . find ( |field| field. name == name. name ) . unwrap ( ) . id ;
141+ . find ( |field| field. name == name) . unwrap ( ) . id ;
142142 self . live_symbols . insert ( field_id. node ) ;
143143 } ,
144144 _ => ( )
@@ -267,7 +267,7 @@ impl<'a, 'tcx, 'v> Visitor<'v> for MarkSymbolVisitor<'a, 'tcx> {
267267 self . lookup_and_handle_method ( expr. id , expr. span ) ;
268268 }
269269 ast:: ExprField ( ref lhs, ref ident) => {
270- self . handle_field_access ( & * * lhs, & ident. node ) ;
270+ self . handle_field_access ( & * * lhs, ident. node . name ) ;
271271 }
272272 ast:: ExprTupField ( ref lhs, idx) => {
273273 self . handle_tup_field_access ( & * * lhs, idx. node ) ;
@@ -511,9 +511,9 @@ impl<'a, 'tcx> DeadVisitor<'a, 'tcx> {
511511 fn warn_dead_code ( & mut self ,
512512 id : ast:: NodeId ,
513513 span : codemap:: Span ,
514- ident : ast:: Ident ,
514+ name : ast:: Name ,
515515 node_type : & str ) {
516- let name = ident . as_str ( ) ;
516+ let name = name . as_str ( ) ;
517517 if !name. starts_with ( "_" ) {
518518 self . tcx
519519 . sess
@@ -528,14 +528,19 @@ impl<'a, 'tcx> DeadVisitor<'a, 'tcx> {
528528impl < ' a , ' tcx , ' v > Visitor < ' v > for DeadVisitor < ' a , ' tcx > {
529529 fn visit_item ( & mut self , item : & ast:: Item ) {
530530 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+ ) ;
532537 } else {
533538 match item. node {
534539 ast:: ItemEnum ( ref enum_def, _) => {
535540 for variant in & enum_def. variants {
536541 if self . should_warn_about_variant ( & variant. node ) {
537542 self . warn_dead_code ( variant. node . id , variant. span ,
538- variant. node . name , "variant" ) ;
543+ variant. node . name . name , "variant" ) ;
539544 }
540545 }
541546 } ,
@@ -547,7 +552,7 @@ impl<'a, 'tcx, 'v> Visitor<'v> for DeadVisitor<'a, 'tcx> {
547552
548553 fn visit_foreign_item ( & mut self , fi : & ast:: ForeignItem ) {
549554 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 ( ) ) ;
551556 }
552557 visit:: walk_foreign_item ( self , fi) ;
553558 }
@@ -559,7 +564,7 @@ impl<'a, 'tcx, 'v> Visitor<'v> for DeadVisitor<'a, 'tcx> {
559564 match fk {
560565 visit:: FkMethod ( name, _) => {
561566 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" ) ;
563568 }
564569 }
565570 _ => ( )
@@ -570,7 +575,7 @@ impl<'a, 'tcx, 'v> Visitor<'v> for DeadVisitor<'a, 'tcx> {
570575 fn visit_struct_field ( & mut self , field : & ast:: StructField ) {
571576 if self . should_warn_about_field ( & field. node ) {
572577 self . warn_dead_code ( field. node . id , field. span ,
573- field. node . ident ( ) . unwrap ( ) , "struct field" ) ;
578+ field. node . ident ( ) . unwrap ( ) . name , "struct field" ) ;
574579 }
575580
576581 visit:: walk_struct_field ( self , field) ;
0 commit comments