about summary refs log tree commit diff
path: root/tests/ui/fn/fn-trait-formatting.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/fn/fn-trait-formatting.stderr')
-rw-r--r--tests/ui/fn/fn-trait-formatting.stderr60
1 files changed, 60 insertions, 0 deletions
diff --git a/tests/ui/fn/fn-trait-formatting.stderr b/tests/ui/fn/fn-trait-formatting.stderr
new file mode 100644
index 00000000000..2a674d3c1d2
--- /dev/null
+++ b/tests/ui/fn/fn-trait-formatting.stderr
@@ -0,0 +1,60 @@
+error[E0308]: mismatched types
+  --> $DIR/fn-trait-formatting.rs:6:17
+   |
+LL |     let _: () = Box::new(|_: isize| {}) as Box<dyn FnOnce(isize)>;
+   |            --   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found struct `Box`
+   |            |
+   |            expected due to this
+   |
+   = note: expected unit type `()`
+                 found struct `Box<dyn FnOnce(isize)>`
+help: use parentheses to call this trait object
+   |
+LL |     let _: () = (Box::new(|_: isize| {}) as Box<dyn FnOnce(isize)>)(/* isize */);
+   |                 +                                                 ++++++++++++++
+
+error[E0308]: mismatched types
+  --> $DIR/fn-trait-formatting.rs:10:17
+   |
+LL |     let _: () = Box::new(|_: isize, isize| {}) as Box<dyn Fn(isize, isize)>;
+   |            --   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found struct `Box`
+   |            |
+   |            expected due to this
+   |
+   = note: expected unit type `()`
+                 found struct `Box<dyn Fn(isize, isize)>`
+help: use parentheses to call this trait object
+   |
+LL |     let _: () = (Box::new(|_: isize, isize| {}) as Box<dyn Fn(isize, isize)>)(/* isize */, /* isize */);
+   |                 +                                                           +++++++++++++++++++++++++++
+
+error[E0308]: mismatched types
+  --> $DIR/fn-trait-formatting.rs:14:17
+   |
+LL |     let _: () = Box::new(|| -> isize { unimplemented!() }) as Box<dyn FnMut() -> isize>;
+   |            --   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found struct `Box`
+   |            |
+   |            expected due to this
+   |
+   = note: expected unit type `()`
+                 found struct `Box<dyn FnMut() -> isize>`
+
+error[E0277]: expected a `Fn<(isize,)>` closure, found `{integer}`
+  --> $DIR/fn-trait-formatting.rs:19:14
+   |
+LL |     needs_fn(1);
+   |     -------- ^ expected an `Fn<(isize,)>` closure, found `{integer}`
+   |     |
+   |     required by a bound introduced by this call
+   |
+   = help: the trait `Fn<(isize,)>` is not implemented for `{integer}`
+note: required by a bound in `needs_fn`
+  --> $DIR/fn-trait-formatting.rs:1:31
+   |
+LL | fn needs_fn<F>(x: F) where F: Fn(isize) -> isize {}
+   |                               ^^^^^^^^^^^^^^^^^^ required by this bound in `needs_fn`
+
+error: aborting due to 4 previous errors
+
+Some errors have detailed explanations: E0277, E0308.
+For more information about an error, try `rustc --explain E0277`.