When defining a trait, my understanding is that trait names on the right side of the :
are required any time the left side is implemented. If so, why does the following compile:
use std::any::Any;
trait Trait: Any {}
struct Thing {}
impl Trait for Thing {}
The following does not compile (which matches my understanding of what is correct)
trait RequiredTrait {}
trait Trait: RequiredTrait {}
struct Thing {}
impl Trait for Thing {}