Trait dyn_context::state::SelfState[][src]

pub trait SelfState: 'static { }
Expand description

Marks implementor as a trivial State. A trivial-implemented state is a state containing itself only.

Examples

struct SomeData {
    data: u16,
}

impl SelfState for SomeData { }

fn get_data_from_state(state: &dyn State) -> u16 {
    let some_data: &SomeData = state.get();
    some_data.data
}

let some_data = SomeData { data: 7 };
let data_from_state = get_data_from_state(&some_data);
assert_eq!(data_from_state, 7);

Implementors