summaryrefslogtreecommitdiffstats
path: root/tests/ui/unboxed-closures/non-tupled-call.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--tests/ui/unboxed-closures/non-tupled-call.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/ui/unboxed-closures/non-tupled-call.rs b/tests/ui/unboxed-closures/non-tupled-call.rs
new file mode 100644
index 000000000..08bea4f16
--- /dev/null
+++ b/tests/ui/unboxed-closures/non-tupled-call.rs
@@ -0,0 +1,17 @@
+#![feature(fn_traits, unboxed_closures, tuple_trait)]
+
+use std::default::Default;
+use std::marker::Tuple;
+
+fn wrap<P: Tuple + Default, T>(func: impl Fn<P, Output = T>) {
+ let x: P = Default::default();
+ // Should be: `func.call(x);`
+ func(x);
+ //~^ ERROR cannot use call notation; the first type parameter for the function trait is neither a tuple nor unit
+}
+
+fn foo() {}
+
+fn main() {
+ wrap(foo);
+}