2012-03-26 18:25:29 -05:00
|
|
|
// error-pattern:fail
|
|
|
|
|
|
|
|
fn failfn() {
|
|
|
|
fail;
|
|
|
|
}
|
|
|
|
|
2012-08-15 20:46:55 -05:00
|
|
|
struct r {
|
2012-06-04 19:04:08 -05:00
|
|
|
let v: *int;
|
|
|
|
drop unsafe {
|
2012-08-29 18:00:36 -05:00
|
|
|
let _v2: ~int = unsafe::reinterpret_cast(&self.v);
|
2012-06-04 19:04:08 -05:00
|
|
|
}
|
2012-03-26 18:25:29 -05:00
|
|
|
}
|
|
|
|
|
2012-09-05 17:58:43 -05:00
|
|
|
fn r(v: *int) -> r {
|
|
|
|
r {
|
|
|
|
v: v
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2012-03-26 18:25:29 -05:00
|
|
|
fn main() unsafe {
|
|
|
|
let i1 = ~0;
|
2012-08-29 18:00:36 -05:00
|
|
|
let i1p = unsafe::reinterpret_cast(&i1);
|
2012-03-26 18:25:29 -05:00
|
|
|
unsafe::forget(i1);
|
|
|
|
let x = @r(i1p);
|
|
|
|
failfn();
|
|
|
|
log(error, x);
|
|
|
|
}
|