trait Dim { fn dim() -> usize; } enum Dim3 {} impl Dim for Dim3 { fn dim() -> usize { 3 } } pub struct Vector { entries: [T; D::dim()], //~^ ERROR generic parameters may not be used _dummy: D, } fn main() {}