Skip to content

Commit ddcfb15

Browse files
committed
rollup merge of #21223: P1start/expected-token-improvements
Fixes #21153.
2 parents eaf4c5c + 597b4fa commit ddcfb15

20 files changed

+100
-77
lines changed

src/libsyntax/parse/attr.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use ast;
1313
use codemap::{spanned, Spanned, mk_sp, Span};
1414
use parse::common::*; //resolve bug?
1515
use parse::token;
16-
use parse::parser::Parser;
16+
use parse::parser::{Parser, TokenType};
1717
use ptr::P;
1818

1919
/// A parser that can parse attributes.
@@ -69,7 +69,9 @@ impl<'a> ParserAttr for Parser<'a> {
6969
let lo = self.span.lo;
7070
self.bump();
7171

72-
let style = if self.eat(&token::Not) {
72+
if permit_inner { self.expected_tokens.push(TokenType::Token(token::Not)); }
73+
let style = if self.token == token::Not {
74+
self.bump();
7375
if !permit_inner {
7476
let span = self.span;
7577
self.span_err(span,
@@ -96,7 +98,8 @@ impl<'a> ParserAttr for Parser<'a> {
9698
}
9799
};
98100

99-
if permit_inner && self.eat(&token::Semi) {
101+
if permit_inner && self.token == token::Semi {
102+
self.bump();
100103
self.span_warn(span, "this inner attribute syntax is deprecated. \
101104
The new syntax is `#![foo]`, with a bang and no semicolon");
102105
style = ast::AttrInner;

0 commit comments

Comments
 (0)