d9ab4ff9a3
Remove blanket check for existence of other errors before emitting "type annotation needed" errors, and add some eager checks to avoid adding obligations when they refer to types that reference `[type error]` in order to reduce unneded errors.
22 lines
463 B
Rust
22 lines
463 B
Rust
#![feature(const_fn)]
|
|
|
|
const ARR_LEN: usize = Tt::const_val::<[i8; 123]>();
|
|
//~^ ERROR type annotations needed
|
|
|
|
trait Tt {
|
|
const fn const_val<T: Sized>() -> usize {
|
|
//~^ ERROR trait fns cannot be declared const
|
|
core::mem::size_of::<T>()
|
|
}
|
|
}
|
|
|
|
fn f(z: [f32; ARR_LEN]) -> [f32; ARR_LEN] {
|
|
//~^ ERROR evaluation of constant value failed
|
|
//~| ERROR evaluation of constant value failed
|
|
z
|
|
}
|
|
|
|
fn main() {
|
|
let _ = f([1f32; ARR_LEN]);
|
|
}
|