pub struct ConstImpl {
pub ret_type: TypeId,
pub ignored_type: TypeId,
}Expand description
Implementation of the constant function for the given “return” and “ignored” types.
The result is of type return -> ignored -> return.
Fields§
§ret_type: TypeId§ignored_type: TypeIdTrait Implementations§
Source§impl FuncImpl for ConstImpl
impl FuncImpl for ConstImpl
Source§fn evaluate(
&self,
_state: &mut InterpreterState<'_>,
args: Vec<TermReference>,
) -> (TermReference, NewlyEvaluatedTerms)
fn evaluate( &self, _state: &mut InterpreterState<'_>, args: Vec<TermReference>, ) -> (TermReference, NewlyEvaluatedTerms)
Given a handle on the current
InterpreterState (primarily useful if additional terms
need to be evaluated / looked up) and the collection of TermReference arguments to
apply this function implementation to, yields a TermReference to the result, along
with a collection of any NewlyEvaluatedTerms which may have arisen as part of the
implementation of this method. See func_impl.rs in the source for sample implementations.Source§impl HasFuncSignature for ConstImpl
impl HasFuncSignature for ConstImpl
Source§fn required_arg_types(&self) -> Vec<TypeId> ⓘ
fn required_arg_types(&self) -> Vec<TypeId> ⓘ
Gets the list of required argument types for the implemented function.
Source§fn ready_to_evaluate(&self, args: &Vec<TermReference>) -> bool
fn ready_to_evaluate(&self, args: &Vec<TermReference>) -> bool
Given a collection of
TermReferences, determines whether
we have sufficiently-many arguments to fully evaluate this function.Source§fn func_type(&self, type_info_directory: &TypeInfoDirectory) -> TypeId
fn func_type(&self, type_info_directory: &TypeInfoDirectory) -> TypeId
Given a
TypeInfoDirectory, obtains the TypeId which
corresponds to the type of this implemented function.Auto Trait Implementations§
impl Freeze for ConstImpl
impl RefUnwindSafe for ConstImpl
impl Send for ConstImpl
impl Sync for ConstImpl
impl Unpin for ConstImpl
impl UnwindSafe for ConstImpl
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