pub trait Cmd: Parser + Sized {
// Required method
fn run(self, rl: &mut Shell<'_>) -> Result<()>;
// Provided method
fn run_str(rl: &mut Shell<'_>, args: &[String]) -> Result<()> { ... }
}
pub trait Cmd: Parser + Sized {
// Required method
fn run(self, rl: &mut Shell<'_>) -> Result<()>;
// Provided method
fn run_str(rl: &mut Shell<'_>, args: &[String]) -> Result<()> { ... }
}