Auto merge of #26935 - oli-obk:const_val_description, r=eddyb
r? @eddyb Adding new variants is annoying as one needs to modify all these places that **don't** handle the new variant. I chose not to use `Display` as I don't think it is appropriate.
This commit is contained in:
commit
5dbddfb210
3 changed files with 51 additions and 54 deletions
|
|
@ -12,47 +12,58 @@
|
|||
|
||||
fn main() {
|
||||
let n = 1;
|
||||
let a = [0; n]; //~ ERROR expected constant integer for repeat count, found variable
|
||||
let a = [0; n];
|
||||
//~^ ERROR expected constant integer for repeat count, found variable [E0307]
|
||||
let b = [0; ()];
|
||||
//~^ ERROR mismatched types
|
||||
//~| expected `usize`
|
||||
//~| found `()`
|
||||
//~| expected usize
|
||||
//~| found ()
|
||||
//~| ERROR expected positive integer for repeat count, found tuple
|
||||
//~^ ERROR mismatched types
|
||||
//~| expected `usize`
|
||||
//~| found `()`
|
||||
//~| expected usize
|
||||
//~| found ()) [E0308]
|
||||
//~| ERROR expected positive integer for repeat count, found tuple [E0306]
|
||||
let c = [0; true];
|
||||
//~^ ERROR mismatched types
|
||||
//~| expected `usize`
|
||||
//~| found `bool`
|
||||
//~| expected usize
|
||||
//~| found bool
|
||||
//~| ERROR expected positive integer for repeat count, found boolean
|
||||
//~| found bool) [E0308]
|
||||
//~| ERROR expected positive integer for repeat count, found boolean [E0306]
|
||||
let d = [0; 0.5];
|
||||
//~^ ERROR mismatched types
|
||||
//~| expected `usize`
|
||||
//~| found `_`
|
||||
//~| expected usize
|
||||
//~| found floating-point variable
|
||||
//~| ERROR expected positive integer for repeat count, found float
|
||||
//~| found floating-point variable) [E0308]
|
||||
//~| ERROR expected positive integer for repeat count, found float [E0306]
|
||||
let e = [0; "foo"];
|
||||
//~^ ERROR mismatched types
|
||||
//~| expected `usize`
|
||||
//~| found `&'static str`
|
||||
//~| expected usize
|
||||
//~| found &-ptr
|
||||
//~| ERROR expected positive integer for repeat count, found string
|
||||
//~| found &-ptr) [E0308]
|
||||
//~| ERROR expected positive integer for repeat count, found string literal [E0306]
|
||||
let f = [0; -4_isize];
|
||||
//~^ ERROR mismatched types
|
||||
//~| expected `usize`
|
||||
//~| found `isize`
|
||||
//~| expected usize
|
||||
//~| found isize
|
||||
//~| ERROR expected positive integer for repeat count, found negative integer
|
||||
//~| found isize) [E0308]
|
||||
//~| ERROR expected positive integer for repeat count, found negative integer [E0306]
|
||||
let f = [0_usize; -1_isize];
|
||||
//~^ ERROR mismatched types
|
||||
//~| expected `usize`
|
||||
//~| found `isize`
|
||||
//~| expected usize
|
||||
//~| found isize
|
||||
//~| ERROR expected positive integer for repeat count, found negative integer
|
||||
//~| found isize) [E0308]
|
||||
//~| ERROR expected positive integer for repeat count, found negative integer [E0306]
|
||||
struct G {
|
||||
g: (),
|
||||
}
|
||||
let g = [0; G { g: () }];
|
||||
//~^ ERROR mismatched types
|
||||
//~| expected `usize`
|
||||
//~| found `main::G`
|
||||
//~| expected usize
|
||||
//~| found struct `main::G`) [E0308]
|
||||
//~| ERROR expected positive integer for repeat count, found struct [E0306]
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue