Struct ra_ap_hir_ty::InferenceResult [−][src]
pub struct InferenceResult { pub diagnostics: Vec<InferenceDiagnostic>, pub type_of_expr: ArenaMap<ExprId, Ty>, pub type_of_pat: ArenaMap<PatId, Ty>, pub pat_adjustments: FxHashMap<PatId, Vec<Ty>>, // some fields omitted }
Expand description
The result of type inference: A mapping from expressions and patterns to types.
Fields
diagnostics: Vec<InferenceDiagnostic>
type_of_expr: ArenaMap<ExprId, Ty>
type_of_pat: ArenaMap<PatId, Ty>
For each pattern record the type it resolves to.
Note: When a pattern type is resolved it may still contain unresolved or missing subpatterns or subpatterns of mismatched types.
pat_adjustments: FxHashMap<PatId, Vec<Ty>>
Stores the types which were implicitly dereferenced in pattern binding modes.
Implementations
Trait Implementations
Returns the “default value” for a type. Read more
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl RefUnwindSafe for InferenceResult
impl Send for InferenceResult
impl Sync for InferenceResult
impl Unpin for InferenceResult
impl UnwindSafe for InferenceResult
Blanket Implementations
Mutably borrows from an owned value. Read more
fn cast<U>(self, interner: &<U as HasInterner>::Interner) -> U where
Self: CastTo<U>,
U: HasInterner,
fn cast<U>(self, interner: &<U as HasInterner>::Interner) -> U where
Self: CastTo<U>,
U: HasInterner,
Cast a value to type U
using CastTo
.
Compare self to key
and return true
if they are equal.
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
impl<T> Any for T where
T: Any,