Skip to content

Commit

Permalink
Rollup merge of rust-lang#54581 - petrochenkov:cfgattr, r=alexcrichton
Browse files Browse the repository at this point in the history
Accept trailing comma in `cfg_attr`

Fixes rust-lang#54463 (stable-to-beta regression)
  • Loading branch information
kennytm authored Sep 27, 2018
2 parents b09408e + 2b3e16b commit 5303b59
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/libsyntax/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ impl<'a> StripUnconfigured<'a> {
parser.expect(&token::Comma)?;
let lo = parser.span.lo();
let (path, tokens) = parser.parse_meta_item_unrestricted()?;
parser.eat(&token::Comma); // Optional trailing comma
parser.expect(&token::CloseDelim(token::Paren))?;
Ok((cfg, path, tokens, parser.prev_span.with_lo(lo)))
}) {
Expand Down
13 changes: 13 additions & 0 deletions src/test/ui/cfg-attr-trailing-comma.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// compile-flags: --cfg TRUE

#[cfg_attr(TRUE, inline,)] // OK
fn f() {}

#[cfg_attr(FALSE, inline,)] // OK
fn g() {}

#[cfg_attr(TRUE, inline,,)] //~ ERROR expected `)`, found `,`
fn h() {}

#[cfg_attr(FALSE, inline,,)] //~ ERROR expected `)`, found `,`
fn i() {}
14 changes: 14 additions & 0 deletions src/test/ui/cfg-attr-trailing-comma.stderr
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
error: expected `)`, found `,`
--> $DIR/cfg-attr-trailing-comma.rs:9:25
|
LL | #[cfg_attr(TRUE, inline,,)] //~ ERROR expected `)`, found `,`
| ^ expected `)`

error: expected `)`, found `,`
--> $DIR/cfg-attr-trailing-comma.rs:12:26
|
LL | #[cfg_attr(FALSE, inline,,)] //~ ERROR expected `)`, found `,`
| ^ expected `)`

error: aborting due to 2 previous errors

0 comments on commit 5303b59

Please sign in to comment.