External Publication
Visit Post

Named impl with Implementation Selection Variant

Rust Internals [Unofficial] June 13, 2026
Source

viruscamp:

  1. […] at least when a default implementation exists.

This breaks adding or broadening a trait impl being SemVer-safe.

viruscamp:

  1. 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

Loading comments...