// check-pass #![deny(improper_ctypes)] use std::marker::PhantomData; trait Foo { type Assoc; } impl Foo for () { type Assoc = PhantomData<()>; } #[repr(transparent)] struct Wow where T: Foo> { x: ::Assoc, v: u32, } extern "C" { fn test(v: Wow<()>); } fn main() {}