blob: 9cae6cf5e7665ced8faeb73dab67ad3676e0b3c0 [file] [log] [blame]
// 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() {}