diff options
| author | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2019-06-05 11:00:22 +0300 |
|---|---|---|
| committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2019-06-06 14:04:02 +0300 |
| commit | 4c5d773b4d529c6263f682513ea34ce644a8179b (patch) | |
| tree | 2d207a75d803063e4ee7a87ca55fb68af3bfe088 /src/libsyntax/parse/lexer | |
| parent | 5e693531ffa55cfb0cececdf5d7203a6d400e828 (diff) | |
| download | rust-4c5d773b4d529c6263f682513ea34ce644a8179b.tar.gz rust-4c5d773b4d529c6263f682513ea34ce644a8179b.zip | |
syntax: Remove duplicate span from `token::Lifetime`
Diffstat (limited to 'src/libsyntax/parse/lexer')
| -rw-r--r-- | src/libsyntax/parse/lexer/mod.rs | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/libsyntax/parse/lexer/mod.rs b/src/libsyntax/parse/lexer/mod.rs index 47428c9a14c..da8c6f5ac22 100644 --- a/src/libsyntax/parse/lexer/mod.rs +++ b/src/libsyntax/parse/lexer/mod.rs @@ -1041,13 +1041,6 @@ impl<'a> StringReader<'a> { return Ok(TokenKind::lit(token::Char, symbol, None)); } - // Include the leading `'` in the real identifier, for macro - // expansion purposes. See #12512 for the gory details of why - // this is necessary. - let ident = self.with_str_from(start_with_quote, |lifetime_name| { - self.mk_ident(lifetime_name) - }); - if starts_with_number { // this is a recovered lifetime written `'1`, error but accept it self.err_span_( @@ -1057,7 +1050,10 @@ impl<'a> StringReader<'a> { ); } - return Ok(token::Lifetime(ident)); + // Include the leading `'` in the real identifier, for macro + // expansion purposes. See #12512 for the gory details of why + // this is necessary. + return Ok(token::Lifetime(self.name_from(start_with_quote))); } let msg = "unterminated character literal"; let symbol = self.scan_single_quoted_string(start_with_quote, msg); @@ -1690,7 +1686,7 @@ mod tests { let sm = Lrc::new(SourceMap::new(FilePathMapping::empty())); let sh = mk_sess(sm.clone()); assert_eq!(setup(&sm, &sh, "'abc".to_string()).next_token(), - token::Lifetime(Ident::from_str("'abc"))); + token::Lifetime(Symbol::intern("'abc"))); }) } |
