state_validation/
action.rs

1use crate::{StateFilter, StateFilterInput};
2
3pub trait ValidAction<State, Input: StateFilterInput> {
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}