Trying to solve the problem described in Trait bound Sized is not satisfied for Sized trait, I found the following code gives the following error:
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
But the Rust Book does not mention auto trait
at all.
What is an auto trait in Rust and how does it differ from a non-auto trait?