// check-pass #![deny(improper_ctypes_definitions)] #[repr(C)] pub struct Wrap(T); #[repr(transparent)] pub struct TransparentWrap(T); pub extern "C" fn f() -> Wrap<()> { todo!() } const _: extern "C" fn() -> Wrap<()> = f; pub extern "C" fn ff() -> Wrap> { todo!() } const _: extern "C" fn() -> Wrap> = ff; pub extern "C" fn g() -> TransparentWrap<()> { todo!() } const _: extern "C" fn() -> TransparentWrap<()> = g; pub extern "C" fn gg() -> TransparentWrap> { todo!() } const _: extern "C" fn() -> TransparentWrap> = gg; fn main() {}