pub trait ReprStateStored:
Any
+ Send
+ Sync
+ Debug {
// Required methods
fn rule(&self) -> &'static dyn ReprRuleStored;
fn up_via(
&self,
lu: &Box<dyn Fn(&DeclarationPtr) -> Option<Literal> + '_>,
) -> Result<Literal, ReprUpError>;
fn repr_vars(&self) -> VecDeque<DeclarationPtr>;
fn as_any(&self) -> &(dyn Any + 'static);
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static);
fn clone_box(&self) -> Box<dyn ReprStateStored>;
fn serialise(&self) -> Result<Value, Error>;
// Provided method
fn up(
&self,
raw_assignment: &HashMap<Name, Literal>,
) -> Result<Literal, ReprUpError> { ... }
}Required Methods§
fn rule(&self) -> &'static dyn ReprRuleStored
fn up_via( &self, lu: &Box<dyn Fn(&DeclarationPtr) -> Option<Literal> + '_>, ) -> Result<Literal, ReprUpError>
fn repr_vars(&self) -> VecDeque<DeclarationPtr>
fn as_any(&self) -> &(dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn clone_box(&self) -> Box<dyn ReprStateStored>
fn serialise(&self) -> Result<Value, Error>
Provided Methods§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".