about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2022-06-26 19:47:08 +0200
committerGitHub <noreply@github.com>2022-06-26 19:47:08 +0200
commit93ea1ec1536f3fcc7330395d687acbf19caf7215 (patch)
treeaa3204b8e6a66fe50d57b442798877453a08c1d2
parent5efe7c7fc6333f10ead4f7775ccda12e19347917 (diff)
parent0d71862170ca8999be9800fd863b8a83c3ed91bb (diff)
downloadrust-93ea1ec1536f3fcc7330395d687acbf19caf7215.tar.gz
rust-93ea1ec1536f3fcc7330395d687acbf19caf7215.zip
Rollup merge of #98540 - TaKO8Ki:add-regression-test-for-87558, r=Mark-Simulacrum
Add regression test for #87558

Fixes #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`.