1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
// check-pass #![deny(improper_ctypes)] pub trait Foo { type Assoc; } impl Foo for () { type Assoc = u32; } extern "C" { pub fn lint_me(x: Bar<()>); } #[repr(transparent)] pub struct Bar<T: Foo> { value: <T as Foo>::Assoc, } fn main() {}