-error[E0119]: conflicting implementations of trait `std::ops::Drop` for type `std::boxed::Box<_>`:
+error[E0119]: conflicting implementations of trait `std::ops::Drop` for type `std::boxed::Box<_, _>`:
--> $DIR/issue-41974.rs:7:1
|
LL | impl<T> Drop for T where T: A {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: conflicting implementation in crate `alloc`:
- - impl<T> Drop for Box<T>
- where T: ?Sized;
- = note: downstream crates may implement trait `A` for type `std::boxed::Box<_>`
+ - impl<T, A> Drop for Box<T, A>
+ where A: AllocRef, T: ?Sized;
+ = note: downstream crates may implement trait `A` for type `std::boxed::Box<_, _>`
error[E0120]: the `Drop` trait may only be implemented for structs, enums, and unions
--> $DIR/issue-41974.rs:7:18
LL | impl<T> Drop for T where T: A {
| ^ type parameter `T` must be used as the type parameter for some local type
|
- = note: implementing a foreign trait is only possible if at least one of the types for which is it implemented is local
+ = note: implementing a foreign trait is only possible if at least one of the types for which it is implemented is local
= note: only traits defined in the current crate can be implemented for a type parameter
error: aborting due to 3 previous errors