about summary refs log tree commit diff
path: root/src/test/ui/parser
diff options
context:
space:
mode:
authoryukang <moorekang@gmail.com>2022-09-27 14:25:29 +0800
committeryukang <moorekang@gmail.com>2022-10-08 06:47:26 +0800
commit7b2f04a2b3e895477a96bb8ad2fe875eff411798 (patch)
tree6e72d216a62d91a51d5e93bdd0d540ab60357152 /src/test/ui/parser
parent672e3f4d77f8b9f86a999992b459a95909aa74c2 (diff)
fix #102182, recover from impl Trait in type param bound
Diffstat (limited to 'src/test/ui/parser')
-rw-r--r--src/test/ui/parser/issues/issue-102182-impl-trait-recover.rs3
-rw-r--r--src/test/ui/parser/issues/issue-102182-impl-trait-recover.stderr14
2 files changed, 17 insertions, 0 deletions
diff --git a/src/test/ui/parser/issues/issue-102182-impl-trait-recover.rs b/src/test/ui/parser/issues/issue-102182-impl-trait-recover.rs
new file mode 100644
index 00000000000..4bfc676d6f6
--- /dev/null
+++ b/src/test/ui/parser/issues/issue-102182-impl-trait-recover.rs
@@ -0,0 +1,3 @@
+fn foo<T: impl Trait>() {}
+//~^ ERROR expected trait bound, found `impl Trait` type
+fn main() {}
diff --git a/src/test/ui/parser/issues/issue-102182-impl-trait-recover.stderr b/src/test/ui/parser/issues/issue-102182-impl-trait-recover.stderr
new file mode 100644
index 00000000000..52b6ae5df35
--- /dev/null
+++ b/src/test/ui/parser/issues/issue-102182-impl-trait-recover.stderr
@@ -0,0 +1,14 @@
+error: expected trait bound, found `impl Trait` type
+  --> $DIR/issue-102182-impl-trait-recover.rs:1:11
+   |
+LL | fn foo<T: impl Trait>() {}
+   |           ^^^^^^^^^^ not a trait
+   |
+help: use the trait bounds directly
+   |
+LL - fn foo<T: impl Trait>() {}
+LL + fn foo<T: Trait>() {}
+   |
+
+error: aborting due to previous error
+