(root)/
gcc-13.2.0/
gcc/
testsuite/
rust/
execute/
torture/
slice1.rs
// { dg-additional-options "-w" }
struct FatPtr<T> {
    data: *const T,
    len: usize,
}

union Repr<T> {
    rust: *const [T],
    rust_mut: *mut [T],
    raw: FatPtr<T>,
}

const fn slice_from_raw_parts<T>(data: *const T, len: usize) -> *const [T] {
    unsafe {
        Repr {
            raw: FatPtr { data, len },
        }
        .rust
    }
}

fn main() -> i32 {
    let a = 123;
    let b: *const i32 = &a;
    let c = slice_from_raw_parts(b, 1);

    0
}