I have two traits, defined as such:
trait Walking {
fn walk(&self);
}
trait HopOnOneLeg: Walking {
fn hop_on_one_leg(&self);
}
Because of course everything that wants to hop_on_one_leg()
must be able to walk()
.
So I write:
impl AthleticRun
fn take_a_walk(&self, walker: &dyn Walking) {
// no error
walker.walk();
}
fn warm_up_for_a_run(&self, sportman: &dyn HopOnOneLeg) {
self.take_a_walk(sportman);
// ^^^^^^^^ expected trait `Walking`, found trait `HopOnOneLeg`
// no error
sportman.hop_on_one_leg();
}
}
What am I missing here ?