2021-01-17 18:48:52 -06:00
|
|
|
//@ run-rustfix
|
2023-03-29 15:18:20 -05:00
|
|
|
|
2024-02-06 20:42:01 -06:00
|
|
|
#![allow(dead_code)]
|
2023-05-19 04:25:35 -05:00
|
|
|
#![allow(dropping_references)]
|
2023-03-29 15:18:20 -05:00
|
|
|
|
2021-01-17 18:48:52 -06:00
|
|
|
struct Foo {
|
|
|
|
x: isize
|
|
|
|
}
|
|
|
|
|
|
|
|
#[allow(drop_bounds)]
|
|
|
|
trait Bar: Drop {
|
|
|
|
fn blah(&self);
|
|
|
|
}
|
|
|
|
|
|
|
|
impl Drop for Foo {
|
|
|
|
fn drop(&mut self) {
|
|
|
|
println!("kaboom");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl Bar for Foo {
|
|
|
|
fn blah(&self) {
|
|
|
|
drop(self); //~ ERROR explicit use of destructor method
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let x = Foo { x: 3 };
|
|
|
|
println!("{}", x.x);
|
|
|
|
}
|