| error[E0119]: conflicting implementations of trait `std::ops::Drop` for type `std::boxed::Box<_>`: |
| --> $DIR/issue-41974.rs:17:1 |
| | |
| LL | impl<T> Drop for T where T: A { //~ ERROR E0119 |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| | |
| = note: conflicting implementation in crate `alloc`: |
| - impl<T> std::ops::Drop for std::boxed::Box<T> |
| where T: ?Sized; |
| = note: downstream crates may implement trait `A` for type `std::boxed::Box<_>` |
| |
| error[E0120]: the Drop trait may only be implemented on structures |
| --> $DIR/issue-41974.rs:17:18 |
| | |
| LL | impl<T> Drop for T where T: A { //~ ERROR E0119 |
| | ^ implementing Drop requires a struct |
| |
| error[E0210]: type parameter `T` must be used as the type parameter for some local type (e.g. `MyStruct<T>`) |
| --> $DIR/issue-41974.rs:17:1 |
| | |
| LL | impl<T> Drop for T where T: A { //~ ERROR E0119 |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type parameter `T` must be used as the type parameter for some local type |
| | |
| = note: only traits defined in the current crate can be implemented for a type parameter |
| |
| error: aborting due to 3 previous errors |
| |
| Some errors occurred: E0119, E0120, E0210. |
| For more information about an error, try `rustc --explain E0119`. |