diff options
| author | Matt Peterson <ricochet1k@gmail.com> | 2017-12-20 17:22:37 -0500 |
|---|---|---|
| committer | Matt Peterson <ricochet1k@gmail.com> | 2017-12-28 11:32:05 -0500 |
| commit | ce76b1a1f396dd27e8c73bd59333aef42308920b (patch) | |
| tree | 7f33f9c1e8a23d09c77b3027f0357eb318a36225 /src/libsyntax/parse/parser.rs | |
| parent | 0e53360af69bf9e71ef39e570655d73fc44339b9 (diff) | |
| download | rust-ce76b1a1f396dd27e8c73bd59333aef42308920b.tar.gz rust-ce76b1a1f396dd27e8c73bd59333aef42308920b.zip | |
Fix tests
Diffstat (limited to 'src/libsyntax/parse/parser.rs')
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 29f0e2a0fee..8aa03e007e4 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -1295,6 +1295,10 @@ impl<'a> Parser<'a> { fn get_label(&mut self) -> ast::Ident { match self.token { token::Lifetime(ref ident) => *ident, + token::Interpolated(ref nt) => match nt.0 { + token::NtLifetime(lifetime) => lifetime.ident, + _ => self.bug("not a lifetime"), + }, _ => self.bug("not a lifetime"), } } @@ -2032,14 +2036,20 @@ impl<'a> Parser<'a> { /// Parse single lifetime 'a or panic. pub fn expect_lifetime(&mut self) -> Lifetime { - match self.token { - token::Lifetime(ident) => { - let ident_span = self.span; - self.bump(); - Lifetime { ident: ident, span: ident_span, id: ast::DUMMY_NODE_ID } + let lifetime = match self.token { + token::Lifetime(ident) => + Lifetime { ident: ident, span: self.span, id: ast::DUMMY_NODE_ID }, + token::Interpolated(ref nt) => match nt.0 { + token::NtLifetime(lifetime) => + lifetime, + //Lifetime { ident: lifetime.ident, span: lifetime.span, id: ast::DUMMY_NODE_ID }, + _ => self.span_bug(self.span, &format!("not a lifetime: {:?}", self.token)) } - _ => self.span_bug(self.span, "not a lifetime") - } + _ => self.span_bug(self.span, &format!("not a lifetime: {:?}", self.token)) + }; + + self.bump(); + lifetime } /// Parse mutability (`mut` or nothing). |
