Struct type_rules::rules::Eval
source · [−]pub struct Eval<'a, T>(pub T, pub &'a str);
Expand description
Rule to constrain any type to a predicate
The value is always passed by its reference, the closure need to accept that
Example
use type_rules::prelude::*;
const EVEN_EVAL: for<'a> fn(&'a u32) -> bool = |v| v % 2 == 0;
#[derive(Validator)]
struct EvenInteger(
#[rule(Eval(EVEN_EVAL, "Value need to be even"))]
u32
);
Tuple Fields
0: T
1: &'a str
Trait Implementations
Auto Trait Implementations
impl<'a, T> RefUnwindSafe for Eval<'a, T> where
T: RefUnwindSafe,
impl<'a, T> Send for Eval<'a, T> where
T: Send,
impl<'a, T> Sync for Eval<'a, T> where
T: Sync,
impl<'a, T> Unpin for Eval<'a, T> where
T: Unpin,
impl<'a, T> UnwindSafe for Eval<'a, T> where
T: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more