about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2020-12-08 06:25:31 +0000
committerbors <bors@rust-lang.org>2020-12-08 06:25:31 +0000
commit5e48ea9a40d94441d76748297bdb565e8fb3db23 (patch)
treef72ca0e95e3f0325ad7dbe343af86335b26f691c
parent79132506d16e986990ee422a8d3c8afc1babb0a8 (diff)
parentab121e3afef7b54b5621547b0b5c01d9554fe026 (diff)
downloadrust-5e48ea9a40d94441d76748297bdb565e8fb3db23.tar.gz
rust-5e48ea9a40d94441d76748297bdb565e8fb3db23.zip
Auto merge of #79712 - JohnTitor:test-issue-66286, r=estebank
Add a regression test for issue-66286

Fixes #66422
-rw-r--r--src/test/ui/proc-macro/auxiliary/issue-66286.rs14
-rw-r--r--src/test/ui/proc-macro/issue-66286.rs13
-rw-r--r--src/test/ui/proc-macro/issue-66286.stderr12
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`.