summaryrefslogtreecommitdiffstats
path: root/tests/ui/trait-bounds/mismatch-fn-trait.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/trait-bounds/mismatch-fn-trait.stderr')
-rw-r--r--tests/ui/trait-bounds/mismatch-fn-trait.stderr81
1 files changed, 81 insertions, 0 deletions
diff --git a/tests/ui/trait-bounds/mismatch-fn-trait.stderr b/tests/ui/trait-bounds/mismatch-fn-trait.stderr
new file mode 100644
index 000000000..961e6d88f
--- /dev/null
+++ b/tests/ui/trait-bounds/mismatch-fn-trait.stderr
@@ -0,0 +1,81 @@
+error[E0277]: expected a `FnMut<(i32,)>` closure, found `impl FnMut(u32)`
+ --> $DIR/mismatch-fn-trait.rs:4:10
+ |
+LL | take(f)
+ | ---- ^ expected an `FnMut<(i32,)>` closure, found `impl FnMut(u32)`
+ | |
+ | required by a bound introduced by this call
+ |
+ = note: expected a closure with arguments `(u32,)`
+ found a closure with arguments `(i32,)`
+note: required by a bound in `take`
+ --> $DIR/mismatch-fn-trait.rs:1:18
+ |
+LL | fn take(_f: impl FnMut(i32)) {}
+ | ^^^^^^^^^^ required by this bound in `take`
+
+error[E0277]: expected a `FnMut<(i32,)>` closure, found `impl FnMut(i32, i32)`
+ --> $DIR/mismatch-fn-trait.rs:9:10
+ |
+LL | take(f)
+ | ---- ^ expected an `FnMut<(i32,)>` closure, found `impl FnMut(i32, i32)`
+ | |
+ | required by a bound introduced by this call
+ |
+ = note: expected a closure taking 2 arguments, but one taking 1 argument was given
+note: required by a bound in `take`
+ --> $DIR/mismatch-fn-trait.rs:1:18
+ |
+LL | fn take(_f: impl FnMut(i32)) {}
+ | ^^^^^^^^^^ required by this bound in `take`
+
+error[E0277]: expected a `FnMut<(i32,)>` closure, found `impl FnMut()`
+ --> $DIR/mismatch-fn-trait.rs:14:10
+ |
+LL | take(f)
+ | ---- ^ expected an `FnMut<(i32,)>` closure, found `impl FnMut()`
+ | |
+ | required by a bound introduced by this call
+ |
+ = note: expected a closure taking 0 arguments, but one taking 1 argument was given
+note: required by a bound in `take`
+ --> $DIR/mismatch-fn-trait.rs:1:18
+ |
+LL | fn take(_f: impl FnMut(i32)) {}
+ | ^^^^^^^^^^ required by this bound in `take`
+
+error[E0277]: expected a `FnMut<(i32,)>` closure, found `impl FnOnce(i32)`
+ --> $DIR/mismatch-fn-trait.rs:19:10
+ |
+LL | take(f)
+ | ---- ^ expected an `FnMut<(i32,)>` closure, found `impl FnOnce(i32)`
+ | |
+ | required by a bound introduced by this call
+ |
+ = note: `impl FnOnce(i32)` implements `FnOnce`, but it must implement `FnMut`, which is more general
+note: required by a bound in `take`
+ --> $DIR/mismatch-fn-trait.rs:1:18
+ |
+LL | fn take(_f: impl FnMut(i32)) {}
+ | ^^^^^^^^^^ required by this bound in `take`
+
+error[E0277]: expected a `FnMut<(i32,)>` closure, found `impl FnOnce(u32)`
+ --> $DIR/mismatch-fn-trait.rs:24:10
+ |
+LL | take(f)
+ | ---- ^ expected an `FnMut<(i32,)>` closure, found `impl FnOnce(u32)`
+ | |
+ | required by a bound introduced by this call
+ |
+ = note: `impl FnOnce(u32)` implements `FnOnce`, but it must implement `FnMut`, which is more general
+ = note: expected a closure with arguments `(u32,)`
+ found a closure with arguments `(i32,)`
+note: required by a bound in `take`
+ --> $DIR/mismatch-fn-trait.rs:1:18
+ |
+LL | fn take(_f: impl FnMut(i32)) {}
+ | ^^^^^^^^^^ required by this bound in `take`
+
+error: aborting due to 5 previous errors
+
+For more information about this error, try `rustc --explain E0277`.