summaryrefslogtreecommitdiffstats
path: root/src/test/ui/lint/lint-ctypes-66202.rs
blob: ebab41d143e675b2e37dcfd87144c5f45105859e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 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() {}