intrepid_core/action/
actionable.rs

1
2
3
4
5
6
7
8
use super::ActiveAction;

#[dyn_clonable::clonable]
/// Allows actions to be type erased into dynamic boxed containers.
pub trait Actionable<GivenState>: Clone + Send + Sync + 'static {
    /// Take a given boxed action and state and return an active actionable.
    fn into_actionable(self: Box<Self>, state: GivenState) -> ActiveAction;
}