[useless_vec]: use the source span

This commit is contained in:
y21 2023-07-03 13:40:33 +02:00
parent 17a48c2652
commit 1f77f8cc3c
4 changed files with 32 additions and 4 deletions

View File

@ -181,7 +181,7 @@ fn check_vec_macro<'tcx>(
if args.len() as u64 * size_of(cx, last) > self.too_large_for_stack {
return;
}
let span = args[0].span.to(last.span);
let span = args[0].span.source_callsite().to(last.span.source_callsite());
let args = snippet_with_applicability(cx, span, "..", &mut applicability);
match suggest_slice {

View File

@ -115,6 +115,17 @@ fn main() {
let _x = vec![1; 201];
}
fn issue11075() {
macro_rules! repro {
($e:expr) => {
stringify!($e)
};
}
for _string in [repro!(true), repro!(null)] {
unimplemented!();
}
}
#[clippy::msrv = "1.53"]
fn above() {
for a in [1, 2, 3] {

View File

@ -115,6 +115,17 @@ fn main() {
let _x = vec![1; 201];
}
fn issue11075() {
macro_rules! repro {
($e:expr) => {
stringify!($e)
};
}
for _string in vec![repro!(true), repro!(null)] {
unimplemented!();
}
}
#[clippy::msrv = "1.53"]
fn above() {
for a in vec![1, 2, 3] {

View File

@ -85,16 +85,22 @@ LL | for _ in vec![1, 2, 3] {}
| ^^^^^^^^^^^^^ help: you can use an array directly: `[1, 2, 3]`
error: useless use of `vec!`
--> $DIR/vec.rs:120:14
--> $DIR/vec.rs:124:20
|
LL | for _string in vec![repro!(true), repro!(null)] {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[repro!(true), repro!(null)]`
error: useless use of `vec!`
--> $DIR/vec.rs:131:14
|
LL | for a in vec![1, 2, 3] {
| ^^^^^^^^^^^^^ help: you can use an array directly: `[1, 2, 3]`
error: useless use of `vec!`
--> $DIR/vec.rs:124:14
--> $DIR/vec.rs:135:14
|
LL | for a in vec![String::new(), String::new()] {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[String::new(), String::new()]`
error: aborting due to 16 previous errors
error: aborting due to 17 previous errors