Make sure array length diagnostic doesn't regress
This commit is contained in:
parent
56181cf8ab
commit
b3a13fdd13
2 changed files with 7 additions and 3 deletions
|
@ -4,8 +4,12 @@ const ARR: [i32; 6] = [42, 43, 44, 45, 46, 47];
|
||||||
const IDX: usize = 3;
|
const IDX: usize = 3;
|
||||||
const VAL: i32 = ARR[IDX];
|
const VAL: i32 = ARR[IDX];
|
||||||
const BONG: [i32; (ARR[0] - 41) as usize] = [5];
|
const BONG: [i32; (ARR[0] - 41) as usize] = [5];
|
||||||
const BLUB: [i32; (ARR[0] - 40) as usize] = [5]; //~ ERROR: mismatched types
|
const BLUB: [i32; (ARR[0] - 40) as usize] = [5];
|
||||||
const BOO: [i32; (ARR[0] - 41) as usize] = [5, 99]; //~ ERROR: mismatched types
|
//~^ ERROR: mismatched types
|
||||||
|
//~| expected an array with a fixed size of 2 elements, found one with 1 element
|
||||||
|
const BOO: [i32; (ARR[0] - 41) as usize] = [5, 99];
|
||||||
|
//~^ ERROR: mismatched types
|
||||||
|
//~| expected an array with a fixed size of 1 element, found one with 2 elements
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let _ = VAL;
|
let _ = VAL;
|
||||||
|
|
|
@ -8,7 +8,7 @@ LL | const BLUB: [i32; (ARR[0] - 40) as usize] = [5];
|
||||||
found type `[i32; 1]`
|
found type `[i32; 1]`
|
||||||
|
|
||||||
error[E0308]: mismatched types
|
error[E0308]: mismatched types
|
||||||
--> $DIR/const-array-oob-arith.rs:8:44
|
--> $DIR/const-array-oob-arith.rs:10:44
|
||||||
|
|
|
|
||||||
LL | const BOO: [i32; (ARR[0] - 41) as usize] = [5, 99];
|
LL | const BOO: [i32; (ARR[0] - 41) as usize] = [5, 99];
|
||||||
| ^^^^^^^ expected an array with a fixed size of 1 element, found one with 2 elements
|
| ^^^^^^^ expected an array with a fixed size of 1 element, found one with 2 elements
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue