| //@ check-pass | |
| #![feature(associated_type_defaults)] | |
| trait State: Sized { | |
| type NextState: State = StateMachineEnded; | |
| fn execute(self) -> Option<Self::NextState>; | |
| } | |
| struct StateMachineEnded; | |
| impl State for StateMachineEnded { | |
| fn execute(self) -> Option<Self::NextState> { | |
| None | |
| } | |
| } | |
| fn main() {} |