标签: rust traits mutability
可变性是特征中的通用参数吗?我想为一个类型的可变和不可变变体实现一个特征,而不必复制和粘贴impl块。
impl
trait Foo<T> {…} impl<T> Foo for *const T {…} impl<T> Foo for *mut T {…same thing again…}
一厢情愿的伪代码:
trait Foo<T> {…} impl<T, Mutability> Foo for *Mutability T {…}
答案 0 :(得分:7)
可变性是特征中的通用参数吗?
没有。 ^ _ ^
以下是关于此事的详细讨论(Internals,Reddit)。
我认为一般人都认识到目前的状态不理想,但目前也不是非常严格的限制。关于如何实施以及各种方法的合理性存在疑虑。有些人想知道,如果将这些问题添加到Rust中,更高级的类型(HKT)是否会解决问题。
另见: