Closed
Description
// OK
pub extern "system" fn raw() -> () {}
// warning: `extern` fn uses type `()`, which is not FFI-safe
pub extern "system" fn assoc() -> <() as ToOwned>::Owned {}
// ^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
#[repr(transparent)]
pub struct W<T>(T);
// warning: `extern` fn uses type `()`, which is not FFI-safe
pub extern "system" fn wrap() -> W<()> { W(()) }
// ^^^^^^ not FFI-safe
// note: composed only of `PhantomData`
All of these cases work in Beta. At least the associated type warning is recent regression in Nightly. I suspect #65134
CC @davidtwco