1
Fork 0

Make sure array length diagnostic doesn't regress

This commit is contained in:
varkor 2019-05-27 14:30:16 +01:00
parent 56181cf8ab
commit b3a13fdd13
2 changed files with 7 additions and 3 deletions

View file

@ -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;

View file

@ -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