pub struct ConstraintPattern {
pub name: &'static str,
pub slots: &'static [&'static str],
pub instantiate: ConstraintInstantiator,
}Expand description
A reusable invariant template with named non-terminal slots.
Fields§
§name: &'static strStable template name.
slots: &'static [&'static str]Slot names the instantiator binds to grammar rules.
instantiate: ConstraintInstantiatorBuilds concrete atoms from a slot binding.
Trait Implementations§
Source§impl Clone for ConstraintPattern
impl Clone for ConstraintPattern
Source§fn clone(&self) -> ConstraintPattern
fn clone(&self) -> ConstraintPattern
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ConstraintPattern
Auto Trait Implementations§
impl Freeze for ConstraintPattern
impl RefUnwindSafe for ConstraintPattern
impl Send for ConstraintPattern
impl Sync for ConstraintPattern
impl Unpin for ConstraintPattern
impl UnsafeUnpin for ConstraintPattern
impl UnwindSafe for ConstraintPattern
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more