//@ run-pass | |
// check that casts are not being treated as lexprs. | |
fn main() { | |
let mut a = 0i32; | |
let b = &(a as i32); | |
a = 1; | |
assert_ne!(&a as *const i32, b as *const i32); | |
assert_eq!(*b, 0); | |
assert_eq!(issue_36936(), 1); | |
} | |
struct A(u32); | |
impl Drop for A { | |
fn drop(&mut self) { | |
self.0 = 0; | |
} | |
} | |
fn issue_36936() -> u32 { | |
let a = &(A(1) as A); | |
a.0 | |
} |