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 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 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 (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 &'static (dyn std::fmt::Debug) + ?Sized>() { | - this type parameter needs to be `Sized` LL | without_sized::(); | ^ 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 &'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 &'static (dyn std::fmt::Debug) + ?Sized>() { LL + fn with_sized &'static (dyn std::fmt::Debug)>() { | help: consider relaxing the implicit `Sized` restriction | LL | fn without_sized &'static (dyn std::fmt::Debug) + ?Sized>() {} | + ++++++++++ error[E0310]: the parameter type `impl FnOnce(T) -> dyn Future` 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` must be valid for the static lifetime... | ...so that the type `impl FnOnce(T) -> dyn Future` will meet its required lifetime bounds | help: consider adding an explicit lifetime bound | LL | executor: impl FnOnce(T) -> (dyn Future) + 'static, | + +++++++++++ error[E0310]: the parameter type `impl FnOnce(T) -> Future` 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` must be valid for the static lifetime... | ...so that the type `impl FnOnce(T) -> Future` will meet its required lifetime bounds | help: consider adding an explicit lifetime bound | LL | executor: impl FnOnce(T) -> (dyn* Future) + '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`.