Skip to main content

Module infer_ctxt

Module infer_ctxt 

Source

Re-exportsยง

use core::fmt; ๐Ÿ”’
use std::hash::Hash; ๐Ÿ”’
use std::hash::Hash; ๐Ÿ”’
use std::hash::Hasher; ๐Ÿ”’
use std::range::RangeInclusive; ๐Ÿ”’
use derive_where::derive_where; ๐Ÿ”’
use rustc_macros::Decodable_NoContext; ๐Ÿ”’
use rustc_macros::Encodable_NoContext; ๐Ÿ”’
use rustc_macros::StableHash_NoContext; ๐Ÿ”’
use crate::data_structures::DelayedMap; ๐Ÿ”’
use crate::relate::RelateResult; ๐Ÿ”’
use crate::relate::combine::PredicateEmittingRelation; ๐Ÿ”’
use crate::solve::TyOrConstInferVar; ๐Ÿ”’
use crate::solve::VisibleForLeakCheck; ๐Ÿ”’
use crate as ty; ๐Ÿ”’
use crate::CallerBoundsIterator; ๐Ÿ”’
use crate::Const; ๐Ÿ”’
use crate::Interner; ๐Ÿ”’
use crate::PredicateProxy; ๐Ÿ”’
use crate::Region; ๐Ÿ”’
use crate::TyVid; ๐Ÿ”’
use crate::TypeFoldable; ๐Ÿ”’
use crate::TypeFolder; ๐Ÿ”’
use crate::TypeSuperFoldable; ๐Ÿ”’
use crate::TypeVisitableExt; ๐Ÿ”’
use crate::inherent::*; ๐Ÿ”’

Modulesยง

private ๐Ÿ”’

Structsยง

DeepVariableResolver ๐Ÿ”’
MayBeErased
TypingModeEqWrapper
We want to highly discourage using equality checks on typing modes. Instead you should match, exhaustively, so when we ever modify the enum we get a compile error. Only use TypingModeEqWrapper when you really really really have to. Prefer unwrapping TypingModeEqWrapper in apis that should return a TypingMode whenever possible, and if you ever get an TypingModeEqWrapper, prefer unwrapping it and matching on it exhaustively.

Enumsยง

CantBeErased
TypingMode
The current typing mode of an inference context. We unfortunately have some slightly different typing rules depending on the current context. See the doc comment for each variant for how and why they are used.

Traitsยง

InferCtxtLike
InferCtxtLike is one of the two traits abstracting over the InferCtxt, which had to be split due to coherence reasons:
TypingModeErasedStatus

Functionsยง

may_use_unstable_feature