52 lines
2.4 KiB
Text
52 lines
2.4 KiB
Text
warning: impl trait in impl method captures fewer lifetimes than in trait
|
|
--> $DIR/refine-captures.rs:6:31
|
|
|
|
|
LL | fn test() -> impl Sized + use<> {}
|
|
| ^^^^^
|
|
|
|
|
= note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate
|
|
= note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
|
|
= note: `#[warn(refining_impl_trait_internal)]` on by default
|
|
help: modify the `use<..>` bound to capture the same lifetimes that the trait does
|
|
|
|
|
LL | fn test() -> impl Sized + use<'a> {}
|
|
| ++
|
|
|
|
warning: impl trait in impl method captures fewer lifetimes than in trait
|
|
--> $DIR/refine-captures.rs:20:31
|
|
|
|
|
LL | fn test() -> impl Sized + use<> {}
|
|
| ^^^^^
|
|
|
|
|
= note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate
|
|
= note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
|
|
help: modify the `use<..>` bound to capture the same lifetimes that the trait does
|
|
|
|
|
LL | fn test() -> impl Sized + use<'a> {}
|
|
| ++
|
|
|
|
warning: impl trait in impl method captures fewer lifetimes than in trait
|
|
--> $DIR/refine-captures.rs:25:31
|
|
|
|
|
LL | fn test() -> impl Sized + use<'b> {}
|
|
| ^^^^^^^
|
|
|
|
|
= note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate
|
|
= note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
|
|
help: modify the `use<..>` bound to capture the same lifetimes that the trait does
|
|
|
|
|
LL | fn test() -> impl Sized + use<'a, 'b> {}
|
|
| ++++
|
|
|
|
error: `impl Trait` must mention all type parameters in scope in `use<...>`
|
|
--> $DIR/refine-captures.rs:30:18
|
|
|
|
|
LL | impl<T> TypeParam<T> for u64 {
|
|
| - type parameter is implicitly captured by this `impl Trait`
|
|
LL | fn test() -> impl Sized + use<> {}
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
|
|
|
= note: currently, all type parameters are required to be mentioned in the precise captures list
|
|
|
|
error: aborting due to 1 previous error; 3 warnings emitted
|
|
|