Could `Box<T>` have implemented `PartialEq<Box<U>>`?

I'm aware of the fact that this can't be changed now, because Box<T> is a [fundamental] type. This thread covered that topic already: Why `Box<T>` does not implement `PartialEq<Box<U>>` where `T: PartialEq<U>`? - libs - Rust Internals

But I'm curious, could that have been implemented, prior to v1.0.0 stabilization? Arrays and slices work that way. But the actual impls don't explain why slices implement this and box does not.

I don't see any reason it couldn't.

Looks like I found the answer to my question: Fully generalize cmp instances · Issue #20063 · rust-lang/rust · GitHub

Namely, there's issues with ambiguous types in many cases, eg Option<T>: Fully generalize cmp instances · Issue #20063 · rust-lang/rust · GitHub

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.