How to implement a trait for any mutability?
Can mutability be a generic parameter in traits? I'd like to implement a trait for a mutable and an immutable variant of a type without having to copy&paste the impl block. trait Foo<T> {…} impl<T> Foo for *const T {…} impl<T> Foo for *mut T {…same thing again…} Wishful pseudocode: trait Foo<T> {…} impl<T, Mutability> Foo for *Mutability T {…} Can mutability be a generic parameter in traits? No. ^_^ Here's some detailed discussion on the matter ( Internals , Reddit ). I think in general people recognize that the current state is not ideal, but that it's not terribly constraining at the moment,