Add test for extra_unused_lifetimes
FP on derive
This commit adds test for a `extra_unused_lifetimes` false positive from derive (#9014). The fix for the FP is introduced in #9037.
This commit is contained in:
parent
1d1ae10876
commit
a8f68240d3
@ -72,3 +72,17 @@ pub fn mini_macro(_: TokenStream) -> TokenStream {
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
#[proc_macro_derive(ExtraLifetimeDerive)]
|
||||
#[allow(unused)]
|
||||
pub fn extra_lifetime(_input: TokenStream) -> TokenStream {
|
||||
quote!(
|
||||
pub struct ExtraLifetime;
|
||||
|
||||
impl<'b> ExtraLifetime {
|
||||
pub fn something<'c>() -> Self {
|
||||
Self
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
|
@ -1,3 +1,5 @@
|
||||
// aux-build:proc_macro_derive.rs
|
||||
|
||||
#![allow(
|
||||
unused,
|
||||
dead_code,
|
||||
@ -7,6 +9,9 @@
|
||||
)]
|
||||
#![warn(clippy::extra_unused_lifetimes)]
|
||||
|
||||
#[macro_use]
|
||||
extern crate proc_macro_derive;
|
||||
|
||||
fn empty() {}
|
||||
|
||||
fn used_lt<'a>(x: &'a u8) {}
|
||||
@ -114,4 +119,11 @@ mod second_case {
|
||||
}
|
||||
}
|
||||
|
||||
// Should not lint
|
||||
#[derive(ExtraLifetimeDerive)]
|
||||
struct Human<'a> {
|
||||
pub bones: i32,
|
||||
pub name: &'a str,
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
|
@ -1,5 +1,5 @@
|
||||
error: this lifetime isn't used in the function definition
|
||||
--> $DIR/extra_unused_lifetimes.rs:14:14
|
||||
--> $DIR/extra_unused_lifetimes.rs:19:14
|
||||
|
|
||||
LL | fn unused_lt<'a>(x: u8) {}
|
||||
| ^^
|
||||
@ -7,31 +7,31 @@ LL | fn unused_lt<'a>(x: u8) {}
|
||||
= note: `-D clippy::extra-unused-lifetimes` implied by `-D warnings`
|
||||
|
||||
error: this lifetime isn't used in the function definition
|
||||
--> $DIR/extra_unused_lifetimes.rs:41:10
|
||||
--> $DIR/extra_unused_lifetimes.rs:46:10
|
||||
|
|
||||
LL | fn x<'a>(&self) {}
|
||||
| ^^
|
||||
|
||||
error: this lifetime isn't used in the function definition
|
||||
--> $DIR/extra_unused_lifetimes.rs:67:22
|
||||
--> $DIR/extra_unused_lifetimes.rs:72:22
|
||||
|
|
||||
LL | fn unused_lt<'a>(x: u8) {}
|
||||
| ^^
|
||||
|
||||
error: this lifetime isn't used in the impl
|
||||
--> $DIR/extra_unused_lifetimes.rs:78:10
|
||||
--> $DIR/extra_unused_lifetimes.rs:83:10
|
||||
|
|
||||
LL | impl<'a> std::ops::AddAssign<&Scalar> for &mut Scalar {
|
||||
| ^^
|
||||
|
||||
error: this lifetime isn't used in the impl
|
||||
--> $DIR/extra_unused_lifetimes.rs:84:10
|
||||
--> $DIR/extra_unused_lifetimes.rs:89:10
|
||||
|
|
||||
LL | impl<'b> Scalar {
|
||||
| ^^
|
||||
|
||||
error: this lifetime isn't used in the function definition
|
||||
--> $DIR/extra_unused_lifetimes.rs:85:26
|
||||
--> $DIR/extra_unused_lifetimes.rs:90:26
|
||||
|
|
||||
LL | pub fn something<'c>() -> Self {
|
||||
| ^^
|
||||
|
Loading…
x
Reference in New Issue
Block a user