尝试解决在Trait bound Sized is not satisfied for Sized trait中描述的问题时,我发现以下代码会产生以下错误:
trait SizedTrait: Sized {
fn me() -> Self;
}
trait AnotherTrait: Sized {
fn another_me() -> Self;
}
impl AnotherTrait for SizedTrait + Sized {
fn another_me() {
Self::me()
}
}
error[E0225]: only auto traits can be used as additional traits in a trait object
--> src/main.rs:9:36
|
9 | impl AnotherTrait for SizedTrait + Sized {
| ^^^^^ non-auto additional trait
然而,Rust Book中并没有提到auto trait
。
auto trait
在Rust中是什么,与非自动trait有何不同?
Sized
特征肯定是这样,但我想知道是否适用于Send
和Sync
... - Matthieu M.Sized
可能比Send
和Sync
还要特殊... - Shepmaster