In Drone<Hovering>, shouldn't land be:
fn land(self) -> Drone<Idle> {
Drone::<Idle>::from(self)
}
instead of: fn land(self) -> Drone<Idle> {
Drone::<Idle>::new()
}
Otherwise the position assertions in drone_flies fail, because it's looking at the position of a brand new Drone<Idle>, rather than one based on the position you just flew to.Edit:
Yes it should. [1]
[1] https://github.com/rustype/drone/blob/main/src/drone.rs#L53