also test with PhantomData
This commit is contained in:
parent
aca76d42a0
commit
bb17f71749
1 changed files with 9 additions and 3 deletions
|
@ -4,18 +4,24 @@
|
|||
|
||||
#![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() {}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue