#![feature(generic_const_exprs)] #![allow(incomplete_features)] trait Foo { fn test(&self) -> [u8; N + 1]; } impl Foo for () { fn test(&self) -> [u8; N + 1] { [0; N + 1] } } fn use_dyn(v: &dyn Foo) where [u8; N + 1]: Sized { assert_eq!(v.test(), [0; N + 1]); } fn main() { use_dyn(&()); //~^ ERROR type annotations needed }