diff options
| author | kennytm <kennytm@gmail.com> | 2018-10-26 18:25:03 +0800 |
|---|---|---|
| committer | kennytm <kennytm@gmail.com> | 2018-10-26 23:06:28 +0800 |
| commit | c6cd57dd860efbe0cb7506dfad93462bcb520d74 (patch) | |
| tree | 3f744ab35258bbdd04afe712247a31e20cd6b521 /src/test | |
| parent | 9111fab74df4e0f6f2b8bfb5936f3772ba59a960 (diff) | |
| parent | f8818cbf8fc30ac626b2a0a306736c1293257209 (diff) | |
| download | rust-c6cd57dd860efbe0cb7506dfad93462bcb520d74.tar.gz rust-c6cd57dd860efbe0cb7506dfad93462bcb520d74.zip | |
Rollup merge of #55292 - estebank:macro-eof, r=pnkfelix
Macro diagnostics tweaks Fix #30128, fix #10951 by adding an appropriate span to the diagnostic. Fix #26288 by suggesting adding semicolon to macro call.
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/issues/issue-30007.stderr | 9 | ||||
| -rw-r--r-- | src/test/ui/macros/macro-context.stderr | 27 | ||||
| -rw-r--r-- | src/test/ui/macros/macro-in-expression-context-2.rs | 7 | ||||
| -rw-r--r-- | src/test/ui/macros/macro-in-expression-context-2.stderr | 8 | ||||
| -rw-r--r-- | src/test/ui/macros/macro-in-expression-context.fixed | 15 | ||||
| -rw-r--r-- | src/test/ui/macros/macro-in-expression-context.rs | 15 | ||||
| -rw-r--r-- | src/test/ui/macros/macro-in-expression-context.stderr | 15 | ||||
| -rw-r--r-- | src/test/ui/parser/macro/macro-incomplete-parse.stderr | 18 |
8 files changed, 84 insertions, 30 deletions
diff --git a/src/test/ui/issues/issue-30007.stderr b/src/test/ui/issues/issue-30007.stderr index a467ff6dd0a..028ed048d65 100644 --- a/src/test/ui/issues/issue-30007.stderr +++ b/src/test/ui/issues/issue-30007.stderr @@ -3,12 +3,11 @@ error: macro expansion ignores token `;` and any following | LL | () => ( String ; ); //~ ERROR macro expansion ignores token `;` | ^ - | -note: caused by the macro expansion here; the usage of `t!` is likely invalid in type context - --> $DIR/issue-30007.rs:16:16 - | +... LL | let i: Vec<t!()>; - | ^^^^ + | ---- caused by the macro expansion here + | + = note: the usage of `t!` is likely invalid in type context error: aborting due to previous error diff --git a/src/test/ui/macros/macro-context.stderr b/src/test/ui/macros/macro-context.stderr index b3e67fb2607..005e1d1c8e7 100644 --- a/src/test/ui/macros/macro-context.stderr +++ b/src/test/ui/macros/macro-context.stderr @@ -3,36 +3,33 @@ error: macro expansion ignores token `;` and any following | LL | () => ( i ; typeof ); //~ ERROR expected expression, found reserved keyword `typeof` | ^ - | -note: caused by the macro expansion here; the usage of `m!` is likely invalid in type context - --> $DIR/macro-context.rs:20:12 - | +... LL | let a: m!(); - | ^^^^ + | ---- caused by the macro expansion here + | + = note: the usage of `m!` is likely invalid in type context error: macro expansion ignores token `typeof` and any following --> $DIR/macro-context.rs:13:17 | LL | () => ( i ; typeof ); //~ ERROR expected expression, found reserved keyword `typeof` | ^^^^^^ - | -note: caused by the macro expansion here; the usage of `m!` is likely invalid in expression context - --> $DIR/macro-context.rs:21:13 - | +... LL | let i = m!(); - | ^^^^ + | ---- caused by the macro expansion here + | + = note: the usage of `m!` is likely invalid in expression context error: macro expansion ignores token `;` and any following --> $DIR/macro-context.rs:13:15 | LL | () => ( i ; typeof ); //~ ERROR expected expression, found reserved keyword `typeof` | ^ - | -note: caused by the macro expansion here; the usage of `m!` is likely invalid in pattern context - --> $DIR/macro-context.rs:23:9 - | +... LL | m!() => {} - | ^^^^ + | ---- caused by the macro expansion here + | + = note: the usage of `m!` is likely invalid in pattern context error: expected expression, found reserved keyword `typeof` --> $DIR/macro-context.rs:13:17 diff --git a/src/test/ui/macros/macro-in-expression-context-2.rs b/src/test/ui/macros/macro-in-expression-context-2.rs new file mode 100644 index 00000000000..cf8572aefa2 --- /dev/null +++ b/src/test/ui/macros/macro-in-expression-context-2.rs @@ -0,0 +1,7 @@ +macro_rules! empty { () => () } + +fn main() { + match 42 { + _ => { empty!() } + }; +} diff --git a/src/test/ui/macros/macro-in-expression-context-2.stderr b/src/test/ui/macros/macro-in-expression-context-2.stderr new file mode 100644 index 00000000000..80d5dbd66cc --- /dev/null +++ b/src/test/ui/macros/macro-in-expression-context-2.stderr @@ -0,0 +1,8 @@ +error: expected expression, found `<eof>` + --> $DIR/macro-in-expression-context-2.rs:5:16 + | +LL | _ => { empty!() } + | ^^^^^^^^ + +error: aborting due to previous error + diff --git a/src/test/ui/macros/macro-in-expression-context.fixed b/src/test/ui/macros/macro-in-expression-context.fixed new file mode 100644 index 00000000000..df36db0f49e --- /dev/null +++ b/src/test/ui/macros/macro-in-expression-context.fixed @@ -0,0 +1,15 @@ +// run-rustfix + +macro_rules! foo { + () => { + assert_eq!("A", "A"); + assert_eq!("B", "B"); + } + //~^^ ERROR macro expansion ignores token `assert_eq` and any following + //~| NOTE the usage of `foo!` is likely invalid in expression context +} + +fn main() { + foo!(); + //~^ NOTE caused by the macro expansion here +} diff --git a/src/test/ui/macros/macro-in-expression-context.rs b/src/test/ui/macros/macro-in-expression-context.rs new file mode 100644 index 00000000000..b3f5e568967 --- /dev/null +++ b/src/test/ui/macros/macro-in-expression-context.rs @@ -0,0 +1,15 @@ +// run-rustfix + +macro_rules! foo { + () => { + assert_eq!("A", "A"); + assert_eq!("B", "B"); + } + //~^^ ERROR macro expansion ignores token `assert_eq` and any following + //~| NOTE the usage of `foo!` is likely invalid in expression context +} + +fn main() { + foo!() + //~^ NOTE caused by the macro expansion here +} diff --git a/src/test/ui/macros/macro-in-expression-context.stderr b/src/test/ui/macros/macro-in-expression-context.stderr new file mode 100644 index 00000000000..d27d6fbaef7 --- /dev/null +++ b/src/test/ui/macros/macro-in-expression-context.stderr @@ -0,0 +1,15 @@ +error: macro expansion ignores token `assert_eq` and any following + --> $DIR/macro-in-expression-context.rs:6:9 + | +LL | assert_eq!("B", "B"); + | ^^^^^^^^^ +... +LL | foo!() + | ------- help: you might be missing a semicolon here: `;` + | | + | caused by the macro expansion here + | + = note: the usage of `foo!` is likely invalid in expression context + +error: aborting due to previous error + diff --git a/src/test/ui/parser/macro/macro-incomplete-parse.stderr b/src/test/ui/parser/macro/macro-incomplete-parse.stderr index 198730dc07a..806aca511d0 100644 --- a/src/test/ui/parser/macro/macro-incomplete-parse.stderr +++ b/src/test/ui/parser/macro/macro-incomplete-parse.stderr @@ -3,12 +3,11 @@ error: macro expansion ignores token `,` and any following | LL | , //~ ERROR macro expansion ignores token `,` | ^ - | -note: caused by the macro expansion here; the usage of `ignored_item!` is likely invalid in item context - --> $DIR/macro-incomplete-parse.rs:31:1 - | +... LL | ignored_item!(); - | ^^^^^^^^^^^^^^^^ + | ---------------- caused by the macro expansion here + | + = note: the usage of `ignored_item!` is likely invalid in item context error: expected one of `.`, `;`, `?`, `}`, or an operator, found `,` --> $DIR/macro-incomplete-parse.rs:22:14 @@ -24,12 +23,11 @@ error: macro expansion ignores token `,` and any following | LL | () => ( 1, 2 ) //~ ERROR macro expansion ignores token `,` | ^ - | -note: caused by the macro expansion here; the usage of `ignored_pat!` is likely invalid in pattern context - --> $DIR/macro-incomplete-parse.rs:36:9 - | +... LL | ignored_pat!() => (), - | ^^^^^^^^^^^^^^ + | -------------- caused by the macro expansion here + | + = note: the usage of `ignored_pat!` is likely invalid in pattern context error: aborting due to 3 previous errors |
