| warning: the feature `dyn_star` is incomplete and may not be safe to use and/or cause compiler crashes |
| --> $DIR/wrap-dyn-in-suggestion-issue-120223.rs:1:12 |
| | |
| LL | #![feature(dyn_star)] |
| | ^^^^^^^^ |
| | |
| = note: see issue #102425 <https://github.com/rust-lang/rust/issues/102425> for more information |
| = note: `#[warn(incomplete_features)]` on by default |
| |
| error[E0599]: no method named `method` found for type parameter `T` in the current scope |
| --> $DIR/wrap-dyn-in-suggestion-issue-120223.rs:24:7 |
| | |
| LL | pub fn in_ty_param<T: Fn() -> dyn std::fmt::Debug> (t: T) { |
| | - method `method` not found for this type parameter |
| LL | t.method(); |
| | ^^^^^^ method not found in `T` |
| | |
| = help: items from traits can only be used if the type parameter is bounded by the trait |
| help: the following trait defines an item `method`, perhaps you need to restrict type parameter `T` with it: |
| | |
| LL | pub fn in_ty_param<T: Fn() -> (dyn std::fmt::Debug) + Trait> (t: T) { |
| | + +++++++++ |
| |
| error[E0277]: the size for values of type `T` cannot be known at compilation time |
| --> $DIR/wrap-dyn-in-suggestion-issue-120223.rs:29:21 |
| | |
| LL | fn with_sized<T: Fn() -> &'static (dyn std::fmt::Debug) + ?Sized>() { |
| | - this type parameter needs to be `Sized` |
| LL | without_sized::<T>(); |
| | ^ doesn't have a size known at compile-time |
| | |
| note: required by an implicit `Sized` bound in `without_sized` |
| --> $DIR/wrap-dyn-in-suggestion-issue-120223.rs:33:18 |
| | |
| LL | fn without_sized<T: Fn() -> &'static dyn std::fmt::Debug>() {} |
| | ^ required by the implicit `Sized` requirement on this type parameter in `without_sized` |
| help: consider removing the `?Sized` bound to make the type parameter `Sized` |
| | |
| LL - fn with_sized<T: Fn() -> &'static (dyn std::fmt::Debug) + ?Sized>() { |
| LL + fn with_sized<T: Fn() -> &'static (dyn std::fmt::Debug)>() { |
| | |
| help: consider relaxing the implicit `Sized` restriction |
| | |
| LL | fn without_sized<T: Fn() -> &'static (dyn std::fmt::Debug) + ?Sized>() {} |
| | + ++++++++++ |
| |
| error[E0310]: the parameter type `impl FnOnce(T) -> dyn Future<Output = ()>` may not live long enough |
| --> $DIR/wrap-dyn-in-suggestion-issue-120223.rs:8:5 |
| | |
| LL | Box::new(executor) |
| | ^^^^^^^^^^^^^^^^^^ |
| | | |
| | the parameter type `impl FnOnce(T) -> dyn Future<Output = ()>` must be valid for the static lifetime... |
| | ...so that the type `impl FnOnce(T) -> dyn Future<Output = ()>` will meet its required lifetime bounds |
| | |
| help: consider adding an explicit lifetime bound |
| | |
| LL | executor: impl FnOnce(T) -> (dyn Future<Output = ()>) + 'static, |
| | + +++++++++++ |
| |
| error[E0310]: the parameter type `impl FnOnce(T) -> Future<Output = ()>` may not live long enough |
| --> $DIR/wrap-dyn-in-suggestion-issue-120223.rs:14:5 |
| | |
| LL | Box::new(executor) |
| | ^^^^^^^^^^^^^^^^^^ |
| | | |
| | the parameter type `impl FnOnce(T) -> Future<Output = ()>` must be valid for the static lifetime... |
| | ...so that the type `impl FnOnce(T) -> Future<Output = ()>` will meet its required lifetime bounds |
| | |
| help: consider adding an explicit lifetime bound |
| | |
| LL | executor: impl FnOnce(T) -> (dyn* Future<Output = ()>) + 'static, |
| | + +++++++++++ |
| |
| error: aborting due to 4 previous errors; 1 warning emitted |
| |
| Some errors have detailed explanations: E0277, E0310, E0599. |
| For more information about an error, try `rustc --explain E0277`. |