pub struct VirtualConstraint {
pub spec: ConstraintSpec,
pub value: BoundExpr,
pub predicate: BoundExpr,
}Expand description
One predicate offered to a module, with what it was made of.
The predicate is kept whole beside the constraint because the compiler may have to test it after all: a module that used the constraint without promising to apply it leaves the engine responsible for the answer.
Fields§
§spec: ConstraintSpecThe constraint as the module is shown it.
value: BoundExprThe value on the other side, which becomes an argument to filter.
predicate: BoundExprThe whole predicate, for the compiler to re-test when it must.
Trait Implementations§
Source§impl Clone for VirtualConstraint
impl Clone for VirtualConstraint
Source§impl Debug for VirtualConstraint
impl Debug for VirtualConstraint
Source§impl PartialEq for VirtualConstraint
impl PartialEq for VirtualConstraint
impl StructuralPartialEq for VirtualConstraint
Auto Trait Implementations§
impl !Send for VirtualConstraint
impl !Sync for VirtualConstraint
impl Freeze for VirtualConstraint
impl RefUnwindSafe for VirtualConstraint
impl Unpin for VirtualConstraint
impl UnsafeUnpin for VirtualConstraint
impl UnwindSafe for VirtualConstraint
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