// error-pattern:complex called | |
// error-pattern:dropped | |
// error-pattern:exit | |
struct Droppable; | |
impl Drop for Droppable { | |
fn drop(&mut self) { | |
eprintln!("dropped"); | |
} | |
} | |
// return value of this function is copied into the return slot | |
fn complex() -> u64 { | |
eprintln!("complex called"); | |
42 | |
} | |
fn mir() -> u64 { | |
let x = Droppable; | |
return complex(); | |
drop(x); | |
} | |
pub fn main() { | |
assert_eq!(mir(), 42); | |
panic!("exit"); | |
} |