summaryrefslogtreecommitdiffstats
path: root/src/test/ui/unsized/issue-91801.stderr
blob: 8795aa1687f3de42a1fcc28a294016643d05966e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
error[E0746]: return type cannot have an unboxed trait object
  --> $DIR/issue-91801.rs:8:77
   |
LL | fn or<'a>(first: &'static Validator<'a>, second: &'static Validator<'a>) -> Validator<'a> {
   |                                                                             ^^^^^^^^^^^^^ doesn't have a size known at compile-time
   |
   = note: for information on `impl Trait`, see <https://doc.rust-lang.org/book/ch10-02-traits.html#returning-types-that-implement-traits>
help: use `impl Fn(&'a Something) -> Result<(), ()> + Send + Sync + 'a` as the return type, as all return paths are of type `Box<[closure@$DIR/issue-91801.rs:10:21: 10:70]>`, which implements `Fn(&'a Something) -> Result<(), ()> + Send + Sync + 'a`
   |
LL | fn or<'a>(first: &'static Validator<'a>, second: &'static Validator<'a>) -> impl Fn(&'a Something) -> Result<(), ()> + Send + Sync + 'a {
   |                                                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

error: aborting due to previous error

For more information about this error, try `rustc --explain E0746`.