redundant_static_lifetimes: split test, make rustfixable

This commit is contained in:
Manish Goregaokar 2019-09-25 10:21:08 -07:00
parent ea16ab56d5
commit 1a4dcfca35
5 changed files with 148 additions and 90 deletions

View File

@ -0,0 +1,56 @@
// run-rustfix
#![allow(unused)]
#[derive(Debug)]
struct Foo {}
const VAR_ONE: &str = "Test constant #1"; // ERROR Consider removing 'static.
const VAR_TWO: &str = "Test constant #2"; // This line should not raise a warning.
const VAR_THREE: &[&str] = &["one", "two"]; // ERROR Consider removing 'static
const VAR_FOUR: (&str, (&str, &str), &str) = ("on", ("th", "th"), "on"); // ERROR Consider removing 'static
const VAR_SIX: &u8 = &5;
const VAR_HEIGHT: &Foo = &Foo {};
const VAR_SLICE: &[u8] = b"Test constant #1"; // ERROR Consider removing 'static.
const VAR_TUPLE: &(u8, u8) = &(1, 2); // ERROR Consider removing 'static.
const VAR_ARRAY: &[u8; 1] = b"T"; // ERROR Consider removing 'static.
static STATIC_VAR_ONE: &str = "Test static #1"; // ERROR Consider removing 'static.
static STATIC_VAR_TWO: &str = "Test static #2"; // This line should not raise a warning.
static STATIC_VAR_THREE: &[&str] = &["one", "two"]; // ERROR Consider removing 'static
static STATIC_VAR_SIX: &u8 = &5;
static STATIC_VAR_HEIGHT: &Foo = &Foo {};
static STATIC_VAR_SLICE: &[u8] = b"Test static #3"; // ERROR Consider removing 'static.
static STATIC_VAR_TUPLE: &(u8, u8) = &(1, 2); // ERROR Consider removing 'static.
static STATIC_VAR_ARRAY: &[u8; 1] = b"T"; // ERROR Consider removing 'static.
fn main() {
let false_positive: &'static str = "test";
}
trait Bar {
const TRAIT_VAR: &'static str;
}
impl Foo {
const IMPL_VAR: &'static str = "var";
}
impl Bar for Foo {
const TRAIT_VAR: &'static str = "foo";
}

View File

