Re-exportsยง
use std::assert_matches;๐use hir::HirId;๐use hir::def::DefKind;๐use hir::def::Res;๐use rustc_data_structures::fx::FxHashSet;๐use rustc_hir as hir;๐use rustc_hir::def_id::DefId;๐use rustc_middle::ty;๐use rustc_middle::ty::GenericParamDefKind;๐use rustc_middle::ty::TyCtxt;๐use rustc_span::symbol::kw;๐use rustc_span::ErrorGuaranteed;๐use rustc_span::Ident;๐use rustc_span::Span;๐use rustc_span::bug;๐use rustc_span::sym;๐use crate::LoweringContext;๐use crate::delegation::resolution::resolver::DelegationResolver;๐use crate::diagnostics::DelegationInfersMismatch;๐use crate::diagnostics::DelegationToInherentImplMustContainParentGenerics;๐use crate::diagnostics::DelegationToInherentImplParentContainsInfer;๐use rustc_ast::*;๐
Structsยง
- Delegation
Generic ๐Args Iterator - Delegation
Generics ๐ - Generics
Generation ๐Result - Generics
Generation ๐Results - Generics
Resolution ๐
Enumsยง
- Generic
ArgSlot ๐ - Generics
Position ๐ - HirOr
TyGenerics ๐ - Used for storing either ty generics or their uplifted HIR version. First we obtain
ty generics. Next, at some point of generics processing we need to uplift those
generics to HIR, for this purpose we use
into_hir_genericsthat uplifts ty generics and replaces Ty variant with Hir. Such approach is useful as we can call this method at any time knowing that uplifting will occur at most only once. Then, in order to obtain generic params or args we usehir_generics_or_emptyorinto_generic_argsfunctions. There also may be situations when we obtained ty generics but never uplifted them to HIR, meaning we did not propagate them and thus we do not need to generate generic params (i.e., method call scenarios), in such a case this approach helps a lot as ifinto_hir_genericswill not be called then uplifting will not happen. - Parent
Segment ๐Args
Type Aliasesยง
- TyGenerics ๐