pub trait IShuriken { fn throw(&self); } pub struct Shuriken {} impl Shuriken { #[allow(clippy::new_without_default)] pub fn new() -> Self { Self {} } } impl IShuriken for Shuriken { fn throw(&self) { println!("Threw shuriken!"); } }