diff options
| author | Aaron Hill <aa1ronham@gmail.com> | 2020-11-25 16:52:24 -0500 |
|---|---|---|
| committer | Aaron Hill <aa1ronham@gmail.com> | 2020-11-26 17:08:35 -0500 |
| commit | 758834d3e2b2589f73b62df386780c8096ed7ae1 (patch) | |
| tree | 6842676a02f7c1a941aa9c6df3be0ea697b42be3 /src | |
| parent | de88bf148b122b27ce48a4a6679c41c834d33019 (diff) | |
| download | rust-758834d3e2b2589f73b62df386780c8096ed7ae1.tar.gz rust-758834d3e2b2589f73b62df386780c8096ed7ae1.zip | |
Only eat semicolons for statements that need them
When parsing a statement (e.g. inside a function body),
we now consider `struct Foo {};` and `$stmt;` to each consist
of two statements: `struct Foo {}` and `;`, and `$stmt` and `;`.
As a result, an attribute macro invoke as
`fn foo() { #[attr] struct Bar{}; }` will see `struct Bar{}` as its
input. Additionally, the 'unused semicolon' lint now fires in more
places.
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/ui/proc-macro/allowed-attr-stmt-expr.stdout | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/src/test/ui/proc-macro/allowed-attr-stmt-expr.stdout b/src/test/ui/proc-macro/allowed-attr-stmt-expr.stdout index 189d2383b7b..0b9ce8cdfdb 100644 --- a/src/test/ui/proc-macro/allowed-attr-stmt-expr.stdout +++ b/src/test/ui/proc-macro/allowed-attr-stmt-expr.stdout @@ -261,7 +261,7 @@ PRINT-ATTR INPUT (DEBUG): TokenStream [ span: $DIR/allowed-attr-stmt-expr.rs:53:54: 53:56 (#0), }, ] -PRINT-ATTR INPUT (DISPLAY): #[rustc_dummy] struct Other { } ; +PRINT-ATTR INPUT (DISPLAY): #[rustc_dummy] struct Other { } PRINT-ATTR INPUT (DEBUG): TokenStream [ Punct { ch: '#', @@ -291,9 +291,4 @@ PRINT-ATTR INPUT (DEBUG): TokenStream [ stream: TokenStream [], span: $DIR/allowed-attr-stmt-expr.rs:57:18: 57:20 (#0), }, - Punct { - ch: ';', - spacing: Alone, - span: $DIR/allowed-attr-stmt-expr.rs:57:20: 57:21 (#0), - }, ] |
