// check-pass #[derive(Clone, Default)] struct MaybeCopy(T); impl Copy for MaybeCopy {} fn is_copy(x: T) { println!("{}", std::any::type_name::()); } fn main() { is_copy(MaybeCopy::default()); [MaybeCopy::default(); 13]; // didn't work, because `Copy` was only checked in the mir }