[英]What does “the trait bound std::fmt::Display is not satisfied” mean?
[英]What does equal sign mean in a trait bound?
例如在 raw_vec.rs 中:
pub struct RawVec<T, A: AllocRef = Global> {
ptr: Unique<T>,
cap: usize,
alloc: A,
}
我可以看到 Global 是一个实现 AllocRef 特征的结构。
我很惊讶在 rust 书籍中找不到任何解释。 我很欣赏有关该主题的文档的任何链接。
如果我不得不猜测这是一种进一步限制'A'可以采用的impls的方法,那么为什么需要'A'泛型类型呢? 将字段alloc
定义为Global
似乎更简单。 这只是一个猜测。 澄清赞赏。
谢谢!
它是默认的泛型类型。 除非您在具体实现中明确指定另一个,否则将使用它。 它在rust 书中提到:
当我们使用泛型类型参数时,我们可以为泛型类型指定一个默认的具体类型。 如果默认类型有效,这消除了 trait 实现者指定具体类型的需要。 声明泛型类型时,为泛型类型指定默认类型的语法是
<PlaceholderType=ConcreteType>
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.