67f455afe1
When constant evaluation fails because its MIR is tainted by errors, suppress note indicating that erroneous constant was used, since those errors have to be fixed regardless of the constant being used or not.
18 lines
334 B
Rust
18 lines
334 B
Rust
const ARR_LEN: usize = Tt::const_val::<[i8; 123]>();
|
|
//~^ ERROR E0790
|
|
|
|
trait Tt {
|
|
const fn const_val<T: Sized>() -> usize {
|
|
//~^ ERROR functions in traits cannot be declared const
|
|
core::mem::size_of::<T>()
|
|
}
|
|
}
|
|
|
|
fn f(z: [f32; ARR_LEN]) -> [f32; ARR_LEN] {
|
|
z
|
|
}
|
|
|
|
fn main() {
|
|
let _ = f([1f32; ARR_LEN]);
|
|
}
|