8

可变性可以成为特征中的通用参数吗?我想为类型的可变和不可变变体实现特征,而无需复制和粘贴impl块。

特征 Foo<T> {…}

impl<T> Foo for *const T {…}
impl<T> Foo for *mut T {…同样的事情…}

一厢情愿的伪代码:

特征 Foo<T> {…}

impl<T, Mutability> Foo for *Mutability T {…}
4

1 回答 1

7

可变性可以成为特征中的通用参数吗?

没有。^_^

这是关于此事的一些详细讨论(InternalsReddit)。

我认为总的来说,人们认识到目前的状态并不理想,但目前也没有受到很大的限制。人们担心它将如何实施以及各种方法的合理性。有些人想知道高级类型 (HKT) 是否会解决问题,如果以及何时将它们添加到 Rust。

也可以看看:

于 2015-02-07T22:28:36.847 回答