Skip to content

Commit

Permalink
[useless_vec]: use the source span
Browse files Browse the repository at this point in the history
  • Loading branch information
y21 committed Jul 3, 2023
1 parent 17a48c2 commit 1f77f8c
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 4 deletions.
2 changes: 1 addition & 1 deletion clippy_lints/src/vec.rs
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ impl UselessVec {
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 {
Expand Down
11 changes: 11 additions & 0 deletions tests/ui/vec.fixed
Original file line number Diff line number Diff line change
Expand Up @@ -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] {
Expand Down
11 changes: 11 additions & 0 deletions tests/ui/vec.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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] {
Expand Down
12 changes: 9 additions & 3 deletions tests/ui/vec.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit 1f77f8c

Please sign in to comment.