about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorYuki Okushi <jtitor@2k36.org>2022-12-20 18:52:30 +0900
committerYuki Okushi <jtitor@2k36.org>2022-12-20 18:52:30 +0900
commit8f88cecab64504e9f8317e96bba41feb4ac10a29 (patch)
tree39d6d842f61e88ae53b6a15aea9ae6cdee9c05ba /src
parent7f42e58effa3871dda6a41e250dea60cf88868ca (diff)
downloadrust-8f88cecab64504e9f8317e96bba41feb4ac10a29.tar.gz
rust-8f88cecab64504e9f8317e96bba41feb4ac10a29.zip
Add regression test for #57404
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
Diffstat (limited to 'src')
-rw-r--r--src/test/ui/typeck/issue-57404.rs7
-rw-r--r--src/test/ui/typeck/issue-57404.stderr16
2 files changed, 23 insertions, 0 deletions
diff --git a/src/test/ui/typeck/issue-57404.rs b/src/test/ui/typeck/issue-57404.rs
new file mode 100644
index 00000000000..ecabca66a00
--- /dev/null
+++ b/src/test/ui/typeck/issue-57404.rs
@@ -0,0 +1,7 @@
+#![feature(unboxed_closures)]
+#![feature(fn_traits)]
+
+fn main() {
+    let handlers: Option<Box<dyn for<'a> FnMut<&'a mut (), Output=()>>> = None;
+    handlers.unwrap().as_mut().call_mut(&mut ()); //~ ERROR: `&mut ()` is not a tuple
+}
diff --git a/src/test/ui/typeck/issue-57404.stderr b/src/test/ui/typeck/issue-57404.stderr
new file mode 100644
index 00000000000..5065ac32ad2
--- /dev/null
+++ b/src/test/ui/typeck/issue-57404.stderr
@@ -0,0 +1,16 @@
+error[E0277]: `&mut ()` is not a tuple
+  --> $DIR/issue-57404.rs:6:41
+   |
+LL |     handlers.unwrap().as_mut().call_mut(&mut ());
+   |                                -------- -^^^^^^
+   |                                |        |
+   |                                |        the trait `Tuple` is not implemented for `&mut ()`
+   |                                |        help: consider removing the leading `&`-reference
+   |                                required by a bound introduced by this call
+   |
+note: required by a bound in `call_mut`
+  --> $SRC_DIR/core/src/ops/function.rs:LL:COL
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0277`.