@ -1,3 +1,7 @@
// run-rustfix
#![allow(unused)]
#[derive(Debug)]
struct Foo {}
@ -9,12 +13,8 @@ struct Foo {}
const VAR_FOUR: (&str, (&str, &'static str), &'static str) = ("on", ("th", "th"), "on"); // ERROR Consider removing 'static
const VAR_FIVE: &'static [&[&'static str]] = &[&["test"], &["other one"]]; // ERROR Consider removing 'static
const VAR_SIX: &'static u8 = &5;
const VAR_SEVEN: &[&(&str, &'static [&'static str])] = &[&("one", &["other one"])];
const VAR_HEIGHT: &'static Foo = &Foo {};
const VAR_SLICE: &'static [u8] = b"Test constant #1"; // ERROR Consider removing 'static.
@ -29,14 +29,8 @@ struct Foo {}
static STATIC_VAR_THREE: &[&'static str] = &["one", "two"]; // ERROR Consider removing 'static
static STATIC_VAR_FOUR: (&str, (&str, &'static str), &'static str) = ("on", ("th", "th"), "on"); // ERROR Consider removing 'static
static STATIC_VAR_FIVE: &'static [&[&'static str]] = &[&["test"], &["other one"]]; // ERROR Consider removing 'static
static STATIC_VAR_SIX: &'static u8 = &5;
static STATIC_VAR_SEVEN: &[&(&str, &'static [&'static str])] = &[&("one", &["other one"])];
static STATIC_VAR_HEIGHT: &'static Foo = &Foo {};
static STATIC_VAR_SLICE: &'static [u8] = b"Test static #3"; // ERROR Consider removing 'static.
@ -47,15 +41,6 @@ struct Foo {}
fn main() {
let false_positive: &'static str = "test";
println!("{}", VAR_ONE);
println!("{}", VAR_TWO);
println!("{:?}", VAR_THREE);
println!("{:?}", VAR_FOUR);
println!("{:?}", VAR_FIVE);
println!("{:?}", VAR_SIX);
println!("{:?}", VAR_SEVEN);
println!("{:?}", VAR_HEIGHT);
println!("{}", false_positive);
}
trait Bar {

View File

@ -1,5 +1,5 @@
error: Constants have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes.rs:4:17
--> $DIR/redundant_static_lifetimes.rs:8:17
|
LL | const VAR_ONE: &'static str = "Test constant #1"; // ERROR Consider removing 'static.
| -^^^^^^^---- help: consider removing `'static`: `&str`
@ -7,53 +7,29 @@ LL | const VAR_ONE: &'static str = "Test constant #1"; // ERROR Consider removin
= note: `-D clippy::redundant-static-lifetimes` implied by `-D warnings`
error: Constants have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes.rs:8:21
--> $DIR/redundant_static_lifetimes.rs:12:21
|
LL | const VAR_THREE: &[&'static str] = &["one", "two"]; // ERROR Consider removing 'static
| -^^^^^^^---- help: consider removing `'static`: `&str`
error: Constants have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes.rs:10:32
--> $DIR/redundant_static_lifetimes.rs:14:32
|
LL | const VAR_FOUR: (&str, (&str, &'static str), &'static str) = ("on", ("th", "th"), "on"); // ERROR Consider removing 'static
| -^^^^^^^---- help: consider removing `'static`: `&str`
error: Constants have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes.rs:10:47
--> $DIR/redundant_static_lifetimes.rs:14:47
|
LL | const VAR_FOUR: (&str, (&str, &'static str), &'static str) = ("on", ("th", "th"), "on"); // ERROR Consider removing 'static
| -^^^^^^^---- help: consider removing `'static`: `&str`
error: Constants have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes.rs:12:18
|
LL | const VAR_FIVE: &'static [&[&'static str]] = &[&["test"], &["other one"]]; // ERROR Consider removing 'static
| -^^^^^^^------------------ help: consider removing `'static`: `&[&[&'static str]]`
error: Constants have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes.rs:12:30
|
LL | const VAR_FIVE: &'static [&[&'static str]] = &[&["test"], &["other one"]]; // ERROR Consider removing 'static
| -^^^^^^^---- help: consider removing `'static`: `&str`
error: Constants have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes.rs:14:17
--> $DIR/redundant_static_lifetimes.rs:16:17
|
LL | const VAR_SIX: &'static u8 = &5;
| -^^^^^^^--- help: consider removing `'static`: `&u8`
error: Constants have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes.rs:16:29
|
LL | const VAR_SEVEN: &[&(&str, &'static [&'static str])] = &[&("one", &["other one"])];
| -^^^^^^^--------------- help: consider removing `'static`: `&[&'static str]`
error: Constants have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes.rs:16:39
|
LL | const VAR_SEVEN: &[&(&str, &'static [&'static str])] = &[&("one", &["other one"])];
| -^^^^^^^---- help: consider removing `'static`: `&str`
error: Constants have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes.rs:18:20
|
@ -91,70 +67,34 @@ LL | static STATIC_VAR_THREE: &[&'static str] = &["one", "two"]; // ERROR Consid
| -^^^^^^^---- help: consider removing `'static`: `&str`
error: Statics have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes.rs:32:40
|
LL | static STATIC_VAR_FOUR: (&str, (&str, &'static str), &'static str) = ("on", ("th", "th"), "on"); // ERROR Consider removing 'static
| -^^^^^^^---- help: consider removing `'static`: `&str`
error: Statics have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes.rs:32:55
|
LL | static STATIC_VAR_FOUR: (&str, (&str, &'static str), &'static str) = ("on", ("th", "th"), "on"); // ERROR Consider removing 'static
| -^^^^^^^---- help: consider removing `'static`: `&str`
error: Statics have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes.rs:34:26
|
LL | static STATIC_VAR_FIVE: &'static [&[&'static str]] = &[&["test"], &["other one"]]; // ERROR Consider removing 'static
| -^^^^^^^------------------ help: consider removing `'static`: `&[&[&'static str]]`
error: Statics have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes.rs:34:38
|
LL | static STATIC_VAR_FIVE: &'static [&[&'static str]] = &[&["test"], &["other one"]]; // ERROR Consider removing 'static
| -^^^^^^^---- help: consider removing `'static`: `&str`
error: Statics have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes.rs:36:25
--> $DIR/redundant_static_lifetimes.rs:32:25
|
LL | static STATIC_VAR_SIX: &'static u8 = &5;
| -^^^^^^^--- help: consider removing `'static`: `&u8`
error: Statics have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes.rs:38:37
|
LL | static STATIC_VAR_SEVEN: &[&(&str, &'static [&'static str])] = &[&("one", &["other one"])];
| -^^^^^^^--------------- help: consider removing `'static`: `&[&'static str]`
error: Statics have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes.rs:38:47
|
LL | static STATIC_VAR_SEVEN: &[&(&str, &'static [&'static str])] = &[&("one", &["other one"])];
| -^^^^^^^---- help: consider removing `'static`: `&str`
error: Statics have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes.rs:40:28
--> $DIR/redundant_static_lifetimes.rs:34:28
|
LL | static STATIC_VAR_HEIGHT: &'static Foo = &Foo {};
| -^^^^^^^---- help: consider removing `'static`: `&Foo`
error: Statics have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes.rs:42:27
--> $DIR/redundant_static_lifetimes.rs:36:27
|
LL | static STATIC_VAR_SLICE: &'static [u8] = b"Test static #3"; // ERROR Consider removing 'static.
| -^^^^^^^----- help: consider removing `'static`: `&[u8]`
error: Statics have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes.rs:44:27
--> $DIR/redundant_static_lifetimes.rs:38:27
|
LL | static STATIC_VAR_TUPLE: &'static (u8, u8) = &(1, 2); // ERROR Consider removing 'static.
| -^^^^^^^--------- help: consider removing `'static`: `&(u8, u8)`
error: Statics have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes.rs:46:27
--> $DIR/redundant_static_lifetimes.rs:40:27
|
LL | static STATIC_VAR_ARRAY: &'static [u8; 1] = b"T"; // ERROR Consider removing 'static.
| -^^^^^^^-------- help: consider removing `'static`: `&[u8; 1]`
error: aborting due to 26 previous errors
error: aborting due to 16 previous errors

