@@ -1295,6 +1295,10 @@ impl<'a> Parser<'a> {
12951295 fn get_label ( & mut self ) -> ast:: Ident {
12961296 match self . token {
12971297 token:: Lifetime ( ref ident) => * ident,
1298+ token:: Interpolated ( ref nt) => match nt. 0 {
1299+ token:: NtLifetime ( lifetime) => lifetime. ident ,
1300+ _ => self . bug ( "not a lifetime" ) ,
1301+ } ,
12981302 _ => self . bug ( "not a lifetime" ) ,
12991303 }
13001304 }
@@ -2032,14 +2036,20 @@ impl<'a> Parser<'a> {
20322036
20332037 /// Parse single lifetime 'a or panic.
20342038 pub fn expect_lifetime ( & mut self ) -> Lifetime {
2035- match self . token {
2036- token:: Lifetime ( ident) => {
2037- let ident_span = self . span ;
2038- self . bump ( ) ;
2039- Lifetime { ident : ident, span : ident_span, id : ast:: DUMMY_NODE_ID }
2039+ let lifetime = match self . token {
2040+ token:: Lifetime ( ident) =>
2041+ Lifetime { ident : ident, span : self . span , id : ast:: DUMMY_NODE_ID } ,
2042+ token:: Interpolated ( ref nt) => match nt. 0 {
2043+ token:: NtLifetime ( lifetime) =>
2044+ lifetime,
2045+ //Lifetime { ident: lifetime.ident, span: lifetime.span, id: ast::DUMMY_NODE_ID },
2046+ _ => self . span_bug ( self . span , & format ! ( "not a lifetime: {:?}" , self . token) )
20402047 }
2041- _ => self . span_bug ( self . span , "not a lifetime" )
2042- }
2048+ _ => self . span_bug ( self . span , & format ! ( "not a lifetime: {:?}" , self . token) )
2049+ } ;
2050+
2051+ self . bump ( ) ;
2052+ lifetime
20432053 }
20442054
20452055 /// Parse mutability (`mut` or nothing).
0 commit comments