pub struct Spec {
pub term: Ident,
pub args: Vec<Ident>,
pub provides: Vec<SpecExpr>,
pub requires: Vec<SpecExpr>,
pub matches: Vec<SpecExpr>,
pub modifies: Vec<Modifies>,
pub pos: Pos,
}Expand description
A specification of the semantics of a term.
Fields§
§term: IdentThe term name (must match a (decl …))
args: Vec<Ident>Argument names
provides: Vec<SpecExpr>Provide statements, which give the semantics of the produces value
requires: Vec<SpecExpr>Require statements, which express preconditions on the term
matches: Vec<SpecExpr>Match conditions, which specify when a partial term returns a value.
modifies: Vec<Modifies>State variables modified by the term.
pos: PosTrait Implementations§
impl Eq for Spec
impl StructuralPartialEq for Spec
Auto Trait Implementations§
impl Freeze for Spec
impl RefUnwindSafe for Spec
impl Send for Spec
impl Sync for Spec
impl Unpin for Spec
impl UnsafeUnpin for Spec
impl UnwindSafe for Spec
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