Trait Action

Source
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§

Source

fn run(&self, _ctx: &mut Context) -> Result<(), Self::Error>

Provided Methods§

Source

fn select() -> Result<Self, Error>

Source

fn select_with_prompt<S>(prompt: S) -> Result<Self, Error>
where S: Display,

Source

fn multiselect<S>(values: Vec<Self>) -> Result<Vec<Self>, Error>

Source

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.

Implementors§