// check-pass | |
#![deny(improper_ctypes)] | |
// This test checks that return types are normalized before being checked for FFI-safety, and that | |
// transparent newtype wrappers are FFI-safe if the type being wrapped is FFI-safe. | |
#[repr(transparent)] | |
pub struct W<T>(T); | |
extern "C" { | |
pub fn bare() -> (); | |
pub fn normalize() -> <() as ToOwned>::Owned; | |
pub fn transparent() -> W<()>; | |
} | |
fn main() {} |