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
If you pass a closure make sure that the value are typed, without this, rust consider that your closure is not general enough because it can’t ensure that it implements FnOnce for any lifetime
§Example
use type_rules::prelude::*;
#[derive(Validator)]
struct EvenInteger(
#[rule(Eval(|v: &u32| v % 2 == 0, "Value need to be even"))]
u32
);
Tuple Fields§
§0: T
§1: &'a str
Trait Implementations§
Auto Trait Implementations§
impl<'a, T> Freeze for Eval<'a, T>where
T: Freeze,
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§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more