MWE on the playground:
pub trait WithAssoc {
type Assoc;
fn wa(&self) {}
}
pub trait Baz {}
pub trait Moo: WithAssoc
where Self::Assoc: Baz // this is allowed
{}
pub trait Foo: Moo
// where Self::Assoc: Baz // but bound is not propagated
{
fn foo(&self) {
self.wa();
}
}
fn main() {}