| error[E0277]: the size for values of type `(dyn Fn(&'a Something) -> Result<(), ()> + Send + Sync + 'a)` cannot be known at compilation time |
| --> $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 |
| | |
| = help: the trait `Sized` is not implemented for `(dyn Fn(&'a Something) -> Result<(), ()> + Send + Sync + 'a)` |
| note: this type alias is unsized |
| --> $DIR/issue-91801.rs:3:1 |
| | |
| LL | type Validator<'a> = dyn 'a + Send + Sync + Fn(&'a Something) -> Result<(), ()>; |
| | ^^^^^^^^^^^^^^^^^^ |
| = note: the return type of a function must have a statically known size |
| help: consider boxing the return type, and wrapping all of the returned values in `Box::new` |
| | |
| LL | fn or<'a>(first: &'static Validator<'a>, second: &'static Validator<'a>) -> Box<Validator<'a>> { |
| | ++++ + |
| |
| error: aborting due to 1 previous error |
| |
| For more information about this error, try `rustc --explain E0277`. |