state_validation/
action.rs

1use crate::StateFilter;
2
3pub trait ValidAction<State, Input> {
4    type Filter: StateFilter<State, Input>;
5    type Output;
6    fn with_valid_input(
7        self,
8        state: State,
9        valid: <Self::Filter as StateFilter<State, Input>>::ValidOutput,
10    ) -> Self::Output;
11}