//@ run-pass // Check that unsizing does not change which field is considered for niche layout. #![allow(dead_code)] #[derive(Clone)] struct WideptrField { first: usize, second: usize, niche: NicheAtEnd, tail: T, } #[derive(Clone)] #[repr(C)] struct NicheAtEnd { arr: [u8; 7], b: bool, } type Tail = [bool; 8]; fn main() { assert_eq!( core::mem::offset_of!(WideptrField, niche), core::mem::offset_of!(WideptrField, niche) ); }