Emit proper expectation for the "default" keyword.
This commit is contained in:
parent
54edfee71a
commit
b670930933
@ -3749,6 +3749,16 @@ impl<'a> Parser<'a> {
|
|||||||
t.is_keyword(keywords::Pub))
|
t.is_keyword(keywords::Pub))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn eat_defaultness(&mut self) -> bool {
|
||||||
|
let is_defaultness = self.is_defaultness();
|
||||||
|
if is_defaultness {
|
||||||
|
self.bump()
|
||||||
|
} else {
|
||||||
|
self.expected_tokens.push(TokenType::Keyword(keywords::Default));
|
||||||
|
}
|
||||||
|
is_defaultness
|
||||||
|
}
|
||||||
|
|
||||||
fn eat_macro_def(&mut self, attrs: &[Attribute], vis: &Visibility)
|
fn eat_macro_def(&mut self, attrs: &[Attribute], vis: &Visibility)
|
||||||
-> PResult<'a, Option<P<Item>>> {
|
-> PResult<'a, Option<P<Item>>> {
|
||||||
let lo = self.span;
|
let lo = self.span;
|
||||||
@ -5223,8 +5233,7 @@ impl<'a> Parser<'a> {
|
|||||||
|
|
||||||
/// Parse defaultness: DEFAULT or nothing
|
/// Parse defaultness: DEFAULT or nothing
|
||||||
fn parse_defaultness(&mut self) -> PResult<'a, Defaultness> {
|
fn parse_defaultness(&mut self) -> PResult<'a, Defaultness> {
|
||||||
if self.is_defaultness() {
|
if self.eat_defaultness() {
|
||||||
self.bump();
|
|
||||||
Ok(Defaultness::Default)
|
Ok(Defaultness::Default)
|
||||||
} else {
|
} else {
|
||||||
Ok(Defaultness::Final)
|
Ok(Defaultness::Final)
|
||||||
|
Loading…
Reference in New Issue
Block a user