// This is a regression test for issue https://github.com/rust-lang/rust/issues/106629. | |
// It ensures that transparent types where all fields are PhantomData are marked as | |
// FFI-safe. | |
//@ check-pass | |
#[repr(transparent)] | |
#[derive(Copy, Clone)] | |
struct MyPhantom(core::marker::PhantomData<u8>); | |
#[repr(C)] | |
#[derive(Copy, Clone)] | |
pub struct Bar { | |
pub x: i32, | |
_marker: MyPhantom, | |
} | |
extern "C" { | |
pub fn foo(bar: *mut Bar); | |
} | |
fn main() {} |