1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
use crate::term_pointer::*; use crate::type_id::*; use crate::displayable_with_state::*; use crate::context::*; use crate::interpreter_state::*; ///A pointer to a non-primitive term stored in an [`InterpreterState`]. #[derive(Copy, Clone, PartialEq, Hash, Eq)] pub struct NonPrimitiveTermPointer { pub type_id : TypeId, pub index : usize } impl DisplayableWithState for NonPrimitiveTermPointer { fn display(&self, state : &InterpreterState) -> String { let term = state.get_nonprimitive(*self); term.display(state) } }