1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
// FIXME: This still ICEs. // // ignore-test #![deny(indirect_structural_match)] #[derive(PartialEq, Eq)] enum O<T> { Some(*const T), // Can also use PhantomData<T> None, } struct B; const C: &[O<B>] = &[O::None]; fn main() { let x = O::None; match &[x][..] { C => (), _ => (), } }