diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-12-05 06:45:50 +0100 |
|---|---|---|
| committer | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-12-06 20:37:59 +0100 |
| commit | bbcda98d4107e462aae97d0b2e7c948a0d16f02b (patch) | |
| tree | bfc279693e973fefe640a96c175c8a00bac77a10 /src/librustc_parse/parser | |
| parent | 9630dbbc3caca60f2482e6eae8904aa6bda54f93 (diff) | |
| download | rust-bbcda98d4107e462aae97d0b2e7c948a0d16f02b.tar.gz rust-bbcda98d4107e462aae97d0b2e7c948a0d16f02b.zip | |
cfg_attr: avoid .outer_tokens
Diffstat (limited to 'src/librustc_parse/parser')
| -rw-r--r-- | src/librustc_parse/parser/attr.rs | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/librustc_parse/parser/attr.rs b/src/librustc_parse/parser/attr.rs index b2ae934ce64..b2030a4570e 100644 --- a/src/librustc_parse/parser/attr.rs +++ b/src/librustc_parse/parser/attr.rs @@ -238,22 +238,18 @@ impl<'a> Parser<'a> { /// Parses `cfg_attr(pred, attr_item_list)` where `attr_item_list` is comma-delimited. pub fn parse_cfg_attr(&mut self) -> PResult<'a, (ast::MetaItem, Vec<(ast::AttrItem, Span)>)> { - self.expect(&token::OpenDelim(token::Paren))?; - let cfg_predicate = self.parse_meta_item()?; self.expect(&token::Comma)?; // Presumably, the majority of the time there will only be one attr. let mut expanded_attrs = Vec::with_capacity(1); - - while !self.check(&token::CloseDelim(token::Paren)) { - let lo = self.token.span.lo(); + while self.token.kind != token::Eof { + let lo = self.token.span; let item = self.parse_attr_item()?; - expanded_attrs.push((item, self.prev_span.with_lo(lo))); - self.expect_one_of(&[token::Comma], &[token::CloseDelim(token::Paren)])?; + expanded_attrs.push((item, lo.to(self.prev_span))); + self.eat(&token::Comma); } - self.expect(&token::CloseDelim(token::Paren))?; Ok((cfg_predicate, expanded_attrs)) } |
