blob: 1ca145bae420d0f71037612bc82f91410abbabc7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
//@ run-pass
use std::mem::transmute;
struct NonCopyable(*const u8);
impl Drop for NonCopyable {
fn drop(&mut self) {
let NonCopyable(p) = *self;
let _v = unsafe { transmute::<*const u8, Box<isize>>(p) };
}
}
pub fn main() {
let t = Box::new(0);
let p = unsafe { transmute::<Box<isize>, *const u8>(t) };
let _z = NonCopyable(p);
}
|