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ยง
- Deep
Variable ๐Resolver - MayBe
Erased - Typing
Mode EqWrapper - 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
TypingModeEqWrapperwhen you really really really have to. Prefer unwrappingTypingModeEqWrapperin apis that should return aTypingModewhenever possible, and if you ever get anTypingModeEqWrapper, prefer unwrapping it and matching on it exhaustively.
Enumsยง
- Cant
BeErased - Typing
Mode - 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ยง
- Infer
Ctxt Like InferCtxtLikeis one of the two traits abstracting over the InferCtxt, which had to be split due to coherence reasons:- Typing
Mode Erased Status