about summary refs log tree commit diff
diff options
context:
space:
mode:
authorTakayuki Maeda <takoyaki0316@gmail.com>2022-06-26 22:10:10 +0900
committerTakayuki Maeda <takoyaki0316@gmail.com>2022-06-26 22:10:10 +0900
commit0d71862170ca8999be9800fd863b8a83c3ed91bb (patch)
tree39c789bc79d552686a1afd6ff364cbfc9e0f3249
parent0e1a6fb463e7075572cee841525bf44a864da807 (diff)
downloadrust-0d71862170ca8999be9800fd863b8a83c3ed91bb.tar.gz
rust-0d71862170ca8999be9800fd863b8a83c3ed91bb.zip
add regression test for #87558
-rw-r--r--src/test/ui/traits/issue-87558.rs9
-rw-r--r--src/test/ui/traits/issue-87558.stderr24
2 files changed, 33 insertions, 0 deletions
diff --git a/src/test/ui/traits/issue-87558.rs b/src/test/ui/traits/issue-87558.rs
new file mode 100644
index 00000000000..c5d86bd637b
--- /dev/null
+++ b/src/test/ui/traits/issue-87558.rs
@@ -0,0 +1,9 @@
+struct ErrorKind;
+struct Error(ErrorKind);
+impl Fn(&isize) for Error {
+    //~^ ERROR manual implementations of `Fn` are experimental
+    //~| ERROR associated type bindings are not allowed here
+    fn from() {} //~ ERROR method `from` is not a member of trait `Fn`
+}
+
+fn main() {}
diff --git a/src/test/ui/traits/issue-87558.stderr b/src/test/ui/traits/issue-87558.stderr
new file mode 100644
index 00000000000..494274d8c30
--- /dev/null
+++ b/src/test/ui/traits/issue-87558.stderr
@@ -0,0 +1,24 @@
+error[E0407]: method `from` is not a member of trait `Fn`
+  --> $DIR/issue-87558.rs:6:5
+   |
+LL |     fn from() {}
+   |     ^^^^^^^^^^^^ not a member of trait `Fn`
+
+error[E0183]: manual implementations of `Fn` are experimental
+  --> $DIR/issue-87558.rs:3:6
+   |
+LL | impl Fn(&isize) for Error {
+   |      ^^^^^^^^^^ manual implementations of `Fn` are experimental
+   |
+   = help: add `#![feature(unboxed_closures)]` to the crate attributes to enable
+
+error[E0229]: associated type bindings are not allowed here
+  --> $DIR/issue-87558.rs:3:6
+   |
+LL | impl Fn(&isize) for Error {
+   |      ^^^^^^^^^^ associated type not allowed here
+
+error: aborting due to 3 previous errors
+
+Some errors have detailed explanations: E0183, E0229, E0407.
+For more information about an error, try `rustc --explain E0183`.