Struct cairo_lang_semantic::expr::inference::InferenceData
source · pub struct InferenceData {
pub type_assignment: HashMap<LocalTypeVarId, TypeId>,
pub impl_assignment: HashMap<LocalImplVarId, ImplId>,
pub type_vars: Vec<TypeVar>,
pub impl_vars: Vec<ImplVar>,
pub stable_ptrs: HashMap<InferenceVar, SyntaxStablePtrId>,
/* private fields */
}
Expand description
State of inference.
Fields§
§type_assignment: HashMap<LocalTypeVarId, TypeId>
Current inferred assignment for type variables.
impl_assignment: HashMap<LocalImplVarId, ImplId>
Current inferred assignment for impl variables.
type_vars: Vec<TypeVar>
Type variables.
impl_vars: Vec<ImplVar>
Impl variables.
stable_ptrs: HashMap<InferenceVar, SyntaxStablePtrId>
Mapping from variables to stable pointers, if exist.
Implementations§
source§impl InferenceData
impl InferenceData
Trait Implementations§
source§impl Clone for InferenceData
impl Clone for InferenceData
source§fn clone(&self) -> InferenceData
fn clone(&self) -> InferenceData
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for InferenceData
impl Debug for InferenceData
source§impl<'a, T: ?Sized + Upcast<dyn SemanticGroup + 'static>> DebugWithDb<T> for InferenceData
impl<'a, T: ?Sized + Upcast<dyn SemanticGroup + 'static>> DebugWithDb<T> for InferenceData
source§impl Default for InferenceData
impl Default for InferenceData
source§fn default() -> InferenceData
fn default() -> InferenceData
Returns the “default value” for a type. Read more
source§impl PartialEq for InferenceData
impl PartialEq for InferenceData
source§fn eq(&self, other: &InferenceData) -> bool
fn eq(&self, other: &InferenceData) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Eq for InferenceData
impl StructuralEq for InferenceData
impl StructuralPartialEq for InferenceData
Auto Trait Implementations§
impl RefUnwindSafe for InferenceData
impl Send for InferenceData
impl Sync for InferenceData
impl Unpin for InferenceData
impl UnwindSafe for InferenceData
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<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.