// { dg-additional-options "-w" }
struct FatPtr<T> {
    data: *const T,
    len: usize,
}
pub union Repr<T> {
    rust: *const [T],
    rust_mut: *mut [T],
    raw: FatPtr<T>,
}
impl<T> [T] {
    pub const fn is_empty(&self) -> bool {
        self.len() == 0
    }
    pub const fn len(&self) -> usize {
        unsafe { Repr { rust: self }.raw.len }
    }
}