1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
pub trait State: private::Sealed {} pub struct Up; impl State for Up {} impl private::Sealed for Up {} pub struct Down; impl State for Down {} impl private::Sealed for Down {} mod private { pub trait Sealed {} }