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]); }