1
Fork 0

Make sure to mark IMPL_TRAIT_REDUNDANT_CAPTURES as Allow in edition 2024

This commit is contained in:
Michael Goulet 2025-01-13 15:52:45 +00:00
parent eb54a50837
commit 1b068a0dea
3 changed files with 16 additions and 12 deletions

View file

@ -99,7 +99,7 @@ declare_lint! {
/// To fix this, remove the `use<'a>`, since the lifetime is already captured /// To fix this, remove the `use<'a>`, since the lifetime is already captured
/// since it is in scope. /// since it is in scope.
pub IMPL_TRAIT_REDUNDANT_CAPTURES, pub IMPL_TRAIT_REDUNDANT_CAPTURES,
Warn, Allow,
"redundant precise-capturing `use<...>` syntax on an `impl Trait`", "redundant precise-capturing `use<...>` syntax on an `impl Trait`",
} }

View file

@ -1,24 +1,24 @@
//@ edition: 2024 //@ edition: 2024
//@ check-pass
#![feature(precise_capturing_in_traits)] #![feature(precise_capturing_in_traits)]
#![deny(impl_trait_redundant_captures)]
fn hello<'a>() -> impl Sized + use<'a> {} fn hello<'a>() -> impl Sized + use<'a> {}
//~^ WARN all possible in-scope parameters are already captured //~^ ERROR all possible in-scope parameters are already captured
struct Inherent; struct Inherent;
impl Inherent { impl Inherent {
fn inherent(&self) -> impl Sized + use<'_> {} fn inherent(&self) -> impl Sized + use<'_> {}
//~^ WARN all possible in-scope parameters are already captured //~^ ERROR all possible in-scope parameters are already captured
} }
trait Test<'a> { trait Test<'a> {
fn in_trait() -> impl Sized + use<'a, Self>; fn in_trait() -> impl Sized + use<'a, Self>;
//~^ WARN all possible in-scope parameters are already captured //~^ ERROR all possible in-scope parameters are already captured
} }
impl<'a> Test<'a> for () { impl<'a> Test<'a> for () {
fn in_trait() -> impl Sized + use<'a> {} fn in_trait() -> impl Sized + use<'a> {}
//~^ WARN all possible in-scope parameters are already captured //~^ ERROR all possible in-scope parameters are already captured
} }
fn main() {} fn main() {}

View file

@ -1,4 +1,4 @@
warning: all possible in-scope parameters are already captured, so `use<...>` syntax is redundant error: all possible in-scope parameters are already captured, so `use<...>` syntax is redundant
--> $DIR/redundant.rs:6:19 --> $DIR/redundant.rs:6:19
| |
LL | fn hello<'a>() -> impl Sized + use<'a> {} LL | fn hello<'a>() -> impl Sized + use<'a> {}
@ -6,9 +6,13 @@ LL | fn hello<'a>() -> impl Sized + use<'a> {}
| | | |
| help: remove the `use<...>` syntax | help: remove the `use<...>` syntax
| |
= note: `#[warn(impl_trait_redundant_captures)]` on by default note: the lint level is defined here
--> $DIR/redundant.rs:4:9
|
LL | #![deny(impl_trait_redundant_captures)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: all possible in-scope parameters are already captured, so `use<...>` syntax is redundant error: all possible in-scope parameters are already captured, so `use<...>` syntax is redundant
--> $DIR/redundant.rs:11:27 --> $DIR/redundant.rs:11:27
| |
LL | fn inherent(&self) -> impl Sized + use<'_> {} LL | fn inherent(&self) -> impl Sized + use<'_> {}
@ -16,7 +20,7 @@ LL | fn inherent(&self) -> impl Sized + use<'_> {}
| | | |
| help: remove the `use<...>` syntax | help: remove the `use<...>` syntax
warning: all possible in-scope parameters are already captured, so `use<...>` syntax is redundant error: all possible in-scope parameters are already captured, so `use<...>` syntax is redundant
--> $DIR/redundant.rs:16:22 --> $DIR/redundant.rs:16:22
| |
LL | fn in_trait() -> impl Sized + use<'a, Self>; LL | fn in_trait() -> impl Sized + use<'a, Self>;
@ -24,7 +28,7 @@ LL | fn in_trait() -> impl Sized + use<'a, Self>;
| | | |
| help: remove the `use<...>` syntax | help: remove the `use<...>` syntax
warning: all possible in-scope parameters are already captured, so `use<...>` syntax is redundant error: all possible in-scope parameters are already captured, so `use<...>` syntax is redundant
--> $DIR/redundant.rs:20:22 --> $DIR/redundant.rs:20:22
| |
LL | fn in_trait() -> impl Sized + use<'a> {} LL | fn in_trait() -> impl Sized + use<'a> {}
@ -32,5 +36,5 @@ LL | fn in_trait() -> impl Sized + use<'a> {}
| | | |
| help: remove the `use<...>` syntax | help: remove the `use<...>` syntax
warning: 4 warnings emitted error: aborting due to 4 previous errors