const ARR_LEN: usize = Tt::const_val::<[i8; 123]>(); //~^ ERROR E0790 trait Tt { const fn const_val() -> usize { //~^ ERROR functions in traits cannot be declared const core::mem::size_of::() } } fn f(z: [f32; ARR_LEN]) -> [f32; ARR_LEN] { //~^ constant //~| constant z } fn main() { let _ = f([1f32; ARR_LEN]); }