// build-pass #![allow(incomplete_features)] #![feature(generic_const_exprs)] pub trait Foo { const SIZE: usize; fn to_bytes(&self) -> [u8; Self::SIZE]; } pub fn bar(a: &G) -> u8 where [(); G::SIZE]: Sized, { deeper_bar(a) } fn deeper_bar(a: &G) -> u8 where [(); G::SIZE]: Sized, { a.to_bytes()[0] } fn main() {}