2021-01-17 16:48:52 -08:00
|
|
|
// run-rustfix
|
2023-03-29 22:18:20 +02:00
|
|
|
|
2023-05-19 11:25:35 +02:00
|
|
|
#![allow(dropping_references)]
|
2023-03-29 22:18:20 +02:00
|
|
|
|
2021-01-17 16:48:52 -08: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);
|
|
|
|
}
|