error: bounds on `T: Drop` are useless, consider instead using `std::mem::needs_drop` to detect if a type has a destructor --> $DIR/drop-bounds.rs:2:11 | LL | fn foo() {} | ^^^^ | note: the lint level is defined here --> $DIR/drop-bounds.rs:1:9 | LL | #![deny(drop_bounds)] | ^^^^^^^^^^^ error: bounds on `U: Drop` are useless, consider instead using `std::mem::needs_drop` to detect if a type has a destructor --> $DIR/drop-bounds.rs:5:8 | LL | U: Drop, | ^^^^ error: bounds on `impl Drop: Drop` are useless, consider instead using `std::mem::needs_drop` to detect if a type has a destructor --> $DIR/drop-bounds.rs:8:17 | LL | fn baz(_x: impl Drop) {} | ^^^^ error: bounds on `T: Drop` are useless, consider instead using `std::mem::needs_drop` to detect if a type has a destructor --> $DIR/drop-bounds.rs:9:15 | LL | struct Foo { | ^^^^ error: bounds on `U: Drop` are useless, consider instead using `std::mem::needs_drop` to detect if a type has a destructor --> $DIR/drop-bounds.rs:12:24 | LL | struct Bar where U: Drop { | ^^^^ error: bounds on `Self: Drop` are useless, consider instead using `std::mem::needs_drop` to detect if a type has a destructor --> $DIR/drop-bounds.rs:15:12 | LL | trait Baz: Drop { | ^^^^ error: bounds on `T: Drop` are useless, consider instead using `std::mem::needs_drop` to detect if a type has a destructor --> $DIR/drop-bounds.rs:17:9 | LL | impl Baz for T { | ^^^^ error: aborting due to 7 previous errors