|  | error[E0277]: the size for values of type `str` cannot be known at compilation time | 
|  | --> $DIR/unsized-ret.rs:10:11 | 
|  | | | 
|  | LL |     foo::<fn() -> str, _>(None, ()); | 
|  | |           ^^^^^^^^^^^ doesn't have a size known at compile-time | 
|  | | | 
|  | = help: within `fn() -> str`, the trait `Sized` is not implemented for `str` | 
|  | = note: required because it appears within the type `fn() -> str` | 
|  | note: required by a bound in `foo` | 
|  | --> $DIR/unsized-ret.rs:5:11 | 
|  | | | 
|  | LL | fn foo<F: Fn<T>, T:std::marker::Tuple>(f: Option<F>, t: T) { | 
|  | |           ^^^^^ required by this bound in `foo` | 
|  |  | 
|  | error[E0277]: the size for values of type `(dyn std::fmt::Display + 'a)` cannot be known at compilation time | 
|  | --> $DIR/unsized-ret.rs:13:11 | 
|  | | | 
|  | LL |     foo::<for<'a> fn(&'a ()) -> (dyn std::fmt::Display + 'a), _>(None, (&(),)); | 
|  | |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time | 
|  | | | 
|  | = help: within `for<'a> fn(&'a ()) -> (dyn std::fmt::Display + 'a)`, the trait `for<'a> Sized` is not implemented for `(dyn std::fmt::Display + 'a)` | 
|  | = note: required because it appears within the type `for<'a> fn(&'a ()) -> (dyn std::fmt::Display + 'a)` | 
|  | note: required by a bound in `foo` | 
|  | --> $DIR/unsized-ret.rs:5:11 | 
|  | | | 
|  | LL | fn foo<F: Fn<T>, T:std::marker::Tuple>(f: Option<F>, t: T) { | 
|  | |           ^^^^^ required by this bound in `foo` | 
|  |  | 
|  | error: aborting due to 2 previous errors | 
|  |  | 
|  | For more information about this error, try `rustc --explain E0277`. |