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);
}
 |