pub struct HeaderRule;Implementations§
Source§impl HeaderRule
impl HeaderRule
Trait Implementations§
Source§impl Debug for HeaderRule
impl Debug for HeaderRule
Source§impl Rule for HeaderRule
impl Rule for HeaderRule
Source§fn compute(
&mut self,
context: &mut Context,
_database: &mut Database,
) -> Result<Vec<Rc<DBConstraint>>, CheckingError>
fn compute( &mut self, context: &mut Context, _database: &mut Database, ) -> Result<Vec<Rc<DBConstraint>>, CheckingError>
Check the conditions for the rule and return the derived constraints.
fn trace_rule(&self, lex: Lexer<'_, RuleToken>)
Source§fn get_deleted<'a>(
&'a self,
_database: &Database,
) -> Result<Option<DeletionSequenceEnum<'a>>, CheckingError>
fn get_deleted<'a>( &'a self, _database: &Database, ) -> Result<Option<DeletionSequenceEnum<'a>>, CheckingError>
Return the ids of constraints deleted by the rule.
fn get_returned_id(&self) -> Option<isize>
Source§fn elaborate(
&self,
_context: &mut Context,
_database: &Database,
) -> Result<(), ElaborationError>
fn elaborate( &self, _context: &mut Context, _database: &Database, ) -> Result<(), ElaborationError>
Elaborate the proof rule to the kernel proof.
Source§fn is_subproof_friendly(&self) -> bool
fn is_subproof_friendly(&self) -> bool
Returns
true if the rule can be used within a subproof. Read moreSource§fn add_constraints_to_core(&self, _context: &Context) -> bool
fn add_constraints_to_core(&self, _context: &Context) -> bool
Return
true if resulting constraints are added to the core set instead of the derived set by default.Source§fn swaps_database(&self) -> bool
fn swaps_database(&self) -> bool
Returns
true if the rule swaps out the currently considered database.Source§fn get_new_database(&mut self) -> (Database, PropagationEngine)
fn get_new_database(&mut self) -> (Database, PropagationEngine)
Get the new database to be swapped out.
Source§fn handle_old_database(
&mut self,
_context: &mut Context,
_database: Database,
_prop_engine: PropagationEngine,
)
fn handle_old_database( &mut self, _context: &mut Context, _database: Database, _prop_engine: PropagationEngine, )
Give the old database to the rule to handle it.
Auto Trait Implementations§
impl Freeze for HeaderRule
impl RefUnwindSafe for HeaderRule
impl Send for HeaderRule
impl Sync for HeaderRule
impl Unpin for HeaderRule
impl UnsafeUnpin for HeaderRule
impl UnwindSafe for HeaderRule
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
Source§impl<Enum> FromEnumMut<Enum> for Enum
impl<Enum> FromEnumMut<Enum> for Enum
Source§fn from_enum_mut(e: &mut Enum) -> Option<&mut Enum>
fn from_enum_mut(e: &mut Enum) -> Option<&mut Enum>
The inverse of
EnumExtensions::try_mut_var, see that method’s documentation for more. Read moreSource§impl<Enum> FromEnumRef<Enum> for Enum
impl<Enum> FromEnumRef<Enum> for Enum
Source§fn from_enum_ref(e: &Enum) -> Option<&Enum>
fn from_enum_ref(e: &Enum) -> Option<&Enum>
The inverse of
EnumExtensions::try_ref_var, see that method’s documentation for more. Read moreSource§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