mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 14:55:26 +00:00
433da1fc04
They pass fine.
20 lines
420 B
Rust
20 lines
420 B
Rust
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);
|
|
}
|