// check-pass #![feature(generic_const_exprs)] #![allow(incomplete_features)] use std::mem::size_of; struct Foo<T, const N: usize>(T); impl<T> Foo<T, { size_of::<T>() }> { fn test() { let _: [u8; std::mem::size_of::<T>()]; } } trait Bar<const N: usize> { fn test_me(); } impl<T> Bar<{ size_of::<T>() }> for Foo<T, 3> { fn test_me() { let _: [u8; std::mem::size_of::<T>()]; } } fn main() {}