Rollup merge of #100590 - TaKO8Ki:suggest-adding-array-length, r=compiler-errors
Suggest adding an array length if possible fixes #100448
This commit is contained in:
commit
76dd1663d9
8 changed files with 141 additions and 29 deletions
14
src/test/ui/array-slice-vec/suggest-array-length.fixed
Normal file
14
src/test/ui/array-slice-vec/suggest-array-length.fixed
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
// run-rustfix
|
||||
#![allow(unused_variables, dead_code, non_upper_case_globals)]
|
||||
|
||||
fn main() {
|
||||
const Foo: [i32; 3] = [1, 2, 3];
|
||||
//~^ ERROR in expressions, `_` can only be used on the left-hand side of an assignment
|
||||
//~| ERROR using `_` for array lengths is unstable
|
||||
let foo: [i32; 3] = [1, 2, 3];
|
||||
//~^ ERROR in expressions, `_` can only be used on the left-hand side of an assignment
|
||||
//~| ERROR using `_` for array lengths is unstable
|
||||
let bar: [i32; 3] = [0; 3];
|
||||
//~^ ERROR in expressions, `_` can only be used on the left-hand side of an assignment
|
||||
//~| ERROR using `_` for array lengths is unstable
|
||||
}
|
||||
14
src/test/ui/array-slice-vec/suggest-array-length.rs
Normal file
14
src/test/ui/array-slice-vec/suggest-array-length.rs
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
// run-rustfix
|
||||
#![allow(unused_variables, dead_code, non_upper_case_globals)]
|
||||
|
||||
fn main() {
|
||||
const Foo: [i32; _] = [1, 2, 3];
|
||||
//~^ ERROR in expressions, `_` can only be used on the left-hand side of an assignment
|
||||
//~| ERROR using `_` for array lengths is unstable
|
||||
let foo: [i32; _] = [1, 2, 3];
|
||||
//~^ ERROR in expressions, `_` can only be used on the left-hand side of an assignment
|
||||
//~| ERROR using `_` for array lengths is unstable
|
||||
let bar: [i32; _] = [0; 3];
|
||||
//~^ ERROR in expressions, `_` can only be used on the left-hand side of an assignment
|
||||
//~| ERROR using `_` for array lengths is unstable
|
||||
}
|
||||
48
src/test/ui/array-slice-vec/suggest-array-length.stderr
Normal file
48
src/test/ui/array-slice-vec/suggest-array-length.stderr
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
error: in expressions, `_` can only be used on the left-hand side of an assignment
|
||||
--> $DIR/suggest-array-length.rs:8:20
|
||||
|
|
||||
LL | let foo: [i32; _] = [1, 2, 3];
|
||||
| ^ `_` not allowed here
|
||||
|
||||
error: in expressions, `_` can only be used on the left-hand side of an assignment
|
||||
--> $DIR/suggest-array-length.rs:11:20
|
||||
|
|
||||
LL | let bar: [i32; _] = [0; 3];
|
||||
| ^ `_` not allowed here
|
||||
|
||||
error: in expressions, `_` can only be used on the left-hand side of an assignment
|
||||
--> $DIR/suggest-array-length.rs:5:22
|
||||
|
|
||||
LL | const Foo: [i32; _] = [1, 2, 3];
|
||||
| ^ `_` not allowed here
|
||||
|
||||
error[E0658]: using `_` for array lengths is unstable
|
||||
--> $DIR/suggest-array-length.rs:5:22
|
||||
|
|
||||
LL | const Foo: [i32; _] = [1, 2, 3];
|
||||
| ^ help: consider specifying the array length: `3`
|
||||
|
|
||||
= note: see issue #85077 <https://github.com/rust-lang/rust/issues/85077> for more information
|
||||
= help: add `#![feature(generic_arg_infer)]` to the crate attributes to enable
|
||||
|
||||
error[E0658]: using `_` for array lengths is unstable
|
||||
--> $DIR/suggest-array-length.rs:8:20
|
||||
|
|
||||
LL | let foo: [i32; _] = [1, 2, 3];
|
||||
| ^ help: consider specifying the array length: `3`
|
||||
|
|
||||
= note: see issue #85077 <https://github.com/rust-lang/rust/issues/85077> for more information
|
||||
= help: add `#![feature(generic_arg_infer)]` to the crate attributes to enable
|
||||
|
||||
error[E0658]: using `_` for array lengths is unstable
|
||||
--> $DIR/suggest-array-length.rs:11:20
|
||||
|
|
||||
LL | let bar: [i32; _] = [0; 3];
|
||||
| ^ help: consider specifying the array length: `3`
|
||||
|
|
||||
= note: see issue #85077 <https://github.com/rust-lang/rust/issues/85077> for more information
|
||||
= help: add `#![feature(generic_arg_infer)]` to the crate attributes to enable
|
||||
|
||||
error: aborting due to 6 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0658`.
|
||||
|
|
@ -9,6 +9,12 @@ LL | async fn new() -> [u8; _];
|
|||
= note: `async` trait functions are not currently supported
|
||||
= note: consider using the `async-trait` crate: https://crates.io/crates/async-trait
|
||||
|
||||
error: in expressions, `_` can only be used on the left-hand side of an assignment
|
||||
--> $DIR/issue-95307.rs:7:28
|
||||
|
|
||||
LL | async fn new() -> [u8; _];
|
||||
| ^ `_` not allowed here
|
||||
|
||||
error[E0658]: using `_` for array lengths is unstable
|
||||
--> $DIR/issue-95307.rs:7:28
|
||||
|
|
||||
|
|
@ -18,12 +24,6 @@ LL | async fn new() -> [u8; _];
|
|||
= note: see issue #85077 <https://github.com/rust-lang/rust/issues/85077> for more information
|
||||
= help: add `#![feature(generic_arg_infer)]` to the crate attributes to enable
|
||||
|
||||
error: in expressions, `_` can only be used on the left-hand side of an assignment
|
||||
--> $DIR/issue-95307.rs:7:28
|
||||
|
|
||||
LL | async fn new() -> [u8; _];
|
||||
| ^ `_` not allowed here
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
Some errors have detailed explanations: E0658, E0706.
|
||||
|
|
|
|||
|
|
@ -1,33 +1,24 @@
|
|||
error[E0658]: using `_` for array lengths is unstable
|
||||
--> $DIR/feature-gate-generic_arg_infer.rs:11:27
|
||||
|
|
||||
LL | let _x: [u8; 3] = [0; _];
|
||||
| ^
|
||||
|
|
||||
= note: see issue #85077 <https://github.com/rust-lang/rust/issues/85077> for more information
|
||||
= help: add `#![feature(generic_arg_infer)]` to the crate attributes to enable
|
||||
|
||||
error: in expressions, `_` can only be used on the left-hand side of an assignment
|
||||
--> $DIR/feature-gate-generic_arg_infer.rs:11:27
|
||||
|
|
||||
LL | let _x: [u8; 3] = [0; _];
|
||||
| ^ `_` not allowed here
|
||||
|
||||
error[E0658]: using `_` for array lengths is unstable
|
||||
--> $DIR/feature-gate-generic_arg_infer.rs:14:18
|
||||
|
|
||||
LL | let _y: [u8; _] = [0; 3];
|
||||
| ^
|
||||
|
|
||||
= note: see issue #85077 <https://github.com/rust-lang/rust/issues/85077> for more information
|
||||
= help: add `#![feature(generic_arg_infer)]` to the crate attributes to enable
|
||||
|
||||
error: in expressions, `_` can only be used on the left-hand side of an assignment
|
||||
--> $DIR/feature-gate-generic_arg_infer.rs:14:18
|
||||
|
|
||||
LL | let _y: [u8; _] = [0; 3];
|
||||
| ^ `_` not allowed here
|
||||
|
||||
error[E0658]: using `_` for array lengths is unstable
|
||||
--> $DIR/feature-gate-generic_arg_infer.rs:14:18
|
||||
|
|
||||
LL | let _y: [u8; _] = [0; 3];
|
||||
| ^ help: consider specifying the array length: `3`
|
||||
|
|
||||
= note: see issue #85077 <https://github.com/rust-lang/rust/issues/85077> for more information
|
||||
= help: add `#![feature(generic_arg_infer)]` to the crate attributes to enable
|
||||
|
||||
error[E0747]: type provided when a constant was expected
|
||||
--> $DIR/feature-gate-generic_arg_infer.rs:20:20
|
||||
|
|
||||
|
|
@ -37,6 +28,15 @@ LL | let _x = foo::<_>([1,2]);
|
|||
= help: const arguments cannot yet be inferred with `_`
|
||||
= help: add `#![feature(generic_arg_infer)]` to the crate attributes to enable
|
||||
|
||||
error[E0658]: using `_` for array lengths is unstable
|
||||
--> $DIR/feature-gate-generic_arg_infer.rs:11:27
|
||||
|
|
||||
LL | let _x: [u8; 3] = [0; _];
|
||||
| ^
|
||||
|
|
||||
= note: see issue #85077 <https://github.com/rust-lang/rust/issues/85077> for more information
|
||||
= help: add `#![feature(generic_arg_infer)]` to the crate attributes to enable
|
||||
|
||||
error: aborting due to 5 previous errors
|
||||
|
||||
Some errors have detailed explanations: E0658, E0747.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue