#![feature(extern_types, const_transmute)]
+use std::marker::PhantomData;
+
extern "C" {
pub type ExternType;
}
unsafe impl Sync for ExternType {}
+static MAGIC_FFI_STATIC: u8 = 42;
#[repr(transparent)]
pub struct Wrapper(ExternType);
-
-static MAGIC_FFI_STATIC: u8 = 42;
-
pub static MAGIC_FFI_REF: &'static Wrapper = unsafe {
std::mem::transmute(&MAGIC_FFI_STATIC)
};
+#[repr(transparent)]
+pub struct Wrapper2(PhantomData<Vec<i32>>, ExternType);
+pub static MAGIC_FFI_REF2: &'static Wrapper2 = unsafe {
+ std::mem::transmute(&MAGIC_FFI_STATIC)
+};
+
fn main() {}