Named impl with Implementation Selection Variant
Rust Internals [Unofficial]
June 13, 2026
viruscamp:
- […] at least when a default implementation exists.
This breaks adding or broadening a trait impl being SemVer-safe.
viruscamp:
- By forbidding named implementations for specific traits, the hashtable problem is cleanly bypassed.
The "hashtable problem" is a stand-in for the general category of traits with consistency requirements. This includes third-party definitions like the (de)serialisation traits in Serde or the reflection traits in facet (in combination with type keying).
It's not quite a soundness problem, but the logical consistency aspect here is important enough that, in my opinion, no proposal that special-cases specific traits can solve it ergonomically.
Discussion in the ATmosphere