Re-exportsΒ§
use rustc_data_structures::fx::FxHashSet;πuse rustc_hir as hir;πuse rustc_hir::def::DefKind;πuse rustc_index::bit_set::DenseBitSet;πuse rustc_infer::infer::TyCtxtInferExt;πuse rustc_middle::query::Providers;πuse rustc_middle::ty;πuse rustc_middle::ty::SizedTraitKind;πuse rustc_middle::ty::Ty;πuse rustc_middle::ty::TyCtxt;πuse rustc_middle::ty::TypeSuperVisitable;πuse rustc_middle::ty::TypeVisitable;πuse rustc_middle::ty::TypeVisitor;πuse rustc_middle::ty::Unnormalized;πuse rustc_middle::ty::Upcast;πuse rustc_middle::ty::fold_regions;πuse rustc_span::def_id::CRATE_DEF_ID;πuse rustc_span::def_id::DefId;πuse rustc_span::def_id::LocalDefId;πuse rustc_span::DUMMY_SP;πuse rustc_span::bug;πuse rustc_trait_selection::traits;πuse tracing::instrument;πuse tracing::instrument;π
StructsΒ§
- Impl
Trait πInTrait Finder - Walk through a function type, gathering all RPITITs and installing a
NormalizesTo(Projection(RPITIT) -> Opaque(RPITIT))predicate into the predicates list. This allows us to observe that an RPITIT projects to its corresponding opaque within the body of a default-body trait method.
FunctionsΒ§
- adt_
sizedness_ πconstraint - Returns the type of the last field of a struct (βthe constraintβ) which must implement the
sizednesstrait for the whole ADT to be considered to implement thatsizednesstrait.def_idis assumed to be theAdtDefof a struct and will panic otherwise. - asyncness π
- Check if a function is async.
- defaultness π
- impl_
self_ πis_ guaranteed_ unsized - param_
env π - See
ParamEnvstruct definition for details. - param_
env_ πnormalized_ for_ post_ analysis - provide π
- sizedness_
constraint_ πfor_ ty - If
tyimplements the givensizednesstrait, returnsNone. Otherwise, returns the type that must implement the givensizednessfortyto implement it. - unsizing_
params_ πfor_ adt