blob: 438fbddf31fb287c7d96989c1afdcd7cf6f16a52 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
extern crate testcrate;
use std::mem;
extern "C" {
fn give_back(tu: testcrate::TestUnion) -> u64;
}
fn main() {
let magic: u64 = 0xDEADBEEF;
// Let's test calling it cross crate
let back = unsafe { testcrate::give_back(mem::transmute(magic)) };
assert_eq!(magic, back);
// And just within this crate
let back = unsafe { give_back(mem::transmute(magic)) };
assert_eq!(magic, back);
}
|