Rollup merge of #99891 - compiler-errors:suggest-slicing-carefully, r=oli-obk
Adjust an expr span to account for macros
Fix this erroneous suggestion:
```
error[E0529]: expected an array or slice, found `Vec<{integer}>`
--> /home/gh-compiler-errors/test.rs:2:9
|
2 | let [..] = vec![1, 2, 3];
| ^^^^ pattern cannot match with input type `Vec<{integer}>`
|
help: consider slicing here
--> /home/gh-compiler-errors/rust2/library/alloc/src/macros.rs:50:36
|
50~ $crate::__rust_force_expr!(<[_]>::into_vec(
51+ #[rustc_box]
52+ $crate::boxed::Box::new([$($x),+])
53~ )[..])
```
This commit is contained in:
commit
735969eacd
5 changed files with 22 additions and 3 deletions
|
|
@ -24,4 +24,8 @@ fn main() {
|
|||
//~^ ERROR: expected an array or slice
|
||||
_ => {}
|
||||
}
|
||||
|
||||
let [..] = vec![1, 2, 3][..];
|
||||
//~^ ERROR: expected an array or slice
|
||||
//~| HELP: consider slicing here
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,4 +24,8 @@ fn main() {
|
|||
//~^ ERROR: expected an array or slice
|
||||
_ => {}
|
||||
}
|
||||
|
||||
let [..] = vec![1, 2, 3];
|
||||
//~^ ERROR: expected an array or slice
|
||||
//~| HELP: consider slicing here
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,6 +31,14 @@ LL |
|
|||
LL | [5] => {}
|
||||
| ^^^ pattern cannot match with input type `Vec<_>`
|
||||
|
||||
error: aborting due to 4 previous errors
|
||||
error[E0529]: expected an array or slice, found `Vec<{integer}>`
|
||||
--> $DIR/pattern-slice-vec.rs:28:9
|
||||
|
|
||||
LL | let [..] = vec![1, 2, 3];
|
||||
| ^^^^ ------------- help: consider slicing here: `vec![1, 2, 3][..]`
|
||||
| |
|
||||
| pattern cannot match with input type `Vec<{integer}>`
|
||||
|
||||
error: aborting due to 5 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0529`.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue