diff options
| author | Masaki Hara <ackie.h.gmai@gmail.com> | 2017-05-31 23:22:33 +0900 |
|---|---|---|
| committer | Masaki Hara <ackie.h.gmai@gmail.com> | 2017-05-31 23:22:33 +0900 |
| commit | b670930933fd8af2316364d4e15e6a22983cf78d (patch) | |
| tree | 763aba314b92b6bf0f688d51d3ca9da8d36fa04d /src/libsyntax/parse | |
| parent | 54edfee71a7d2a8f710c578be75c0537a430eaaf (diff) | |
| download | rust-b670930933fd8af2316364d4e15e6a22983cf78d.tar.gz rust-b670930933fd8af2316364d4e15e6a22983cf78d.zip | |
Emit proper expectation for the "default" keyword.
Diffstat (limited to 'src/libsyntax/parse')
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 63fe33b8754..936a2e8b2e1 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -3749,6 +3749,16 @@ impl<'a> Parser<'a> { 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) -> PResult<'a, Option<P<Item>>> { let lo = self.span; @@ -5223,8 +5233,7 @@ impl<'a> Parser<'a> { /// Parse defaultness: DEFAULT or nothing fn parse_defaultness(&mut self) -> PResult<'a, Defaultness> { - if self.is_defaultness() { - self.bump(); + if self.eat_defaultness() { Ok(Defaultness::Default) } else { Ok(Defaultness::Final) |