View File

@ -0,0 +1,13 @@
// these are rustfixable, but run-rustfix tests cannot handle them
const VAR_FIVE: &'static [&[&'static str]] = &[&["test"], &["other one"]]; // ERROR Consider removing 'static
const VAR_SEVEN: &[&(&str, &'static [&'static str])] = &[&("one", &["other one"])];
static STATIC_VAR_FOUR: (&str, (&str, &'static str), &'static str) = ("on", ("th", "th"), "on"); // ERROR Consider removing 'static
static STATIC_VAR_FIVE: &'static [&[&'static str]] = &[&["test"], &["other one"]]; // ERROR Consider removing 'static
static STATIC_VAR_SEVEN: &[&(&str, &'static [&'static str])] = &[&("one", &["other one"])];
fn main() {}

View File

@ -0,0 +1,64 @@
error: Constants have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes_multiple.rs:3:18
|
LL | const VAR_FIVE: &'static [&[&'static str]] = &[&["test"], &["other one"]]; // ERROR Consider removing 'static
| -^^^^^^^------------------ help: consider removing `'static`: `&[&[&'static str]]`
|
= note: `-D clippy::redundant-static-lifetimes` implied by `-D warnings`
error: Constants have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes_multiple.rs:3:30
|
LL | const VAR_FIVE: &'static [&[&'static str]] = &[&["test"], &["other one"]]; // ERROR Consider removing 'static
| -^^^^^^^---- help: consider removing `'static`: `&str`
error: Constants have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes_multiple.rs:5:29
|
LL | const VAR_SEVEN: &[&(&str, &'static [&'static str])] = &[&("one", &["other one"])];
| -^^^^^^^--------------- help: consider removing `'static`: `&[&'static str]`
error: Constants have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes_multiple.rs:5:39
|
LL | const VAR_SEVEN: &[&(&str, &'static [&'static str])] = &[&("one", &["other one"])];
| -^^^^^^^---- help: consider removing `'static`: `&str`
error: Statics have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes_multiple.rs:7:40
|
LL | static STATIC_VAR_FOUR: (&str, (&str, &'static str), &'static str) = ("on", ("th", "th"), "on"); // ERROR Consider removing 'static
| -^^^^^^^---- help: consider removing `'static`: `&str`
error: Statics have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes_multiple.rs:7:55
|
LL | static STATIC_VAR_FOUR: (&str, (&str, &'static str), &'static str) = ("on", ("th", "th"), "on"); // ERROR Consider removing 'static
| -^^^^^^^---- help: consider removing `'static`: `&str`
error: Statics have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes_multiple.rs:9:26
|
LL | static STATIC_VAR_FIVE: &'static [&[&'static str]] = &[&["test"], &["other one"]]; // ERROR Consider removing 'static
| -^^^^^^^------------------ help: consider removing `'static`: `&[&[&'static str]]`
error: Statics have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes_multiple.rs:9:38
|
LL | static STATIC_VAR_FIVE: &'static [&[&'static str]] = &[&["test"], &["other one"]]; // ERROR Consider removing 'static
| -^^^^^^^---- help: consider removing `'static`: `&str`
error: Statics have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes_multiple.rs:11:37
|
LL | static STATIC_VAR_SEVEN: &[&(&str, &'static [&'static str])] = &[&("one", &["other one"])];
| -^^^^^^^--------------- help: consider removing `'static`: `&[&'static str]`
error: Statics have by default a `'static` lifetime
--> $DIR/redundant_static_lifetimes_multiple.rs:11:47
|
LL | static STATIC_VAR_SEVEN: &[&(&str, &'static [&'static str])] = &[&("one", &["other one"])];
| -^^^^^^^---- help: consider removing `'static`: `&str`
error: aborting due to 10 previous errors