gpt4 book ai didi

types - 特征可以具有由泛型参数化的超特征吗?

转载 作者:行者123 更新时间:2023-11-29 08:12:01 26 4
gpt4 key购买 nike

你能用 Rust 做这样的事情吗?

trait A : forall<T> B<T> { ... }

也就是说,如果我们想要:

impl A for D { ... }

我们必须首先实现:

impl<T> B<T> for D { ... }

最佳答案

没有。 Rust 的类型系统目前不支持涉及更高种类类型的任何特性。但是,它确实支持与您所描述的类似的构造,但仅限于生命周期参数。例如:

trait B<'a> {}

trait A: for<'a> B<'a> {}

struct D;

impl A for D { }

这是一个错误:

error[E0277]: the trait bound `for<'a> D: B<'a>` is not satisfied
--> src/lib.rs:7:6
|
7 | impl A for D { }
| ^ the trait `for<'a> B<'a>` is not implemented for `D`

直到您添加一揽子实现:

impl<'a> B<'a> for D { }

Rust 最终也会为类型添加类似的功能并非不可能,但我预计不会很快。

关于types - 特征可以具有由泛型参数化的超特征吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56329170/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com