pub trait Action<Context>:
Describe
+ Clone
+ Copy
+ Eq {
type Error;
// Required method
fn run(&self, _ctx: &mut Context) -> Result<(), Self::Error>;
// Provided methods
fn select() -> Result<Self, Error> { ... }
fn select_with_prompt<S>(prompt: S) -> Result<Self, Error>
where S: Display { ... }
fn multiselect<S>(values: Vec<Self>) -> Result<Vec<Self>, Error> { ... }
fn multiselect_with_prompt<S>(
prompt: S,
values: Vec<Self>,
) -> Result<Vec<Self>, Error>
where S: Display { ... }
}
Required Associated Types§
Required Methods§
Provided Methods§
fn select() -> Result<Self, Error>
fn select_with_prompt<S>(prompt: S) -> Result<Self, Error>where
S: Display,
fn multiselect<S>(values: Vec<Self>) -> Result<Vec<Self>, Error>
fn multiselect_with_prompt<S>(
prompt: S,
values: Vec<Self>,
) -> Result<Vec<Self>, Error>where
S: Display,
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.