2020-04-16 06:50:32 +00:00
|
|
|
// run-fail
|
2015-12-21 16:58:18 +00:00
|
|
|
// error-pattern:diverging_fn called
|
|
|
|
// error-pattern:0 dropped
|
2022-09-12 22:42:04 +00:00
|
|
|
// needs-unwind this test checks that a destructor is called after panicking
|
2015-12-14 23:40:43 +00:00
|
|
|
|
2015-12-21 16:58:18 +00:00
|
|
|
struct Droppable(u8);
|
|
|
|
impl Drop for Droppable {
|
|
|
|
fn drop(&mut self) {
|
2017-09-25 04:14:56 +00:00
|
|
|
eprintln!("{} dropped", self.0);
|
2015-12-21 16:58:18 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn diverging_fn() -> ! {
|
|
|
|
panic!("diverging_fn called")
|
|
|
|
}
|
|
|
|
|
|
|
|
fn mir(d: Droppable) {
|
|
|
|
diverging_fn();
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let d = Droppable(0);
|
|
|
|
mir(d);
|
|
|
|
}
|