如何实现任何可变性的特征?

时间:2015-02-07 22:09:20

标签: rust traits mutability

可变性是特征中的通用参数吗?我想为一个类型的可变和不可变变体实现一个特征,而不必复制和粘贴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 {…}

1 个答案:

答案 0 :(得分:7)

  

可变性是特征中的通用参数吗?

没有。 ^ _ ^

以下是关于此事的详细讨论(InternalsReddit)。

我认为一般人都认识到目前的状态不理想,但目前也不是非常严格的限制。关于如何实施以及各种方法的合理性存在疑虑。有些人想知道,如果将这些问题添加到Rust中,更高级的类型(HKT)是否会解决问题。

另见: