Skip to content

Commit

Permalink
Accept trailing comma in cfg_attr
Browse files Browse the repository at this point in the history
  • Loading branch information
petrochenkov authored and pietroalbini committed Oct 2, 2018
1 parent 13fdba0 commit 2280d59
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 @@ -89,6 +89,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 2280d59

Please sign in to comment.