@@ -909,7 +909,7 @@ impl<'a> LoweringContext<'a> {
909909
910910 fn lower_ident ( & mut self , ident : Ident ) -> Name {
911911 let ident = ident. modern ( ) ;
912- if ident. ctxt == SyntaxContext :: empty ( ) {
912+ if ident. span . ctxt ( ) == SyntaxContext :: empty ( ) {
913913 return ident. name ;
914914 }
915915 * self . name_map
@@ -920,7 +920,7 @@ impl<'a> LoweringContext<'a> {
920920 fn lower_label ( & mut self , label : Option < Label > ) -> Option < hir:: Label > {
921921 label. map ( |label| hir:: Label {
922922 name : label. ident . name ,
923- span : label. span ,
923+ span : label. ident . span ,
924924 } )
925925 }
926926
@@ -1358,7 +1358,7 @@ impl<'a> LoweringContext<'a> {
13581358 fn lower_variant ( & mut self , v : & Variant ) -> hir:: Variant {
13591359 Spanned {
13601360 node : hir:: Variant_ {
1361- name : v. node . name . name ,
1361+ name : v. node . ident . name ,
13621362 attrs : self . lower_attrs ( & v. node . attrs ) ,
13631363 data : self . lower_variant_data ( & v. node . data ) ,
13641364 disr_expr : v. node
@@ -1607,7 +1607,7 @@ impl<'a> LoweringContext<'a> {
16071607 }
16081608
16091609 hir:: PathSegment :: new (
1610- self . lower_ident ( segment. identifier ) ,
1610+ self . lower_ident ( segment. ident ) ,
16111611 parameters,
16121612 infer_types,
16131613 )
@@ -1720,7 +1720,7 @@ impl<'a> LoweringContext<'a> {
17201720 decl. inputs
17211721 . iter ( )
17221722 . map ( |arg| match arg. pat . node {
1723- PatKind :: Ident ( _, ident, None ) => respan ( ident. span , ident. node . name ) ,
1723+ PatKind :: Ident ( _, ident, None ) => respan ( ident. span , ident. name ) ,
17241724 _ => respan ( arg. pat . span , keywords:: Invalid . name ( ) ) ,
17251725 } )
17261726 . collect ( )
@@ -1810,7 +1810,7 @@ impl<'a> LoweringContext<'a> {
18101810 default : tp. default
18111811 . as_ref ( )
18121812 . map ( |x| self . lower_ty ( x, ImplTraitContext :: Disallowed ) ) ,
1813- span : tp. span ,
1813+ span : tp. ident . span ,
18141814 pure_wrt_drop : attr:: contains_name ( & tp. attrs , "may_dangle" ) ,
18151815 synthetic : tp. attrs
18161816 . iter ( )
@@ -1822,21 +1822,22 @@ impl<'a> LoweringContext<'a> {
18221822 }
18231823
18241824 fn lower_lifetime ( & mut self , l : & Lifetime ) -> hir:: Lifetime {
1825+ let span = l. ident . span ;
18251826 match self . lower_ident ( l. ident ) {
1826- x if x == "'static" => self . new_named_lifetime ( l. id , l . span , hir:: LifetimeName :: Static ) ,
1827+ x if x == "'static" => self . new_named_lifetime ( l. id , span, hir:: LifetimeName :: Static ) ,
18271828 x if x == "'_" => match self . anonymous_lifetime_mode {
18281829 AnonymousLifetimeMode :: CreateParameter => {
1829- let fresh_name = self . collect_fresh_in_band_lifetime ( l . span ) ;
1830- self . new_named_lifetime ( l. id , l . span , fresh_name)
1830+ let fresh_name = self . collect_fresh_in_band_lifetime ( span) ;
1831+ self . new_named_lifetime ( l. id , span, fresh_name)
18311832 }
18321833
18331834 AnonymousLifetimeMode :: PassThrough => {
1834- self . new_named_lifetime ( l. id , l . span , hir:: LifetimeName :: Underscore )
1835+ self . new_named_lifetime ( l. id , span, hir:: LifetimeName :: Underscore )
18351836 }
18361837 } ,
18371838 name => {
1838- self . maybe_collect_in_band_lifetime ( l . span , name) ;
1839- self . new_named_lifetime ( l. id , l . span , hir:: LifetimeName :: Name ( name) )
1839+ self . maybe_collect_in_band_lifetime ( span, name) ;
1840+ self . new_named_lifetime ( l. id , span, hir:: LifetimeName :: Name ( name) )
18401841 }
18411842 }
18421843 }
@@ -2089,10 +2090,7 @@ impl<'a> LoweringContext<'a> {
20892090 name : self . lower_ident ( match f. ident {
20902091 Some ( ident) => ident,
20912092 // FIXME(jseyfried) positional field hygiene
2092- None => Ident {
2093- name : Symbol :: intern ( & index. to_string ( ) ) ,
2094- ctxt : f. span . ctxt ( ) ,
2095- } ,
2093+ None => Ident :: new ( Symbol :: intern ( & index. to_string ( ) ) , f. span ) ,
20962094 } ) ,
20972095 vis : self . lower_visibility ( & f. vis , None ) ,
20982096 ty : self . lower_ty ( & f. ty , ImplTraitContext :: Disallowed ) ,
@@ -2102,7 +2100,7 @@ impl<'a> LoweringContext<'a> {
21022100
21032101 fn lower_field ( & mut self , f : & Field ) -> hir:: Field {
21042102 hir:: Field {
2105- name : respan ( f. ident . span , self . lower_ident ( f. ident . node ) ) ,
2103+ name : respan ( f. ident . span , self . lower_ident ( f. ident ) ) ,
21062104 expr : P ( self . lower_expr ( & f. expr ) ) ,
21072105 span : f. span ,
21082106 is_shorthand : f. is_shorthand ,
@@ -2359,11 +2357,11 @@ impl<'a> LoweringContext<'a> {
23592357
23602358 // Correctly resolve `self` imports
23612359 if path. segments . len ( ) > 1
2362- && path. segments . last ( ) . unwrap ( ) . identifier . name == keywords:: SelfValue . name ( )
2360+ && path. segments . last ( ) . unwrap ( ) . ident . name == keywords:: SelfValue . name ( )
23632361 {
23642362 let _ = path. segments . pop ( ) ;
23652363 if rename. is_none ( ) {
2366- * name = path. segments . last ( ) . unwrap ( ) . identifier . name ;
2364+ * name = path. segments . last ( ) . unwrap ( ) . ident . name ;
23672365 }
23682366 }
23692367
@@ -2804,7 +2802,7 @@ impl<'a> LoweringContext<'a> {
28042802 fn lower_pat ( & mut self , p : & Pat ) -> P < hir:: Pat > {
28052803 let node = match p. node {
28062804 PatKind :: Wild => hir:: PatKind :: Wild ,
2807- PatKind :: Ident ( ref binding_mode, pth1 , ref sub) => {
2805+ PatKind :: Ident ( ref binding_mode, ident , ref sub) => {
28082806 match self . resolver . get_resolution ( p. id ) . map ( |d| d. base_def ( ) ) {
28092807 // `None` can occur in body-less function signatures
28102808 def @ None | def @ Some ( Def :: Local ( _) ) => {
@@ -2815,16 +2813,16 @@ impl<'a> LoweringContext<'a> {
28152813 hir:: PatKind :: Binding (
28162814 self . lower_binding_mode ( binding_mode) ,
28172815 canonical_id,
2818- respan ( pth1 . span , pth1 . node . name ) ,
2816+ respan ( ident . span , ident . name ) ,
28192817 sub. as_ref ( ) . map ( |x| self . lower_pat ( x) ) ,
28202818 )
28212819 }
28222820 Some ( def) => hir:: PatKind :: Path ( hir:: QPath :: Resolved (
28232821 None ,
28242822 P ( hir:: Path {
2825- span : pth1 . span ,
2823+ span : ident . span ,
28262824 def,
2827- segments : hir_vec ! [ hir:: PathSegment :: from_name( pth1 . node . name) ] ,
2825+ segments : hir_vec ! [ hir:: PathSegment :: from_name( ident . name) ] ,
28282826 } ) ,
28292827 ) ) ,
28302828 }
@@ -2939,7 +2937,7 @@ impl<'a> LoweringContext<'a> {
29392937 ImplTraitContext :: Disallowed ,
29402938 ) ;
29412939 let args = args. iter ( ) . map ( |x| self . lower_expr ( x) ) . collect ( ) ;
2942- hir:: ExprMethodCall ( hir_seg, seg. span , args)
2940+ hir:: ExprMethodCall ( hir_seg, seg. ident . span , args)
29432941 }
29442942 ExprKind :: Binary ( binop, ref lhs, ref rhs) => {
29452943 let binop = self . lower_binop ( binop) ;
@@ -3074,7 +3072,7 @@ impl<'a> LoweringContext<'a> {
30743072 ) ,
30753073 ExprKind :: Field ( ref el, ident) => hir:: ExprField (
30763074 P ( self . lower_expr ( el) ) ,
3077- respan ( ident. span , self . lower_ident ( ident. node ) ) ,
3075+ respan ( ident. span , self . lower_ident ( ident) ) ,
30783076 ) ,
30793077 ExprKind :: TupField ( ref el, ident) => hir:: ExprTupField ( P ( self . lower_expr ( el) ) , ident) ,
30803078 ExprKind :: Index ( ref el, ref er) => {
@@ -3505,12 +3503,10 @@ impl<'a> LoweringContext<'a> {
35053503 let attr = {
35063504 // allow(unreachable_code)
35073505 let allow = {
3508- let allow_ident = self . str_to_ident ( "allow" ) ;
3509- let uc_ident = self . str_to_ident ( "unreachable_code" ) ;
3510- let uc_meta_item = attr:: mk_spanned_word_item ( e. span , uc_ident) ;
3511- let uc_nested = NestedMetaItemKind :: MetaItem ( uc_meta_item) ;
3512- let uc_spanned = respan ( e. span , uc_nested) ;
3513- attr:: mk_spanned_list_item ( e. span , allow_ident, vec ! [ uc_spanned] )
3506+ let allow_ident = Ident :: from_str ( "allow" ) . with_span_pos ( e. span ) ;
3507+ let uc_ident = Ident :: from_str ( "unreachable_code" ) . with_span_pos ( e. span ) ;
3508+ let uc_nested = attr:: mk_nested_word_item ( uc_ident) ;
3509+ attr:: mk_list_item ( e. span , allow_ident, vec ! [ uc_nested] )
35143510 } ;
35153511 attr:: mk_spanned_attr_outer ( e. span , attr:: mk_attr_id ( ) , allow)
35163512 } ;
0 commit comments