diff options
| author | Yuki Okushi <huyuumi.dev@gmail.com> | 2020-12-05 08:02:56 +0900 |
|---|---|---|
| committer | Yuki Okushi <huyuumi.dev@gmail.com> | 2020-12-05 08:03:59 +0900 |
| commit | ab121e3afef7b54b5621547b0b5c01d9554fe026 (patch) | |
| tree | ef37b4cbea3d3454a32d9813f8516e2a343a0139 | |
| parent | 3ff10e74a74ed093fcabac1de27fe1cd65bbbb4a (diff) | |
| download | rust-ab121e3afef7b54b5621547b0b5c01d9554fe026.tar.gz rust-ab121e3afef7b54b5621547b0b5c01d9554fe026.zip | |
Add a regression test for issue-66286
| -rw-r--r-- | src/test/ui/proc-macro/auxiliary/issue-66286.rs | 14 | ||||
| -rw-r--r-- | src/test/ui/proc-macro/issue-66286.rs | 13 | ||||
| -rw-r--r-- | src/test/ui/proc-macro/issue-66286.stderr | 12 |
3 files changed, 39 insertions, 0 deletions
diff --git a/src/test/ui/proc-macro/auxiliary/issue-66286.rs b/src/test/ui/proc-macro/auxiliary/issue-66286.rs new file mode 100644 index 00000000000..6217f1c7e61 --- /dev/null +++ b/src/test/ui/proc-macro/auxiliary/issue-66286.rs @@ -0,0 +1,14 @@ +// force-host +// no-prefer-dynamic + +#![crate_type = "proc-macro"] + +extern crate proc_macro; + +use proc_macro::TokenStream; + +#[proc_macro_attribute] +pub fn vec_ice(_attr: TokenStream, input: TokenStream) -> TokenStream { + // This redundant convert is necessary to reproduce ICE. + input.into_iter().collect() +} diff --git a/src/test/ui/proc-macro/issue-66286.rs b/src/test/ui/proc-macro/issue-66286.rs new file mode 100644 index 00000000000..2a67aeab44e --- /dev/null +++ b/src/test/ui/proc-macro/issue-66286.rs @@ -0,0 +1,13 @@ +// aux-build:issue-66286.rs + +// Regression test for #66286. + +extern crate issue_66286; + +#[issue_66286::vec_ice] +pub extern fn foo(_: Vec(u32)) -> u32 { + //~^ ERROR: parenthesized type parameters may only be used with a `Fn` trait + 0 +} + +fn main() {} diff --git a/src/test/ui/proc-macro/issue-66286.stderr b/src/test/ui/proc-macro/issue-66286.stderr new file mode 100644 index 00000000000..2854dd7d59c --- /dev/null +++ b/src/test/ui/proc-macro/issue-66286.stderr @@ -0,0 +1,12 @@ +error[E0214]: parenthesized type parameters may only be used with a `Fn` trait + --> $DIR/issue-66286.rs:8:22 + | +LL | pub extern fn foo(_: Vec(u32)) -> u32 { + | ^^^^^^^^ + | | + | only `Fn` traits may use parentheses + | help: use angle brackets instead: `Vec<u32>` + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0214`. |
