pub trait SpacingExt { // Required methods fn is_joint(&self) -> bool; fn is_alone(&self) -> bool; // Provided method fn punch(self, ch: char) -> Punct where Self: Sized { ... } }
*self == Joint
*self == Alone
Punct::new(ch, self)