pub struct DbInterner<'db> {
pub db: &'db (dyn HirDatabase + 'static),
krate: Option<Crate>,
lang_items: Option<&'db LangItems>,
}Fields§
§db: &'db (dyn HirDatabase + 'static)§krate: Option<Crate>§lang_items: Option<&'db LangItems>Implementations§
Source§impl<'db> DbInterner<'db>
impl<'db> DbInterner<'db>
Sourcepub fn instantiate_bound_regions<T, F>(
self,
value: Binder<DbInterner<'db>, T>,
fld_r: F,
) -> (T, IndexMap<BoundRegion<DbInterner<'db>>, Region<'db>, FxBuildHasher>)
pub fn instantiate_bound_regions<T, F>( self, value: Binder<DbInterner<'db>, T>, fld_r: F, ) -> (T, IndexMap<BoundRegion<DbInterner<'db>>, Region<'db>, FxBuildHasher>)
Replaces all regions bound by the given Binder with the
results returned by the closure; the closure is expected to
return a free region (relative to this binder), and hence the
binder is removed in the return type. The closure is invoked
once for each unique BoundRegionKind; multiple references to the
same BoundRegionKind will reuse the previous result. A map is
returned at the end with each bound region and the free region
that replaced it.
§Panics
This method only replaces late bound regions. Any types or
constants bound by value will cause an ICE.
pub fn instantiate_bound_regions_uncached<T, F>( self, value: Binder<DbInterner<'db>, T>, replace_regions: F, ) -> T
Sourcepub fn instantiate_bound_regions_with_erased<T>(
self,
value: Binder<DbInterner<'db>, T>,
) -> Twhere
T: TypeFoldable<DbInterner<'db>>,
pub fn instantiate_bound_regions_with_erased<T>(
self,
value: Binder<DbInterner<'db>, T>,
) -> Twhere
T: TypeFoldable<DbInterner<'db>>,
Replaces any late-bound regions bound in value with 'erased. Useful in codegen but also
method lookup and a few other places where precise region relationships are not required.
Sourcepub fn liberate_late_bound_regions<T>(
self,
all_outlive_scope: SolverDefId<'db>,
value: Binder<DbInterner<'db>, T>,
) -> Twhere
T: TypeFoldable<DbInterner<'db>>,
pub fn liberate_late_bound_regions<T>(
self,
all_outlive_scope: SolverDefId<'db>,
value: Binder<DbInterner<'db>, T>,
) -> Twhere
T: TypeFoldable<DbInterner<'db>>,
Replaces any late-bound regions bound in value with
free variants attached to all_outlive_scope.
Source§impl<'db> DbInterner<'db>
impl<'db> DbInterner<'db>
Sourcepub fn new_no_crate(db: &'db (dyn HirDatabase + 'static)) -> DbInterner<'db>
pub fn new_no_crate(db: &'db (dyn HirDatabase + 'static)) -> DbInterner<'db>
Creates a new interner without an active crate. Good only for interning things, not for trait solving etc..
As a rule of thumb, when you create an InferCtxt, you need to provide the crate (and the block).
Elaboration is a special kind: it needs lang items (for Sized), therefore it needs new_with().
pub fn new_with( db: &'db (dyn HirDatabase + 'static), krate: Crate, ) -> DbInterner<'db>
pub fn db(&self) -> &'db (dyn HirDatabase + 'static)
pub fn lang_items(&self) -> &'db LangItems
pub fn default_types(&self) -> &'db DefaultAny<'db>
Source§impl<'db> DbInterner<'db>
impl<'db> DbInterner<'db>
pub fn shift_bound_var_indices<T>(self, bound_vars: usize, value: T) -> Twhere
T: TypeFoldable<DbInterner<'db>>,
pub fn replace_escaping_bound_vars_uncached<T>(
self,
value: T,
delegate: impl BoundVarReplacerDelegate<'db>,
) -> Twhere
T: TypeFoldable<DbInterner<'db>>,
pub fn replace_bound_vars_uncached<T>(
self,
value: Binder<DbInterner<'db>, T>,
delegate: impl BoundVarReplacerDelegate<'db>,
) -> Twhere
T: TypeFoldable<DbInterner<'db>>,
pub fn mk_fn_sig<I>(
self,
inputs: I,
output: Ty<'db>,
c_variadic: bool,
safety: Safety,
abi: ExternAbi,
) -> FnSig<DbInterner<'db>>where
I: IntoIterator<Item = Ty<'db>>,
Sourcepub fn mk_fn_sig_safe_rust_abi<I>(
self,
inputs: I,
output: Ty<'db>,
) -> FnSig<DbInterner<'db>>where
I: IntoIterator<Item = Ty<'db>>,
pub fn mk_fn_sig_safe_rust_abi<I>(
self,
inputs: I,
output: Ty<'db>,
) -> FnSig<DbInterner<'db>>where
I: IntoIterator<Item = Ty<'db>>,
mk_fn_sig, but with a safe Rust ABI, and no C-variadic argument.
Source§impl<'db> DbInterner<'db>
impl<'db> DbInterner<'db>
Sourcepub fn signature_unclosure(
self,
sig: Binder<DbInterner<'db>, FnSig<DbInterner<'db>>>,
safety: Safety,
) -> Binder<DbInterner<'db>, FnSig<DbInterner<'db>>>
pub fn signature_unclosure( self, sig: Binder<DbInterner<'db>, FnSig<DbInterner<'db>>>, safety: Safety, ) -> Binder<DbInterner<'db>, FnSig<DbInterner<'db>>>
Given a closure signature, returns an equivalent fn signature. Detuples
and so forth – so e.g., if we have a sig with Fn<(u32, i32)> then
you would get a fn(u32, i32).
unsafety determines the unsafety of the fn signature. If you pass
Safety::Unsafe in the previous example, then you would get
an unsafe fn (u32, i32).
It cannot convert a closure that requires unsafe.
Trait Implementations§
Source§impl<'db> AdtDef<DbInterner<'db>> for AdtDef
impl<'db> AdtDef<DbInterner<'db>> for AdtDef
fn def_id(self) -> AdtIdWrapper
fn is_struct(self) -> bool
fn is_phantom_data(self) -> bool
fn is_manually_drop(self) -> bool
fn is_packed(self) -> bool
fn is_fundamental(self) -> bool
Source§fn struct_tail_ty(
self,
interner: DbInterner<'db>,
) -> Option<EarlyBinder<DbInterner<'db>, Ty<'db>>>
fn struct_tail_ty( self, interner: DbInterner<'db>, ) -> Option<EarlyBinder<DbInterner<'db>, Ty<'db>>>
fn all_field_tys( self, interner: DbInterner<'db>, ) -> EarlyBinder<DbInterner<'db>, impl IntoIterator<Item = Ty<'db>>>
fn sizedness_constraint( self, interner: DbInterner<'db>, sizedness: SizedTraitKind, ) -> Option<EarlyBinder<DbInterner<'db>, Ty<'db>>>
fn destructor(self, interner: DbInterner<'db>) -> Option<AdtDestructorKind>
fn field_representing_type_info( self, _interner: DbInterner<'db>, _args: GenericArgs<'db>, ) -> Option<FieldInfo<DbInterner<'db>>>
Source§impl<'db> BoundExistentialPredicates<DbInterner<'db>> for BoundExistentialPredicates<'db>
impl<'db> BoundExistentialPredicates<DbInterner<'db>> for BoundExistentialPredicates<'db>
fn principal_def_id(self) -> Option<TraitIdWrapper>
fn principal( self, ) -> Option<Binder<DbInterner<'db>, ExistentialTraitRef<DbInterner<'db>>>>
fn auto_traits(self) -> impl IntoIterator<Item = TraitIdWrapper>
fn projection_bounds( self, ) -> impl IntoIterator<Item = Binder<DbInterner<'db>, ExistentialProjection<DbInterner<'db>>>>
Source§impl<'db> Clause<DbInterner<'db>> for Clause<'db>
impl<'db> Clause<DbInterner<'db>> for Clause<'db>
fn as_predicate(self) -> <DbInterner<'db> as Interner>::Predicate
Source§fn instantiate_supertrait(
self,
cx: DbInterner<'db>,
trait_ref: Binder<DbInterner<'db>, TraitRef<DbInterner<'db>>>,
) -> Clause<'db>
fn instantiate_supertrait( self, cx: DbInterner<'db>, trait_ref: Binder<DbInterner<'db>, TraitRef<DbInterner<'db>>>, ) -> Clause<'db>
fn as_trait_clause(self) -> Option<Binder<I, TraitPredicate<I>>>
fn as_host_effect_clause(self) -> Option<Binder<I, HostEffectPredicate<I>>>
fn as_projection_clause(self) -> Option<Binder<I, ProjectionPredicate<I>>>
impl<'db> Clauses<DbInterner<'db>> for Clauses<'db>
Source§impl<'db> Clone for DbInterner<'db>
impl<'db> Clone for DbInterner<'db>
Source§fn clone(&self) -> DbInterner<'db>
fn clone(&self) -> DbInterner<'db>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<'db> Const<DbInterner<'db>> for Const<'db>
impl<'db> Const<DbInterner<'db>> for Const<'db>
fn new_infer(interner: DbInterner<'db>, var: InferConst) -> Const<'db>
fn new_var(interner: DbInterner<'db>, var: ConstVid) -> Const<'db>
fn new_bound( interner: DbInterner<'db>, debruijn: DebruijnIndex, var: BoundConst<DbInterner<'db>>, ) -> Const<'db>
fn new_anon_bound( interner: DbInterner<'db>, debruijn: DebruijnIndex, var: BoundVar, ) -> Const<'db>
fn new_canonical_bound(interner: DbInterner<'db>, var: BoundVar) -> Const<'db>
fn new_placeholder( interner: DbInterner<'db>, param: Placeholder<DbInterner<'db>, BoundConst<DbInterner<'db>>>, ) -> Const<'db>
fn new_unevaluated( interner: DbInterner<'db>, uv: UnevaluatedConst<DbInterner<'db>>, ) -> Const<'db>
fn new_expr(interner: DbInterner<'db>, expr: ExprConst) -> Const<'db>
fn new_error(interner: DbInterner<'db>, _guar: ErrorGuaranteed) -> Const<'db>
fn new_error_with_message(interner: I, msg: impl ToString) -> Self
fn is_ct_var(self) -> bool
fn is_ct_error(self) -> bool
impl<'db> Copy for DbInterner<'db>
Source§impl<'db> DbInternerInferExt<'db> for DbInterner<'db>
impl<'db> DbInternerInferExt<'db> for DbInterner<'db>
fn infer_ctxt(self) -> InferCtxtBuilder<'db>
Source§impl<'db> Debug for DbInterner<'db>
impl<'db> Debug for DbInterner<'db>
Source§impl<'db> DefId<DbInterner<'db>, OpaqueTyIdWrapper<'db>> for OpaqueTyIdWrapper<'db>
impl<'db> DefId<DbInterner<'db>, OpaqueTyIdWrapper<'db>> for OpaqueTyIdWrapper<'db>
Source§impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for TraitIdWrapper
impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for TraitIdWrapper
Source§impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for TypeAliasIdWrapper
impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for TypeAliasIdWrapper
Source§impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for ClosureIdWrapper<'db>
impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for ClosureIdWrapper<'db>
Source§impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for CoroutineIdWrapper<'db>
impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for CoroutineIdWrapper<'db>
Source§impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for CoroutineClosureIdWrapper<'db>
impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for CoroutineClosureIdWrapper<'db>
Source§impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for AdtIdWrapper
impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for AdtIdWrapper
Source§impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for TraitAssocTyId
impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for TraitAssocTyId
Source§impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for TraitAssocConstId
impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for TraitAssocConstId
Source§impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for TraitAssocTermId
impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for TraitAssocTermId
Source§impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for ImplOrTraitAssocTyId
impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for ImplOrTraitAssocTyId
Source§impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for ImplOrTraitAssocConstId
impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for ImplOrTraitAssocConstId
Source§impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for ImplOrTraitAssocTermId
impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for ImplOrTraitAssocTermId
Source§impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for FreeTyAliasId
impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for FreeTyAliasId
Source§impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for FreeConstAliasId
impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for FreeConstAliasId
Source§impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for FreeTermAliasId
impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for FreeTermAliasId
Source§impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for InherentAssocTyId
impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for InherentAssocTyId
Source§impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for InherentAssocConstId
impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for InherentAssocConstId
Source§impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for InherentAssocTermId
impl<'db> DefId<DbInterner<'db>, SolverDefId<'db>> for InherentAssocTermId
Source§impl<'db> DefId<DbInterner<'db>> for SolverDefId<'db>
impl<'db> DefId<DbInterner<'db>> for SolverDefId<'db>
Source§impl<'db> DefId<DbInterner<'db>> for GeneralConstIdWrapper<'db>
impl<'db> DefId<DbInterner<'db>> for GeneralConstIdWrapper<'db>
Source§impl<'db> DefId<DbInterner<'db>> for CallableIdWrapper
impl<'db> DefId<DbInterner<'db>> for CallableIdWrapper
Source§impl<'db> DefId<DbInterner<'db>> for AnyImplId
impl<'db> DefId<DbInterner<'db>> for AnyImplId
Source§impl<'db> Elaboratable<DbInterner<'db>> for Obligation<'db, Predicate<'db>>
For Obligation, a sub-obligation is combined with the current obligation’s
param-env and cause code.
impl<'db> Elaboratable<DbInterner<'db>> for Obligation<'db, Predicate<'db>>
For Obligation, a sub-obligation is combined with the current obligation’s
param-env and cause code.
fn predicate(&self) -> Predicate<'db>
fn child(&self, clause: Clause<'db>) -> Obligation<'db, Predicate<'db>>
fn child_with_derived_cause( &self, clause: Clause<'db>, span: Span, _parent_trait_pred: Binder<DbInterner<'db>, TraitPredicate<DbInterner<'db>>>, _index: usize, ) -> Obligation<'db, Predicate<'db>>
Source§impl<'db> Elaboratable<DbInterner<'db>> for Predicate<'db>
impl<'db> Elaboratable<DbInterner<'db>> for Predicate<'db>
fn predicate(&self) -> <DbInterner<'db> as Interner>::Predicate
fn child(&self, clause: <DbInterner<'db> as Interner>::Clause) -> Predicate<'db>
fn child_with_derived_cause( &self, clause: <DbInterner<'db> as Interner>::Clause, _span: <DbInterner<'db> as Interner>::Span, _parent_trait_pred: Binder<DbInterner<'db>, TraitPredicate<DbInterner<'db>>>, _index: usize, ) -> Predicate<'db>
Source§impl<'db> Elaboratable<DbInterner<'db>> for Clause<'db>
impl<'db> Elaboratable<DbInterner<'db>> for Clause<'db>
fn predicate(&self) -> <DbInterner<'db> as Interner>::Predicate
fn child(&self, clause: <DbInterner<'db> as Interner>::Clause) -> Clause<'db>
fn child_with_derived_cause( &self, clause: <DbInterner<'db> as Interner>::Clause, _span: <DbInterner<'db> as Interner>::Span, _parent_trait_pred: Binder<DbInterner<'db>, TraitPredicate<DbInterner<'db>>>, _index: usize, ) -> Clause<'db>
Source§impl<'db> ExprConst<DbInterner<'db>> for ExprConst
impl<'db> ExprConst<DbInterner<'db>> for ExprConst
fn args(self) -> <DbInterner<'db> as Interner>::GenericArgs
Source§impl<'db> Features<DbInterner<'db>> for Features
impl<'db> Features<DbInterner<'db>> for Features
fn generic_const_exprs(self) -> bool
fn coroutine_clone(self) -> bool
fn generic_const_args(self) -> bool
fn feature_bound_holds_in_crate(self, _symbol: Symbol) -> bool
Source§impl<'db> GenericArg<DbInterner<'db>> for GenericArg<'db>
impl<'db> GenericArg<DbInterner<'db>> for GenericArg<'db>
fn as_term(&self) -> Option<<I as Interner>::Term>
fn as_type(&self) -> Option<<I as Interner>::Ty>
fn expect_ty(&self) -> <I as Interner>::Ty
fn as_const(&self) -> Option<<I as Interner>::Const>
fn expect_const(&self) -> <I as Interner>::Const
fn as_region(&self) -> Option<<I as Interner>::Region>
fn expect_region(&self) -> <I as Interner>::Region
fn is_non_region_infer(self) -> bool
Source§impl<'db> GenericArgs<DbInterner<'db>> for GenericArgs<'db>
impl<'db> GenericArgs<DbInterner<'db>> for GenericArgs<'db>
fn as_closure(self) -> ClosureArgs<DbInterner<'db>>
fn as_coroutine(self) -> CoroutineArgs<DbInterner<'db>>
fn as_coroutine_closure(self) -> CoroutineClosureArgs<DbInterner<'db>>
fn rebase_onto( self, interner: DbInterner<'db>, source_def_id: <DbInterner<'db> as Interner>::DefId, target: <DbInterner<'db> as Interner>::GenericArgs, ) -> <DbInterner<'db> as Interner>::GenericArgs
fn identity_for_item( interner: DbInterner<'db>, def_id: <DbInterner<'db> as Interner>::DefId, ) -> <DbInterner<'db> as Interner>::GenericArgs
fn extend_with_error( interner: DbInterner<'db>, def_id: <DbInterner<'db> as Interner>::DefId, original_args: &[<DbInterner<'db> as Interner>::GenericArg], ) -> <DbInterner<'db> as Interner>::GenericArgs
fn type_at(self, i: usize) -> <DbInterner<'db> as Interner>::Ty
fn region_at(self, i: usize) -> <DbInterner<'db> as Interner>::Region
fn const_at(self, i: usize) -> <DbInterner<'db> as Interner>::Const
fn split_closure_args(self) -> ClosureArgsParts<DbInterner<'db>>
fn split_coroutine_closure_args( self, ) -> CoroutineClosureArgsParts<DbInterner<'db>>
fn split_coroutine_args(self) -> CoroutineArgsParts<DbInterner<'db>>
Source§impl<'db> HasDataLayout for DbInterner<'db>
impl<'db> HasDataLayout for DbInterner<'db>
fn data_layout(&self) -> &TargetDataLayout
Source§impl<'db> Interner for DbInterner<'db>
impl<'db> Interner for DbInterner<'db>
type DefId = SolverDefId<'db>
type LocalDefId = SolverDefId<'db>
type LocalDefIds = SolverDefIds<'db>
type TraitId = TraitIdWrapper
type ForeignId = TypeAliasIdWrapper
type FunctionId = CallableIdWrapper
type ClosureId = ClosureIdWrapper<'db>
type CoroutineClosureId = CoroutineClosureIdWrapper<'db>
type CoroutineId = CoroutineIdWrapper<'db>
type AdtId = AdtIdWrapper
type ImplId = AnyImplId
type UnevaluatedConstId = GeneralConstIdWrapper<'db>
type TraitAssocTyId = TraitAssocTyId
type TraitAssocConstId = TraitAssocConstId
type TraitAssocTermId = TraitAssocTermId
type OpaqueTyId = OpaqueTyIdWrapper<'db>
type LocalOpaqueTyId = OpaqueTyIdWrapper<'db>
type FreeTyAliasId = FreeTyAliasId
type FreeConstAliasId = FreeConstAliasId
type FreeTermAliasId = FreeTermAliasId
type ImplOrTraitAssocTyId = ImplOrTraitAssocTyId
type ImplOrTraitAssocConstId = ImplOrTraitAssocConstId
type ImplOrTraitAssocTermId = ImplOrTraitAssocTermId
type InherentAssocTyId = InherentAssocTyId
type InherentAssocConstId = InherentAssocConstId
type InherentAssocTermId = InherentAssocTermId
type Span = Span
type GenericArgs = GenericArgs<'db>
type GenericArgsSlice = &'db [GenericArg<'db>]
type GenericArg = GenericArg<'db>
type Term = Term<'db>
type BoundVarKinds = BoundVarKinds<'db>
type PredefinedOpaques = PredefinedOpaques<'db>
type CanonicalVarKinds = CanonicalVarKinds<'db>
type ExternalConstraints = ExternalConstraints<'db>
type DepNodeIndex = DepNodeIndex
type Tracked<T: Debug + Clone> = Tracked<T>
type Ty = Ty<'db>
type Tys = Tys<'db>
type FnInputTys = &'db [Ty<'db>]
type ParamTy = ParamTy
type Symbol = Symbol
type ErrorGuaranteed = ErrorGuaranteed
type BoundExistentialPredicates = BoundExistentialPredicates<'db>
type AllocId = AllocId
type Pat = Pattern<'db>
type PatList = PatList<'db>
type Safety = Safety
type Const = Const<'db>
type ParamConst = ParamConst
type ValueConst = ValueConst<'db>
type ValTree = ValTree<'db>
type Consts = Consts<'db>
type ScalarInt = ScalarInt
type ExprConst = ExprConst
type Region = Region<'db>
type EarlyParamRegion = EarlyParamRegion
type LateParamRegion = LateParamRegion<'db>
type RegionAssumptions = RegionAssumptions<'db>
type ParamEnv = ParamEnv<'db>
type Predicate = Predicate<'db>
type Clause = Clause<'db>
type Clauses = Clauses<'db>
type GenericsOf = Generics<'db>
type VariancesOf = VariancesOf<'db>
type AdtDef = AdtDef
type Features = Features
type UnsizingParams = UnsizingParams
type Probe = Probe<DbInterner<'db>>
fn mk_predefined_opaques_in_body( self, data: &[(OpaqueTypeKey<DbInterner<'db>>, <DbInterner<'db> as Interner>::Ty)], ) -> <DbInterner<'db> as Interner>::PredefinedOpaques
fn mk_canonical_var_kinds( self, kinds: &[CanonicalVarKind<DbInterner<'db>>], ) -> <DbInterner<'db> as Interner>::CanonicalVarKinds
fn mk_external_constraints( self, data: ExternalConstraintsData<DbInterner<'db>>, ) -> <DbInterner<'db> as Interner>::ExternalConstraints
fn mk_args( self, args: &[<DbInterner<'db> as Interner>::GenericArg], ) -> <DbInterner<'db> as Interner>::GenericArgs
fn mk_args_from_iter<I, T>(
self,
args: I,
) -> <T as CollectAndApply<<DbInterner<'db> as Interner>::GenericArg, <DbInterner<'db> as Interner>::GenericArgs>>::Outputwhere
I: Iterator<Item = T>,
T: CollectAndApply<<DbInterner<'db> as Interner>::GenericArg, <DbInterner<'db> as Interner>::GenericArgs>,
fn mk_tracked<T>( self, data: T, _dep_node: <DbInterner<'db> as Interner>::DepNodeIndex, ) -> <DbInterner<'db> as Interner>::Tracked<T>
fn get_tracked<T>( self, tracked: &<DbInterner<'db> as Interner>::Tracked<T>, ) -> T
fn with_cached_task<T>( self, task: impl FnOnce() -> T, ) -> (T, <DbInterner<'db> as Interner>::DepNodeIndex)
fn with_global_cache<R>( self, f: impl FnOnce(&mut GlobalCache<DbInterner<'db>>) -> R, ) -> R
fn canonical_param_env_cache_get_or_insert<R>( self, _param_env: <DbInterner<'db> as Interner>::ParamEnv, f: impl FnOnce() -> CanonicalParamEnvCacheEntry<DbInterner<'db>>, from_entry: impl FnOnce(&CanonicalParamEnvCacheEntry<DbInterner<'db>>) -> R, ) -> R
Source§fn assert_evaluation_is_concurrent(&self)
fn assert_evaluation_is_concurrent(&self)
fn expand_abstract_consts<T>(self, _: T) -> Twhere
T: TypeFoldable<DbInterner<'db>>,
fn generics_of( self, def_id: <DbInterner<'db> as Interner>::DefId, ) -> <DbInterner<'db> as Interner>::GenericsOf
fn variances_of( self, def_id: <DbInterner<'db> as Interner>::DefId, ) -> <DbInterner<'db> as Interner>::VariancesOf
fn type_of( self, def_id: <DbInterner<'db> as Interner>::DefId, ) -> EarlyBinder<DbInterner<'db>, <DbInterner<'db> as Interner>::Ty>
fn adt_def( self, def_id: <DbInterner<'db> as Interner>::AdtId, ) -> <DbInterner<'db> as Interner>::AdtDef
fn alias_term_kind_from_def_id( self, def_id: SolverDefId<'db>, ) -> AliasTermKind<DbInterner<'db>>
fn trait_ref_and_own_args_for_alias( self, def_id: <DbInterner<'db> as Interner>::TraitAssocTermId, args: <DbInterner<'db> as Interner>::GenericArgs, ) -> (TraitRef<DbInterner<'db>>, <DbInterner<'db> as Interner>::GenericArgsSlice)
fn check_args_compatible( self, def_id: <DbInterner<'db> as Interner>::DefId, args: <DbInterner<'db> as Interner>::GenericArgs, ) -> bool
fn debug_assert_args_compatible( self, _def_id: <DbInterner<'db> as Interner>::DefId, _args: <DbInterner<'db> as Interner>::GenericArgs, )
Source§fn debug_assert_existential_args_compatible(
self,
_def_id: <DbInterner<'db> as Interner>::DefId,
_args: <DbInterner<'db> as Interner>::GenericArgs,
)
fn debug_assert_existential_args_compatible( self, _def_id: <DbInterner<'db> as Interner>::DefId, _args: <DbInterner<'db> as Interner>::GenericArgs, )
ExistentialTraitRef or ExistentialProjection
are compatible with the DefId.fn mk_type_list_from_iter<I, T>(
self,
args: I,
) -> <T as CollectAndApply<<DbInterner<'db> as Interner>::Ty, <DbInterner<'db> as Interner>::Tys>>::Outputwhere
I: Iterator<Item = T>,
T: CollectAndApply<<DbInterner<'db> as Interner>::Ty, <DbInterner<'db> as Interner>::Tys>,
fn projection_parent( self, def_id: <DbInterner<'db> as Interner>::TraitAssocTermId, ) -> <DbInterner<'db> as Interner>::TraitId
Source§fn impl_or_trait_assoc_term_parent(
self,
def_id: <DbInterner<'db> as Interner>::ImplOrTraitAssocTermId,
) -> <DbInterner<'db> as Interner>::DefId
fn impl_or_trait_assoc_term_parent( self, def_id: <DbInterner<'db> as Interner>::ImplOrTraitAssocTermId, ) -> <DbInterner<'db> as Interner>::DefId
fn inherent_alias_term_parent( self, def_id: <DbInterner<'db> as Interner>::InherentAssocTermId, ) -> <DbInterner<'db> as Interner>::ImplId
fn recursion_limit(self) -> usize
fn is_type_const(self, _def_id: <DbInterner<'db> as Interner>::DefId) -> bool
fn features(self) -> Features
fn fn_sig( self, def_id: <DbInterner<'db> as Interner>::FunctionId, ) -> EarlyBinder<DbInterner<'db>, Binder<DbInterner<'db>, FnSig<DbInterner<'db>>>>
fn coroutine_movability( self, def_id: <DbInterner<'db> as Interner>::CoroutineId, ) -> Movability
fn coroutine_for_closure( self, def_id: <DbInterner<'db> as Interner>::CoroutineClosureId, ) -> <DbInterner<'db> as Interner>::CoroutineId
fn generics_require_sized_self( self, def_id: <DbInterner<'db> as Interner>::DefId, ) -> bool
fn item_bounds( self, def_id: <DbInterner<'db> as Interner>::DefId, ) -> EarlyBinder<DbInterner<'db>, impl IntoIterator<Item = <DbInterner<'db> as Interner>::Clause>>
fn item_self_bounds( self, def_id: <DbInterner<'db> as Interner>::DefId, ) -> EarlyBinder<DbInterner<'db>, impl IntoIterator<Item = <DbInterner<'db> as Interner>::Clause>>
fn item_non_self_bounds( self, def_id: <DbInterner<'db> as Interner>::DefId, ) -> EarlyBinder<DbInterner<'db>, impl IntoIterator<Item = <DbInterner<'db> as Interner>::Clause>>
fn predicates_of( self, def_id: <DbInterner<'db> as Interner>::DefId, ) -> EarlyBinder<DbInterner<'db>, impl IntoIterator<Item = <DbInterner<'db> as Interner>::Clause>>
fn own_predicates_of( self, def_id: <DbInterner<'db> as Interner>::DefId, ) -> EarlyBinder<DbInterner<'db>, impl IntoIterator<Item = <DbInterner<'db> as Interner>::Clause>>
fn explicit_super_predicates_of( self, def_id: <DbInterner<'db> as Interner>::TraitId, ) -> EarlyBinder<DbInterner<'db>, impl IntoIterator<Item = (<DbInterner<'db> as Interner>::Clause, <DbInterner<'db> as Interner>::Span)>>
fn explicit_implied_predicates_of( self, def_id: <DbInterner<'db> as Interner>::DefId, ) -> EarlyBinder<DbInterner<'db>, impl IntoIterator<Item = (<DbInterner<'db> as Interner>::Clause, <DbInterner<'db> as Interner>::Span)>>
Source§fn impl_super_outlives(
self,
impl_id: <DbInterner<'db> as Interner>::ImplId,
) -> EarlyBinder<DbInterner<'db>, impl IntoIterator<Item = <DbInterner<'db> as Interner>::Clause>>
fn impl_super_outlives( self, impl_id: <DbInterner<'db> as Interner>::ImplId, ) -> EarlyBinder<DbInterner<'db>, impl IntoIterator<Item = <DbInterner<'db> as Interner>::Clause>>
fn const_conditions( self, _def_id: <DbInterner<'db> as Interner>::DefId, ) -> EarlyBinder<DbInterner<'db>, impl IntoIterator<Item = Binder<DbInterner<'db>, TraitRef<DbInterner<'db>>>>>
fn has_target_features( self, _def_id: <DbInterner<'db> as Interner>::FunctionId, ) -> bool
fn require_projection_lang_item( self, lang_item: SolverProjectionLangItem, ) -> <DbInterner<'db> as Interner>::TraitAssocTyId
fn require_trait_lang_item( self, lang_item: SolverTraitLangItem, ) -> TraitIdWrapper
fn require_adt_lang_item(self, lang_item: SolverAdtLangItem) -> AdtIdWrapper
fn is_projection_lang_item( self, def_id: <DbInterner<'db> as Interner>::TraitAssocTyId, lang_item: SolverProjectionLangItem, ) -> bool
fn is_trait_lang_item( self, def_id: <DbInterner<'db> as Interner>::TraitId, lang_item: SolverTraitLangItem, ) -> bool
fn is_adt_lang_item( self, def_id: <DbInterner<'db> as Interner>::AdtId, lang_item: SolverAdtLangItem, ) -> bool
fn as_projection_lang_item( self, def_id: <DbInterner<'db> as Interner>::TraitAssocTyId, ) -> Option<SolverProjectionLangItem>
fn as_trait_lang_item( self, def_id: <DbInterner<'db> as Interner>::TraitId, ) -> Option<SolverTraitLangItem>
fn as_adt_lang_item( self, def_id: <DbInterner<'db> as Interner>::AdtId, ) -> Option<SolverAdtLangItem>
fn associated_type_def_ids( self, def_id: <DbInterner<'db> as Interner>::TraitId, ) -> impl IntoIterator<Item = <DbInterner<'db> as Interner>::DefId>
fn for_each_relevant_impl<R>(
self,
trait_def_id: <DbInterner<'db> as Interner>::TraitId,
self_ty: <DbInterner<'db> as Interner>::Ty,
f: impl FnMut(<DbInterner<'db> as Interner>::ImplId) -> R,
) -> Rwhere
R: VisitorResult,
fn for_each_blanket_impl<R>(
self,
trait_def_id: <DbInterner<'db> as Interner>::TraitId,
f: impl FnMut(<DbInterner<'db> as Interner>::ImplId) -> R,
) -> Rwhere
R: VisitorResult,
fn has_item_definition( self, _def_id: <DbInterner<'db> as Interner>::ImplOrTraitAssocTermId, ) -> bool
fn impl_is_default( self, impl_def_id: <DbInterner<'db> as Interner>::ImplId, ) -> bool
fn impl_trait_ref( self, impl_id: <DbInterner<'db> as Interner>::ImplId, ) -> EarlyBinder<DbInterner<'db>, TraitRef<DbInterner<'db>>>
fn impl_polarity( self, impl_id: <DbInterner<'db> as Interner>::ImplId, ) -> ImplPolarity
fn trait_is_auto(self, trait_: <DbInterner<'db> as Interner>::TraitId) -> bool
fn trait_is_alias(self, trait_: <DbInterner<'db> as Interner>::TraitId) -> bool
fn trait_is_dyn_compatible( self, trait_: <DbInterner<'db> as Interner>::TraitId, ) -> bool
fn trait_is_fundamental( self, trait_: <DbInterner<'db> as Interner>::TraitId, ) -> bool
fn is_impl_trait_in_trait( self, _def_id: <DbInterner<'db> as Interner>::DefId, ) -> bool
fn delay_bug( self, _msg: impl ToString, ) -> <DbInterner<'db> as Interner>::ErrorGuaranteed
fn is_general_coroutine( self, def_id: <DbInterner<'db> as Interner>::CoroutineId, ) -> bool
fn coroutine_is_async( self, def_id: <DbInterner<'db> as Interner>::CoroutineId, ) -> bool
fn coroutine_is_gen( self, def_id: <DbInterner<'db> as Interner>::CoroutineId, ) -> bool
fn coroutine_is_async_gen( self, def_id: <DbInterner<'db> as Interner>::CoroutineId, ) -> bool
fn unsizing_params_for_adt( self, id: <DbInterner<'db> as Interner>::AdtId, ) -> <DbInterner<'db> as Interner>::UnsizingParams
fn anonymize_bound_vars<T>(
self,
value: Binder<DbInterner<'db>, T>,
) -> Binder<DbInterner<'db>, T>where
T: TypeFoldable<DbInterner<'db>>,
fn opaque_types_defined_by( self, def_id: <DbInterner<'db> as Interner>::LocalDefId, ) -> <DbInterner<'db> as Interner>::LocalDefIds
fn opaque_types_and_coroutines_defined_by( self, def_id: <DbInterner<'db> as Interner>::LocalDefId, ) -> <DbInterner<'db> as Interner>::LocalDefIds
fn alias_has_const_conditions( self, _def_id: <DbInterner<'db> as Interner>::DefId, ) -> bool
fn explicit_implied_const_bounds( self, _def_id: <DbInterner<'db> as Interner>::DefId, ) -> EarlyBinder<DbInterner<'db>, impl IntoIterator<Item = Binder<DbInterner<'db>, TraitRef<DbInterner<'db>>>>>
fn fn_is_const(self, id: <DbInterner<'db> as Interner>::FunctionId) -> bool
fn impl_is_const(self, _def_id: <DbInterner<'db> as Interner>::ImplId) -> bool
fn opt_alias_variances( self, _kind: impl Into<AliasTermKind<DbInterner<'db>>>, ) -> Option<<DbInterner<'db> as Interner>::VariancesOf>
fn type_of_opaque_hir_typeck( self, opaque: <DbInterner<'db> as Interner>::LocalOpaqueTyId, ) -> EarlyBinder<DbInterner<'db>, <DbInterner<'db> as Interner>::Ty>
fn is_default_trait( self, def_id: <DbInterner<'db> as Interner>::TraitId, ) -> bool
fn trait_is_coinductive( self, trait_: <DbInterner<'db> as Interner>::TraitId, ) -> bool
Source§fn trait_is_unsafe(self, trait_: <DbInterner<'db> as Interner>::TraitId) -> bool
fn trait_is_unsafe(self, trait_: <DbInterner<'db> as Interner>::TraitId) -> bool
true if this is an unsafe trait.fn impl_self_is_guaranteed_unsized( self, _def_id: <DbInterner<'db> as Interner>::ImplId, ) -> bool
fn impl_specializes( self, specializing_impl_def_id: <DbInterner<'db> as Interner>::ImplId, parent_impl_def_id: <DbInterner<'db> as Interner>::ImplId, ) -> bool
fn next_trait_solver_globally(self) -> bool
fn mk_probe( self, probe: Probe<DbInterner<'db>>, ) -> <DbInterner<'db> as Interner>::Probe
fn evaluate_root_goal_for_proof_tree_raw( self, canonical_goal: CanonicalQueryInput<DbInterner<'db>, QueryInput<DbInterner<'db>, <DbInterner<'db> as Interner>::Predicate>>, ) -> (Result<Canonical<DbInterner<'db>, Response<DbInterner<'db>>>, NoSolution>, <DbInterner<'db> as Interner>::Probe)
fn is_sizedness_trait( self, def_id: <DbInterner<'db> as Interner>::TraitId, ) -> bool
fn const_of_item( self, def_id: <DbInterner<'db> as Interner>::DefId, ) -> EarlyBinder<DbInterner<'db>, <DbInterner<'db> as Interner>::Const>
fn anon_const_kind( self, _def_id: <DbInterner<'db> as Interner>::DefId, ) -> AnonConstKind
fn alias_ty_kind_from_def_id( self, def_id: <DbInterner<'db> as Interner>::DefId, ) -> AliasTyKind<DbInterner<'db>>
fn closure_is_const( self, _def_id: <DbInterner<'db> as Interner>::ClosureId, ) -> bool
fn item_name( self, _item_index: <DbInterner<'db> as Interner>::DefId, ) -> <DbInterner<'db> as Interner>::Symbol
Source§impl<'db> IrPrint<AliasTerm<DbInterner<'db>>> for DbInterner<'db>
impl<'db> IrPrint<AliasTerm<DbInterner<'db>>> for DbInterner<'db>
Source§impl<'db> IrPrint<AliasTy<DbInterner<'db>>> for DbInterner<'db>
impl<'db> IrPrint<AliasTy<DbInterner<'db>>> for DbInterner<'db>
Source§impl<'db> IrPrint<CoercePredicate<DbInterner<'db>>> for DbInterner<'db>
impl<'db> IrPrint<CoercePredicate<DbInterner<'db>>> for DbInterner<'db>
Source§impl<'db> IrPrint<ExistentialProjection<DbInterner<'db>>> for DbInterner<'db>
impl<'db> IrPrint<ExistentialProjection<DbInterner<'db>>> for DbInterner<'db>
Source§impl<'db> IrPrint<ExistentialTraitRef<DbInterner<'db>>> for DbInterner<'db>
impl<'db> IrPrint<ExistentialTraitRef<DbInterner<'db>>> for DbInterner<'db>
Source§impl<'db> IrPrint<FnSig<DbInterner<'db>>> for DbInterner<'db>
impl<'db> IrPrint<FnSig<DbInterner<'db>>> for DbInterner<'db>
Source§impl<'db> IrPrint<HostEffectPredicate<DbInterner<'db>>> for DbInterner<'db>
impl<'db> IrPrint<HostEffectPredicate<DbInterner<'db>>> for DbInterner<'db>
Source§impl<'db> IrPrint<NormalizesTo<DbInterner<'db>>> for DbInterner<'db>
impl<'db> IrPrint<NormalizesTo<DbInterner<'db>>> for DbInterner<'db>
Source§impl<'db> IrPrint<PatternKind<DbInterner<'db>>> for DbInterner<'db>
impl<'db> IrPrint<PatternKind<DbInterner<'db>>> for DbInterner<'db>
Source§impl<'db> IrPrint<ProjectionPredicate<DbInterner<'db>>> for DbInterner<'db>
impl<'db> IrPrint<ProjectionPredicate<DbInterner<'db>>> for DbInterner<'db>
Source§impl<'db> IrPrint<SubtypePredicate<DbInterner<'db>>> for DbInterner<'db>
impl<'db> IrPrint<SubtypePredicate<DbInterner<'db>>> for DbInterner<'db>
Source§impl<'db> IrPrint<TraitPredicate<DbInterner<'db>>> for DbInterner<'db>
impl<'db> IrPrint<TraitPredicate<DbInterner<'db>>> for DbInterner<'db>
Source§impl<'db> IrPrint<TraitRef<DbInterner<'db>>> for DbInterner<'db>
impl<'db> IrPrint<TraitRef<DbInterner<'db>>> for DbInterner<'db>
Source§impl<'db> ParamEnv<DbInterner<'db>> for ParamEnv<'db>
impl<'db> ParamEnv<DbInterner<'db>> for ParamEnv<'db>
fn caller_bounds(self) -> impl SliceLike<Item = Clause<'db>>
Source§impl<'db> Predicate<DbInterner<'db>> for Predicate<'db>
impl<'db> Predicate<DbInterner<'db>> for Predicate<'db>
fn as_clause(self) -> Option<<DbInterner<'db> as Interner>::Clause>
fn as_normalizes_to(self) -> Option<Binder<I, NormalizesTo<I>>>
fn allow_normalization(self) -> bool
Source§impl<'db> Region<DbInterner<'db>> for Region<'db>
impl<'db> Region<DbInterner<'db>> for Region<'db>
fn new_bound( interner: DbInterner<'db>, debruijn: DebruijnIndex, var: BoundRegion<DbInterner<'db>>, ) -> Region<'db>
fn new_anon_bound( interner: DbInterner<'db>, debruijn: DebruijnIndex, var: BoundVar, ) -> Region<'db>
fn new_canonical_bound(interner: DbInterner<'db>, var: BoundVar) -> Region<'db>
fn new_static(interner: DbInterner<'db>) -> Region<'db>
fn new_placeholder( interner: DbInterner<'db>, var: Placeholder<DbInterner<'db>, BoundRegion<DbInterner<'db>>>, ) -> Region<'db>
fn is_bound(self) -> bool
Source§impl<'db> Relate<DbInterner<'db>> for Safety
impl<'db> Relate<DbInterner<'db>> for Safety
fn relate<R>(
_relation: &mut R,
a: Safety,
b: Safety,
) -> Result<Safety, TypeError<DbInterner<'db>>>where
R: TypeRelation<DbInterner<'db>>,
Source§impl<'db> Relate<DbInterner<'db>> for ExternAbi
impl<'db> Relate<DbInterner<'db>> for ExternAbi
fn relate<R>(
_relation: &mut R,
a: ExternAbi,
b: ExternAbi,
) -> Result<ExternAbi, TypeError<DbInterner<'db>>>where
R: TypeRelation<DbInterner<'db>>,
Source§impl<'db> Relate<DbInterner<'db>> for Const<'db>
impl<'db> Relate<DbInterner<'db>> for Const<'db>
fn relate<R>(
relation: &mut R,
a: Const<'db>,
b: Const<'db>,
) -> Result<Const<'db>, TypeError<DbInterner<'db>>>where
R: TypeRelation<DbInterner<'db>>,
Source§impl<'db> Relate<DbInterner<'db>> for ExprConst
impl<'db> Relate<DbInterner<'db>> for ExprConst
fn relate<R>(
_relation: &mut R,
a: ExprConst,
b: ExprConst,
) -> Result<ExprConst, TypeError<DbInterner<'db>>>where
R: TypeRelation<DbInterner<'db>>,
Source§impl<'db> Relate<DbInterner<'db>> for GenericArg<'db>
impl<'db> Relate<DbInterner<'db>> for GenericArg<'db>
fn relate<R>(
relation: &mut R,
a: GenericArg<'db>,
b: GenericArg<'db>,
) -> Result<GenericArg<'db>, TypeError<DbInterner<'db>>>where
R: TypeRelation<DbInterner<'db>>,
Source§impl<'db> Relate<DbInterner<'db>> for GenericArgs<'db>
impl<'db> Relate<DbInterner<'db>> for GenericArgs<'db>
fn relate<R>(
relation: &mut R,
a: GenericArgs<'db>,
b: GenericArgs<'db>,
) -> Result<GenericArgs<'db>, TypeError<DbInterner<'db>>>where
R: TypeRelation<DbInterner<'db>>,
Source§impl<'db> Relate<DbInterner<'db>> for Term<'db>
impl<'db> Relate<DbInterner<'db>> for Term<'db>
fn relate<R>(
relation: &mut R,
a: Term<'db>,
b: Term<'db>,
) -> Result<Term<'db>, TypeError<DbInterner<'db>>>where
R: TypeRelation<DbInterner<'db>>,
Source§impl<'db> Relate<DbInterner<'db>> for Pattern<'db>
impl<'db> Relate<DbInterner<'db>> for Pattern<'db>
fn relate<R>(
relation: &mut R,
a: Pattern<'db>,
b: Pattern<'db>,
) -> Result<Pattern<'db>, TypeError<DbInterner<'db>>>where
R: TypeRelation<DbInterner<'db>>,
Source§impl<'db> Relate<DbInterner<'db>> for BoundExistentialPredicates<'db>
impl<'db> Relate<DbInterner<'db>> for BoundExistentialPredicates<'db>
fn relate<R>(
relation: &mut R,
a: BoundExistentialPredicates<'db>,
b: BoundExistentialPredicates<'db>,
) -> Result<BoundExistentialPredicates<'db>, TypeError<DbInterner<'db>>>where
R: TypeRelation<DbInterner<'db>>,
Source§impl<'db> Relate<DbInterner<'db>> for Region<'db>
impl<'db> Relate<DbInterner<'db>> for Region<'db>
fn relate<R>(
relation: &mut R,
a: Region<'db>,
b: Region<'db>,
) -> Result<Region<'db>, TypeError<DbInterner<'db>>>where
R: TypeRelation<DbInterner<'db>>,
Source§impl<'db> Relate<DbInterner<'db>> for Ty<'db>
impl<'db> Relate<DbInterner<'db>> for Ty<'db>
fn relate<R>(
relation: &mut R,
a: Ty<'db>,
b: Ty<'db>,
) -> Result<Ty<'db>, TypeError<DbInterner<'db>>>where
R: TypeRelation<DbInterner<'db>>,
Source§impl<'db> Safety<DbInterner<'db>> for Safety
impl<'db> Safety<DbInterner<'db>> for Safety
impl Send for DbInterner<'_>
Source§impl<'db> Symbol<DbInterner<'db>> for Symbol
impl<'db> Symbol<DbInterner<'db>> for Symbol
fn is_kw_underscore_lifetime(self) -> bool
impl Sync for DbInterner<'_>
Source§impl<'db> Term<DbInterner<'db>> for Term<'db>
impl<'db> Term<DbInterner<'db>> for Term<'db>
fn as_type(&self) -> Option<<I as Interner>::Ty>
fn expect_ty(&self) -> <I as Interner>::Ty
fn as_const(&self) -> Option<<I as Interner>::Const>
fn expect_const(&self) -> <I as Interner>::Const
fn is_infer(self) -> bool
fn is_error(self) -> bool
fn to_alias_term(self, interner: I) -> Option<AliasTerm<I>>
Source§impl<'db> Ty<DbInterner<'db>> for Ty<'db>
impl<'db> Ty<DbInterner<'db>> for Ty<'db>
fn new_unit(interner: DbInterner<'db>) -> Ty<'db>
fn new_bool(interner: DbInterner<'db>) -> Ty<'db>
fn new_u8(interner: DbInterner<'db>) -> Ty<'db>
fn new_usize(interner: DbInterner<'db>) -> Ty<'db>
fn new_infer(interner: DbInterner<'db>, var: InferTy) -> Ty<'db>
fn new_var(interner: DbInterner<'db>, var: TyVid) -> Ty<'db>
fn new_param(interner: DbInterner<'db>, param: ParamTy) -> Ty<'db>
fn new_placeholder( interner: DbInterner<'db>, param: Placeholder<DbInterner<'db>, BoundTy<DbInterner<'db>>>, ) -> Ty<'db>
fn new_bound( interner: DbInterner<'db>, debruijn: DebruijnIndex, var: BoundTy<DbInterner<'db>>, ) -> Ty<'db>
fn new_anon_bound( interner: DbInterner<'db>, debruijn: DebruijnIndex, var: BoundVar, ) -> Ty<'db>
fn new_canonical_bound(interner: DbInterner<'db>, var: BoundVar) -> Ty<'db>
fn new_alias( interner: DbInterner<'db>, alias_ty: AliasTy<DbInterner<'db>>, ) -> Ty<'db>
fn new_error(interner: DbInterner<'db>, guar: ErrorGuaranteed) -> Ty<'db>
fn new_adt( interner: DbInterner<'db>, adt_def: <DbInterner<'db> as Interner>::AdtDef, args: GenericArgs<'db>, ) -> Ty<'db>
fn new_foreign(interner: DbInterner<'db>, def_id: TypeAliasIdWrapper) -> Ty<'db>
fn new_dynamic( interner: DbInterner<'db>, preds: <DbInterner<'db> as Interner>::BoundExistentialPredicates, region: <DbInterner<'db> as Interner>::Region, ) -> Ty<'db>
fn new_coroutine( interner: DbInterner<'db>, def_id: CoroutineIdWrapper<'db>, args: <DbInterner<'db> as Interner>::GenericArgs, ) -> Ty<'db>
fn new_coroutine_closure( interner: DbInterner<'db>, def_id: CoroutineClosureIdWrapper<'db>, args: <DbInterner<'db> as Interner>::GenericArgs, ) -> Ty<'db>
fn new_closure( interner: DbInterner<'db>, def_id: ClosureIdWrapper<'db>, args: <DbInterner<'db> as Interner>::GenericArgs, ) -> Ty<'db>
fn new_coroutine_witness( interner: DbInterner<'db>, def_id: CoroutineIdWrapper<'db>, args: <DbInterner<'db> as Interner>::GenericArgs, ) -> Ty<'db>
fn new_coroutine_witness_for_coroutine( interner: DbInterner<'db>, def_id: CoroutineIdWrapper<'db>, coroutine_args: <DbInterner<'db> as Interner>::GenericArgs, ) -> Ty<'db>
fn new_ptr(interner: DbInterner<'db>, ty: Ty<'db>, mutbl: Mutability) -> Ty<'db>
fn new_ref( interner: DbInterner<'db>, region: <DbInterner<'db> as Interner>::Region, ty: Ty<'db>, mutbl: Mutability, ) -> Ty<'db>
fn new_array_with_const_len( interner: DbInterner<'db>, ty: Ty<'db>, len: <DbInterner<'db> as Interner>::Const, ) -> Ty<'db>
fn new_slice(interner: DbInterner<'db>, ty: Ty<'db>) -> Ty<'db>
fn new_tup( interner: DbInterner<'db>, tys: &[<DbInterner<'db> as Interner>::Ty], ) -> Ty<'db>
fn new_tup_from_iter<It, T>( interner: DbInterner<'db>, iter: It, ) -> <T as CollectAndApply<Ty<'db>, Ty<'db>>>::Output
fn new_fn_def( interner: DbInterner<'db>, def_id: CallableIdWrapper, args: <DbInterner<'db> as Interner>::GenericArgs, ) -> Ty<'db>
fn new_fn_ptr( interner: DbInterner<'db>, sig: Binder<DbInterner<'db>, FnSig<DbInterner<'db>>>, ) -> Ty<'db>
fn new_pat( interner: DbInterner<'db>, ty: Ty<'db>, pat: <DbInterner<'db> as Interner>::Pat, ) -> Ty<'db>
fn new_unsafe_binder( interner: DbInterner<'db>, ty: Binder<DbInterner<'db>, <DbInterner<'db> as Interner>::Ty>, ) -> Ty<'db>
fn tuple_fields(self) -> <DbInterner<'db> as Interner>::Tys
fn to_opt_closure_kind(self) -> Option<ClosureKind>
fn from_closure_kind(interner: DbInterner<'db>, kind: ClosureKind) -> Ty<'db>
fn from_coroutine_closure_kind( interner: DbInterner<'db>, kind: ClosureKind, ) -> Ty<'db>
Source§fn has_unsafe_fields(self) -> bool
fn has_unsafe_fields(self) -> bool
fn discriminant_ty(self, interner: DbInterner<'db>) -> Ty<'db>
fn new_projection_from_args( interner: I, def_id: <I as Interner>::TraitAssocTyId, args: <I as Interner>::GenericArgs, ) -> Self
fn new_projection(
interner: I,
def_id: <I as Interner>::TraitAssocTyId,
args: impl IntoIterator- >,
) -> Self
fn is_ty_var(self) -> bool
fn is_ty_error(self) -> bool
fn is_floating_point(self) -> bool
fn is_integral(self) -> bool
fn is_fn_ptr(self) -> bool
fn fn_sig(self, interner: I) -> Binder<I, FnSig<I>>
fn is_known_rigid(self) -> bool
fn is_guaranteed_unsized_raw(self) -> bool
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Projection
impl<'db> TypeFoldable<DbInterner<'db>> for Projection
Source§fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<Projection, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<Projection, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<__F>(self, __folder: &mut __F) -> Projectionwhere
__F: TypeFolder<DbInterner<'db>>,
fn fold_with<__F>(self, __folder: &mut __F) -> Projectionwhere
__F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Place
impl<'db> TypeFoldable<DbInterner<'db>> for Place
Source§fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<Place, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<Place, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for InferenceDiagnostic
impl<'db> TypeFoldable<DbInterner<'db>> for InferenceDiagnostic
Source§fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<InferenceDiagnostic, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<InferenceDiagnostic, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<__F>(self, __folder: &mut __F) -> InferenceDiagnosticwhere
__F: TypeFolder<DbInterner<'db>>,
fn fold_with<__F>(self, __folder: &mut __F) -> InferenceDiagnosticwhere
__F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for StoredFnSig
impl<'db> TypeFoldable<DbInterner<'db>> for StoredFnSig
Source§fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<StoredFnSig, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<StoredFnSig, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<__F>(self, __folder: &mut __F) -> StoredFnSigwhere
__F: TypeFolder<DbInterner<'db>>,
fn fold_with<__F>(self, __folder: &mut __F) -> StoredFnSigwhere
__F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for StoredTraitRef
impl<'db> TypeFoldable<DbInterner<'db>> for StoredTraitRef
Source§fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<StoredTraitRef, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<StoredTraitRef, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<__F>(self, __folder: &mut __F) -> StoredTraitRefwhere
__F: TypeFolder<DbInterner<'db>>,
fn fold_with<__F>(self, __folder: &mut __F) -> StoredTraitRefwhere
__F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for ValueConst<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for ValueConst<'db>
Source§fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<ValueConst<'db>, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<ValueConst<'db>, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<__F>(self, __folder: &mut __F) -> ValueConst<'db>where
__F: TypeFolder<DbInterner<'db>>,
fn fold_with<__F>(self, __folder: &mut __F) -> ValueConst<'db>where
__F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for ValTree<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for ValTree<'db>
Source§fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<ValTree<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<ValTree<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for ExprConst
impl<'db> TypeFoldable<DbInterner<'db>> for ExprConst
Source§fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<ExprConst, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<ExprConst, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Const<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for Const<'db>
Source§fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Const<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Const<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Consts<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for Consts<'db>
Source§fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Consts<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Consts<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for StoredGenericArg
impl<'db> TypeFoldable<DbInterner<'db>> for StoredGenericArg
Source§fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<StoredGenericArg, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<StoredGenericArg, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, folder: &mut F) -> StoredGenericArgwhere
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, folder: &mut F) -> StoredGenericArgwhere
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for GenericArg<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for GenericArg<'db>
Source§fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<GenericArg<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<GenericArg<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, folder: &mut F) -> GenericArg<'db>where
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, folder: &mut F) -> GenericArg<'db>where
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Term<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for Term<'db>
Source§fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Term<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Term<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for GenericArgs<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for GenericArgs<'db>
Source§fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<GenericArgs<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<GenericArgs<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, folder: &mut F) -> GenericArgs<'db>where
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, folder: &mut F) -> GenericArgs<'db>where
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for StoredGenericArgs
impl<'db> TypeFoldable<DbInterner<'db>> for StoredGenericArgs
Source§fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<StoredGenericArgs, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<StoredGenericArgs, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, folder: &mut F) -> StoredGenericArgswhere
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, folder: &mut F) -> StoredGenericArgswhere
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db, R> TypeFoldable<DbInterner<'db>> for QueryResponse<'db, R>where
R: TypeFoldable<DbInterner<'db>>,
impl<'db, R> TypeFoldable<DbInterner<'db>> for QueryResponse<'db, R>where
R: TypeFoldable<DbInterner<'db>>,
Source§fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<QueryResponse<'db, R>, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<QueryResponse<'db, R>, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<__F>(self, __folder: &mut __F) -> QueryResponse<'db, R>where
__F: TypeFolder<DbInterner<'db>>,
fn fold_with<__F>(self, __folder: &mut __F) -> QueryResponse<'db, R>where
__F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for QueryRegionConstraints<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for QueryRegionConstraints<'db>
Source§fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<QueryRegionConstraints<'db>, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<QueryRegionConstraints<'db>, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<__F>(self, __folder: &mut __F) -> QueryRegionConstraints<'db>where
__F: TypeFolder<DbInterner<'db>>,
fn fold_with<__F>(self, __folder: &mut __F) -> QueryRegionConstraints<'db>where
__F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for OpaqueHiddenType<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for OpaqueHiddenType<'db>
Source§fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<OpaqueHiddenType<'db>, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<OpaqueHiddenType<'db>, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<__F>(self, __folder: &mut __F) -> OpaqueHiddenType<'db>where
__F: TypeFolder<DbInterner<'db>>,
fn fold_with<__F>(self, __folder: &mut __F) -> OpaqueHiddenType<'db>where
__F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for ObligationCause
impl<'db> TypeFoldable<DbInterner<'db>> for ObligationCause
Source§fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<ObligationCause, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<ObligationCause, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<__F>(self, __folder: &mut __F) -> ObligationCausewhere
__F: TypeFolder<DbInterner<'db>>,
fn fold_with<__F>(self, __folder: &mut __F) -> ObligationCausewhere
__F: TypeFolder<DbInterner<'db>>,
Source§impl<'db, T> TypeFoldable<DbInterner<'db>> for Obligation<'db, T>where
T: TypeFoldable<DbInterner<'db>>,
impl<'db, T> TypeFoldable<DbInterner<'db>> for Obligation<'db, T>where
T: TypeFoldable<DbInterner<'db>>,
Source§fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<Obligation<'db, T>, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<Obligation<'db, T>, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<__F>(self, __folder: &mut __F) -> Obligation<'db, T>where
__F: TypeFolder<DbInterner<'db>>,
fn fold_with<__F>(self, __folder: &mut __F) -> Obligation<'db, T>where
__F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Pattern<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for Pattern<'db>
Source§fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Pattern<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Pattern<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for PatList<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for PatList<'db>
Source§fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<PatList<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<PatList<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for SolverDefId<'_>
impl<'db> TypeFoldable<DbInterner<'db>> for SolverDefId<'_>
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<SolverDefId<'_>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<SolverDefId<'_>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, _: &mut F) -> SolverDefId<'_>where
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, _: &mut F) -> SolverDefId<'_>where
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for TraitIdWrapper
impl<'db> TypeFoldable<DbInterner<'db>> for TraitIdWrapper
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<TraitIdWrapper, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<TraitIdWrapper, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, _: &mut F) -> TraitIdWrapperwhere
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, _: &mut F) -> TraitIdWrapperwhere
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for TypeAliasIdWrapper
impl<'db> TypeFoldable<DbInterner<'db>> for TypeAliasIdWrapper
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<TypeAliasIdWrapper, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<TypeAliasIdWrapper, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, _: &mut F) -> TypeAliasIdWrapperwhere
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, _: &mut F) -> TypeAliasIdWrapperwhere
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for CallableIdWrapper
impl<'db> TypeFoldable<DbInterner<'db>> for CallableIdWrapper
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<CallableIdWrapper, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<CallableIdWrapper, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, _: &mut F) -> CallableIdWrapperwhere
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, _: &mut F) -> CallableIdWrapperwhere
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for ClosureIdWrapper<'_>
impl<'db> TypeFoldable<DbInterner<'db>> for ClosureIdWrapper<'_>
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<ClosureIdWrapper<'_>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<ClosureIdWrapper<'_>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, _: &mut F) -> ClosureIdWrapper<'_>where
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, _: &mut F) -> ClosureIdWrapper<'_>where
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for CoroutineIdWrapper<'_>
impl<'db> TypeFoldable<DbInterner<'db>> for CoroutineIdWrapper<'_>
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<CoroutineIdWrapper<'_>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<CoroutineIdWrapper<'_>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, _: &mut F) -> CoroutineIdWrapper<'_>where
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, _: &mut F) -> CoroutineIdWrapper<'_>where
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for CoroutineClosureIdWrapper<'_>
impl<'db> TypeFoldable<DbInterner<'db>> for CoroutineClosureIdWrapper<'_>
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<CoroutineClosureIdWrapper<'_>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<CoroutineClosureIdWrapper<'_>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, _: &mut F) -> CoroutineClosureIdWrapper<'_>where
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, _: &mut F) -> CoroutineClosureIdWrapper<'_>where
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for AdtIdWrapper
impl<'db> TypeFoldable<DbInterner<'db>> for AdtIdWrapper
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<AdtIdWrapper, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<AdtIdWrapper, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, _: &mut F) -> AdtIdWrapperwhere
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, _: &mut F) -> AdtIdWrapperwhere
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for TraitAssocTyId
impl<'db> TypeFoldable<DbInterner<'db>> for TraitAssocTyId
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<TraitAssocTyId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<TraitAssocTyId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, _: &mut F) -> TraitAssocTyIdwhere
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, _: &mut F) -> TraitAssocTyIdwhere
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for TraitAssocConstId
impl<'db> TypeFoldable<DbInterner<'db>> for TraitAssocConstId
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<TraitAssocConstId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<TraitAssocConstId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, _: &mut F) -> TraitAssocConstIdwhere
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, _: &mut F) -> TraitAssocConstIdwhere
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for TraitAssocTermId
impl<'db> TypeFoldable<DbInterner<'db>> for TraitAssocTermId
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<TraitAssocTermId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<TraitAssocTermId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, _: &mut F) -> TraitAssocTermIdwhere
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, _: &mut F) -> TraitAssocTermIdwhere
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for ImplOrTraitAssocTyId
impl<'db> TypeFoldable<DbInterner<'db>> for ImplOrTraitAssocTyId
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<ImplOrTraitAssocTyId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<ImplOrTraitAssocTyId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, _: &mut F) -> ImplOrTraitAssocTyIdwhere
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, _: &mut F) -> ImplOrTraitAssocTyIdwhere
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for ImplOrTraitAssocConstId
impl<'db> TypeFoldable<DbInterner<'db>> for ImplOrTraitAssocConstId
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<ImplOrTraitAssocConstId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<ImplOrTraitAssocConstId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, _: &mut F) -> ImplOrTraitAssocConstIdwhere
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, _: &mut F) -> ImplOrTraitAssocConstIdwhere
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for ImplOrTraitAssocTermId
impl<'db> TypeFoldable<DbInterner<'db>> for ImplOrTraitAssocTermId
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<ImplOrTraitAssocTermId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<ImplOrTraitAssocTermId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, _: &mut F) -> ImplOrTraitAssocTermIdwhere
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, _: &mut F) -> ImplOrTraitAssocTermIdwhere
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for FreeTyAliasId
impl<'db> TypeFoldable<DbInterner<'db>> for FreeTyAliasId
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<FreeTyAliasId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<FreeTyAliasId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, _: &mut F) -> FreeTyAliasIdwhere
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, _: &mut F) -> FreeTyAliasIdwhere
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for FreeConstAliasId
impl<'db> TypeFoldable<DbInterner<'db>> for FreeConstAliasId
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<FreeConstAliasId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<FreeConstAliasId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, _: &mut F) -> FreeConstAliasIdwhere
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, _: &mut F) -> FreeConstAliasIdwhere
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for FreeTermAliasId
impl<'db> TypeFoldable<DbInterner<'db>> for FreeTermAliasId
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<FreeTermAliasId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<FreeTermAliasId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, _: &mut F) -> FreeTermAliasIdwhere
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, _: &mut F) -> FreeTermAliasIdwhere
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for InherentAssocTyId
impl<'db> TypeFoldable<DbInterner<'db>> for InherentAssocTyId
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<InherentAssocTyId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<InherentAssocTyId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, _: &mut F) -> InherentAssocTyIdwhere
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, _: &mut F) -> InherentAssocTyIdwhere
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for InherentAssocConstId
impl<'db> TypeFoldable<DbInterner<'db>> for InherentAssocConstId
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<InherentAssocConstId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<InherentAssocConstId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, _: &mut F) -> InherentAssocConstIdwhere
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, _: &mut F) -> InherentAssocConstIdwhere
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for InherentAssocTermId
impl<'db> TypeFoldable<DbInterner<'db>> for InherentAssocTermId
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<InherentAssocTermId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<InherentAssocTermId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, _: &mut F) -> InherentAssocTermIdwhere
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, _: &mut F) -> InherentAssocTermIdwhere
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for OpaqueTyIdWrapper<'_>
impl<'db> TypeFoldable<DbInterner<'db>> for OpaqueTyIdWrapper<'_>
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<OpaqueTyIdWrapper<'_>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<OpaqueTyIdWrapper<'_>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, _: &mut F) -> OpaqueTyIdWrapper<'_>where
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, _: &mut F) -> OpaqueTyIdWrapper<'_>where
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for AnyImplId
impl<'db> TypeFoldable<DbInterner<'db>> for AnyImplId
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<AnyImplId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<AnyImplId, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for GeneralConstIdWrapper<'_>
impl<'db> TypeFoldable<DbInterner<'db>> for GeneralConstIdWrapper<'_>
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<GeneralConstIdWrapper<'_>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<GeneralConstIdWrapper<'_>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, _: &mut F) -> GeneralConstIdWrapper<'_>where
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, _: &mut F) -> GeneralConstIdWrapper<'_>where
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Safety
impl<'db> TypeFoldable<DbInterner<'db>> for Safety
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<Safety, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<Safety, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Span
impl<'db> TypeFoldable<DbInterner<'db>> for Span
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<Span, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<Span, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for ParamConst
impl<'db> TypeFoldable<DbInterner<'db>> for ParamConst
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<ParamConst, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<ParamConst, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, _: &mut F) -> ParamConstwhere
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, _: &mut F) -> ParamConstwhere
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for ParamTy
impl<'db> TypeFoldable<DbInterner<'db>> for ParamTy
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<ParamTy, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<ParamTy, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for EarlyParamRegion
impl<'db> TypeFoldable<DbInterner<'db>> for EarlyParamRegion
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<EarlyParamRegion, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<EarlyParamRegion, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, _: &mut F) -> EarlyParamRegionwhere
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, _: &mut F) -> EarlyParamRegionwhere
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for AdtDef
impl<'db> TypeFoldable<DbInterner<'db>> for AdtDef
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<AdtDef, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<AdtDef, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for ScalarInt
impl<'db> TypeFoldable<DbInterner<'db>> for ScalarInt
Source§fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<ScalarInt, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<ScalarInt, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for PredefinedOpaques<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for PredefinedOpaques<'db>
Source§fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<PredefinedOpaques<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<PredefinedOpaques<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, folder: &mut F) -> PredefinedOpaques<'db>where
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, folder: &mut F) -> PredefinedOpaques<'db>where
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for SolverDefIds<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for SolverDefIds<'db>
Source§fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<SolverDefIds<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<SolverDefIds<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, folder: &mut F) -> SolverDefIds<'db>where
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, folder: &mut F) -> SolverDefIds<'db>where
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for ExternalConstraints<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for ExternalConstraints<'db>
Source§fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<ExternalConstraints<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<ExternalConstraints<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, folder: &mut F) -> ExternalConstraints<'db>where
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, folder: &mut F) -> ExternalConstraints<'db>where
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for BoundExistentialPredicates<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for BoundExistentialPredicates<'db>
Source§fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<BoundExistentialPredicates<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<BoundExistentialPredicates<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, folder: &mut F) -> BoundExistentialPredicates<'db>where
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, folder: &mut F) -> BoundExistentialPredicates<'db>where
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Clauses<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for Clauses<'db>
Source§fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Clauses<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Clauses<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for ParamEnv<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for ParamEnv<'db>
Source§fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<ParamEnv<'db>, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<ParamEnv<'db>, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Predicate<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for Predicate<'db>
Source§fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Predicate<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Predicate<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Clause<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for Clause<'db>
Source§fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Clause<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Clause<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Region<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for Region<'db>
Source§fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Region<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Region<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for RegionAssumptions<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for RegionAssumptions<'db>
Source§fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<RegionAssumptions<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<RegionAssumptions<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, folder: &mut F) -> RegionAssumptions<'db>where
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, folder: &mut F) -> RegionAssumptions<'db>where
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for StoredTy
impl<'db> TypeFoldable<DbInterner<'db>> for StoredTy
Source§fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<StoredTy, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<StoredTy, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Ty<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for Ty<'db>
Source§fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Ty<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Ty<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Tys<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for Tys<'db>
Source§fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Tys<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Tys<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for StoredTys
impl<'db> TypeFoldable<DbInterner<'db>> for StoredTys
Source§fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<StoredTys, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<StoredTys, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for ErrorGuaranteed
impl<'db> TypeFoldable<DbInterner<'db>> for ErrorGuaranteed
Source§fn try_fold_with<F>(
self,
_folder: &mut F,
) -> Result<ErrorGuaranteed, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<F>(
self,
_folder: &mut F,
) -> Result<ErrorGuaranteed, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<F>(self, _folder: &mut F) -> ErrorGuaranteedwhere
F: TypeFolder<DbInterner<'db>>,
fn fold_with<F>(self, _folder: &mut F) -> ErrorGuaranteedwhere
F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for PlaceTy<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for PlaceTy<'db>
Source§fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<PlaceTy<'db>, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<PlaceTy<'db>, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for SolverDiagnostic
impl<'db> TypeFoldable<DbInterner<'db>> for SolverDiagnostic
Source§fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<SolverDiagnostic, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<SolverDiagnostic, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<__F>(self, __folder: &mut __F) -> SolverDiagnosticwhere
__F: TypeFolder<DbInterner<'db>>,
fn fold_with<__F>(self, __folder: &mut __F) -> SolverDiagnosticwhere
__F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for SolverDiagnosticKind
impl<'db> TypeFoldable<DbInterner<'db>> for SolverDiagnosticKind
Source§fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<SolverDiagnosticKind, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<SolverDiagnosticKind, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<__F>(self, __folder: &mut __F) -> SolverDiagnosticKindwhere
__F: TypeFolder<DbInterner<'db>>,
fn fold_with<__F>(self, __folder: &mut __F) -> SolverDiagnosticKindwhere
__F: TypeFolder<DbInterner<'db>>,
Source§impl<'db> TypeFoldable<DbInterner<'db>> for StoredTraitPredicate
impl<'db> TypeFoldable<DbInterner<'db>> for StoredTraitPredicate
Source§fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<StoredTraitPredicate, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<StoredTraitPredicate, <__F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
__F: FallibleTypeFolder<DbInterner<'db>>,
Source§fn fold_with<__F>(self, __folder: &mut __F) -> StoredTraitPredicatewhere
__F: TypeFolder<DbInterner<'db>>,
fn fold_with<__F>(self, __folder: &mut __F) -> StoredTraitPredicatewhere
__F: TypeFolder<DbInterner<'db>>,
Source§impl<'a, 'db> TypeFolder<DbInterner<'db>> for OpportunisticVarResolver<'a, 'db>
impl<'a, 'db> TypeFolder<DbInterner<'db>> for OpportunisticVarResolver<'a, 'db>
fn cx(&self) -> DbInterner<'db>
fn fold_ty(&mut self, t: Ty<'db>) -> Ty<'db>
fn fold_const(&mut self, ct: Const<'db>) -> Const<'db>
fn fold_binder<T>(&mut self, t: Binder<I, T>) -> Binder<I, T>where
T: TypeFoldable<I>,
fn fold_region(&mut self, r: <I as Interner>::Region) -> <I as Interner>::Region
fn fold_predicate( &mut self, p: <I as Interner>::Predicate, ) -> <I as Interner>::Predicate
fn fold_clauses( &mut self, c: <I as Interner>::Clauses, ) -> <I as Interner>::Clauses
Source§impl<'db> TypeFolder<DbInterner<'db>> for ReplaceInferWithError<'db>
impl<'db> TypeFolder<DbInterner<'db>> for ReplaceInferWithError<'db>
fn cx(&self) -> DbInterner<'db>
fn fold_ty(&mut self, t: Ty<'db>) -> Ty<'db>
fn fold_const(&mut self, c: Const<'db>) -> Const<'db>
fn fold_region(&mut self, r: Region<'db>) -> Region<'db>
fn fold_binder<T>(&mut self, t: Binder<I, T>) -> Binder<I, T>where
T: TypeFoldable<I>,
fn fold_predicate( &mut self, p: <I as Interner>::Predicate, ) -> <I as Interner>::Predicate
fn fold_clauses( &mut self, c: <I as Interner>::Clauses, ) -> <I as Interner>::Clauses
Source§impl<'db, F, G, H> TypeFolder<DbInterner<'db>> for BottomUpFolder<'db, F, G, H>
impl<'db, F, G, H> TypeFolder<DbInterner<'db>> for BottomUpFolder<'db, F, G, H>
fn cx(&self) -> DbInterner<'db>
fn fold_ty(&mut self, ty: Ty<'db>) -> Ty<'db>
fn fold_region(&mut self, r: Region<'db>) -> Region<'db>
fn fold_const(&mut self, ct: Const<'db>) -> Const<'db>
fn fold_binder<T>(&mut self, t: Binder<I, T>) -> Binder<I, T>where
T: TypeFoldable<I>,
fn fold_predicate( &mut self, p: <I as Interner>::Predicate, ) -> <I as Interner>::Predicate
fn fold_clauses( &mut self, c: <I as Interner>::Clauses, ) -> <I as Interner>::Clauses
Source§impl<'db> TypeFolder<DbInterner<'db>> for PlaceholderReplacer<'_, 'db>
impl<'db> TypeFolder<DbInterner<'db>> for PlaceholderReplacer<'_, 'db>
fn cx(&self) -> DbInterner<'db>
fn fold_binder<T>(
&mut self,
t: Binder<DbInterner<'db>, T>,
) -> Binder<DbInterner<'db>, T>where
T: TypeFoldable<DbInterner<'db>>,
fn fold_region(&mut self, r0: Region<'db>) -> Region<'db>
fn fold_ty(&mut self, ty: Ty<'db>) -> Ty<'db>
fn fold_const(&mut self, ct: Const<'db>) -> Const<'db>
fn fold_predicate( &mut self, p: <I as Interner>::Predicate, ) -> <I as Interner>::Predicate
fn fold_clauses( &mut self, c: <I as Interner>::Clauses, ) -> <I as Interner>::Clauses
Source§impl<'db> TypeSuperFoldable<DbInterner<'db>> for Const<'db>
impl<'db> TypeSuperFoldable<DbInterner<'db>> for Const<'db>
Source§fn try_super_fold_with<F>(
self,
folder: &mut F,
) -> Result<Const<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_super_fold_with<F>(
self,
folder: &mut F,
) -> Result<Const<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
TypeFolder methods, when a non-custom traversal
is desired for the value of the type of interest passed to that method.
For example, in MyFolder::try_fold_ty(ty), it is valid to call
ty.try_super_fold_with(self), but any other folding should be done
with xyz.try_fold_with(self).Source§fn super_fold_with<F>(self, folder: &mut F) -> Const<'db>where
F: TypeFolder<DbInterner<'db>>,
fn super_fold_with<F>(self, folder: &mut F) -> Const<'db>where
F: TypeFolder<DbInterner<'db>>,
try_super_fold_with for use with
infallible folders. Do not override this method, to ensure coherence
with try_super_fold_with.Source§impl<'db> TypeSuperFoldable<DbInterner<'db>> for Clauses<'db>
impl<'db> TypeSuperFoldable<DbInterner<'db>> for Clauses<'db>
Source§fn try_super_fold_with<F>(
self,
folder: &mut F,
) -> Result<Clauses<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_super_fold_with<F>(
self,
folder: &mut F,
) -> Result<Clauses<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
TypeFolder methods, when a non-custom traversal
is desired for the value of the type of interest passed to that method.
For example, in MyFolder::try_fold_ty(ty), it is valid to call
ty.try_super_fold_with(self), but any other folding should be done
with xyz.try_fold_with(self).Source§fn super_fold_with<F>(self, folder: &mut F) -> Clauses<'db>where
F: TypeFolder<DbInterner<'db>>,
fn super_fold_with<F>(self, folder: &mut F) -> Clauses<'db>where
F: TypeFolder<DbInterner<'db>>,
try_super_fold_with for use with
infallible folders. Do not override this method, to ensure coherence
with try_super_fold_with.Source§impl<'db> TypeSuperFoldable<DbInterner<'db>> for Predicate<'db>
impl<'db> TypeSuperFoldable<DbInterner<'db>> for Predicate<'db>
Source§fn try_super_fold_with<F>(
self,
folder: &mut F,
) -> Result<Predicate<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_super_fold_with<F>(
self,
folder: &mut F,
) -> Result<Predicate<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
TypeFolder methods, when a non-custom traversal
is desired for the value of the type of interest passed to that method.
For example, in MyFolder::try_fold_ty(ty), it is valid to call
ty.try_super_fold_with(self), but any other folding should be done
with xyz.try_fold_with(self).Source§fn super_fold_with<F>(self, folder: &mut F) -> Predicate<'db>where
F: TypeFolder<DbInterner<'db>>,
fn super_fold_with<F>(self, folder: &mut F) -> Predicate<'db>where
F: TypeFolder<DbInterner<'db>>,
try_super_fold_with for use with
infallible folders. Do not override this method, to ensure coherence
with try_super_fold_with.Source§impl<'db> TypeSuperFoldable<DbInterner<'db>> for Ty<'db>
impl<'db> TypeSuperFoldable<DbInterner<'db>> for Ty<'db>
Source§fn try_super_fold_with<F>(
self,
folder: &mut F,
) -> Result<Ty<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
fn try_super_fold_with<F>(
self,
folder: &mut F,
) -> Result<Ty<'db>, <F as FallibleTypeFolder<DbInterner<'db>>>::Error>where
F: FallibleTypeFolder<DbInterner<'db>>,
TypeFolder methods, when a non-custom traversal
is desired for the value of the type of interest passed to that method.
For example, in MyFolder::try_fold_ty(ty), it is valid to call
ty.try_super_fold_with(self), but any other folding should be done
with xyz.try_fold_with(self).Source§fn super_fold_with<F>(self, folder: &mut F) -> Ty<'db>where
F: TypeFolder<DbInterner<'db>>,
fn super_fold_with<F>(self, folder: &mut F) -> Ty<'db>where
F: TypeFolder<DbInterner<'db>>,
try_super_fold_with for use with
infallible folders. Do not override this method, to ensure coherence
with try_super_fold_with.Source§impl<'db> TypeSuperVisitable<DbInterner<'db>> for Const<'db>
impl<'db> TypeSuperVisitable<DbInterner<'db>> for Const<'db>
Source§fn super_visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn super_visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
TypeVisitor methods, when a non-custom
traversal is desired for the value of the type of interest passed to
that method. For example, in MyVisitor::visit_ty(ty), it is valid to
call ty.super_visit_with(self), but any other visiting should be done
with xyz.visit_with(self).Source§impl<'db> TypeSuperVisitable<DbInterner<'db>> for Clauses<'db>
impl<'db> TypeSuperVisitable<DbInterner<'db>> for Clauses<'db>
Source§fn super_visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn super_visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
TypeVisitor methods, when a non-custom
traversal is desired for the value of the type of interest passed to
that method. For example, in MyVisitor::visit_ty(ty), it is valid to
call ty.super_visit_with(self), but any other visiting should be done
with xyz.visit_with(self).Source§impl<'db> TypeSuperVisitable<DbInterner<'db>> for Predicate<'db>
impl<'db> TypeSuperVisitable<DbInterner<'db>> for Predicate<'db>
Source§fn super_visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn super_visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
TypeVisitor methods, when a non-custom
traversal is desired for the value of the type of interest passed to
that method. For example, in MyVisitor::visit_ty(ty), it is valid to
call ty.super_visit_with(self), but any other visiting should be done
with xyz.visit_with(self).Source§impl<'db> TypeSuperVisitable<DbInterner<'db>> for Ty<'db>
impl<'db> TypeSuperVisitable<DbInterner<'db>> for Ty<'db>
Source§fn super_visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn super_visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
TypeVisitor methods, when a non-custom
traversal is desired for the value of the type of interest passed to
that method. For example, in MyVisitor::visit_ty(ty), it is valid to
call ty.super_visit_with(self), but any other visiting should be done
with xyz.visit_with(self).Source§impl<'db> TypeVisitable<DbInterner<'db>> for Projection
impl<'db> TypeVisitable<DbInterner<'db>> for Projection
Source§fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Place
impl<'db> TypeVisitable<DbInterner<'db>> for Place
Source§fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for InferenceDiagnostic
impl<'db> TypeVisitable<DbInterner<'db>> for InferenceDiagnostic
Source§fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for StoredFnSig
impl<'db> TypeVisitable<DbInterner<'db>> for StoredFnSig
Source§fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for StoredTraitRef
impl<'db> TypeVisitable<DbInterner<'db>> for StoredTraitRef
Source§fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for ValueConst<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for ValueConst<'db>
Source§fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for ValTree<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for ValTree<'db>
Source§fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for ExprConst
impl<'db> TypeVisitable<DbInterner<'db>> for ExprConst
Source§fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Const<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for Const<'db>
Source§fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Consts<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for Consts<'db>
Source§fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for StoredGenericArg
impl<'db> TypeVisitable<DbInterner<'db>> for StoredGenericArg
Source§fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for GenericArg<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for GenericArg<'db>
Source§fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Term<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for Term<'db>
Source§fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for GenericArgs<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for GenericArgs<'db>
Source§fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for StoredGenericArgs
impl<'db> TypeVisitable<DbInterner<'db>> for StoredGenericArgs
Source§fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db, R> TypeVisitable<DbInterner<'db>> for QueryResponse<'db, R>where
R: TypeVisitable<DbInterner<'db>>,
impl<'db, R> TypeVisitable<DbInterner<'db>> for QueryResponse<'db, R>where
R: TypeVisitable<DbInterner<'db>>,
Source§fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for QueryRegionConstraints<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for QueryRegionConstraints<'db>
Source§fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for OpaqueHiddenType<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for OpaqueHiddenType<'db>
Source§fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for ObligationCause
impl<'db> TypeVisitable<DbInterner<'db>> for ObligationCause
Source§fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db, T> TypeVisitable<DbInterner<'db>> for Obligation<'db, T>where
T: TypeVisitable<DbInterner<'db>>,
impl<'db, T> TypeVisitable<DbInterner<'db>> for Obligation<'db, T>where
T: TypeVisitable<DbInterner<'db>>,
Source§fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Pattern<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for Pattern<'db>
Source§fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for PatList<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for PatList<'db>
Source§fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for SolverDefId<'_>
impl<'db> TypeVisitable<DbInterner<'db>> for SolverDefId<'_>
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for TraitIdWrapper
impl<'db> TypeVisitable<DbInterner<'db>> for TraitIdWrapper
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for TypeAliasIdWrapper
impl<'db> TypeVisitable<DbInterner<'db>> for TypeAliasIdWrapper
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for CallableIdWrapper
impl<'db> TypeVisitable<DbInterner<'db>> for CallableIdWrapper
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for ClosureIdWrapper<'_>
impl<'db> TypeVisitable<DbInterner<'db>> for ClosureIdWrapper<'_>
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for CoroutineIdWrapper<'_>
impl<'db> TypeVisitable<DbInterner<'db>> for CoroutineIdWrapper<'_>
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for CoroutineClosureIdWrapper<'_>
impl<'db> TypeVisitable<DbInterner<'db>> for CoroutineClosureIdWrapper<'_>
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for AdtIdWrapper
impl<'db> TypeVisitable<DbInterner<'db>> for AdtIdWrapper
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for TraitAssocTyId
impl<'db> TypeVisitable<DbInterner<'db>> for TraitAssocTyId
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for TraitAssocConstId
impl<'db> TypeVisitable<DbInterner<'db>> for TraitAssocConstId
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for TraitAssocTermId
impl<'db> TypeVisitable<DbInterner<'db>> for TraitAssocTermId
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for ImplOrTraitAssocTyId
impl<'db> TypeVisitable<DbInterner<'db>> for ImplOrTraitAssocTyId
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for ImplOrTraitAssocConstId
impl<'db> TypeVisitable<DbInterner<'db>> for ImplOrTraitAssocConstId
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for ImplOrTraitAssocTermId
impl<'db> TypeVisitable<DbInterner<'db>> for ImplOrTraitAssocTermId
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for FreeTyAliasId
impl<'db> TypeVisitable<DbInterner<'db>> for FreeTyAliasId
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for FreeConstAliasId
impl<'db> TypeVisitable<DbInterner<'db>> for FreeConstAliasId
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for FreeTermAliasId
impl<'db> TypeVisitable<DbInterner<'db>> for FreeTermAliasId
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for InherentAssocTyId
impl<'db> TypeVisitable<DbInterner<'db>> for InherentAssocTyId
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for InherentAssocConstId
impl<'db> TypeVisitable<DbInterner<'db>> for InherentAssocConstId
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for InherentAssocTermId
impl<'db> TypeVisitable<DbInterner<'db>> for InherentAssocTermId
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for OpaqueTyIdWrapper<'_>
impl<'db> TypeVisitable<DbInterner<'db>> for OpaqueTyIdWrapper<'_>
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for AnyImplId
impl<'db> TypeVisitable<DbInterner<'db>> for AnyImplId
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for GeneralConstIdWrapper<'_>
impl<'db> TypeVisitable<DbInterner<'db>> for GeneralConstIdWrapper<'_>
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Safety
impl<'db> TypeVisitable<DbInterner<'db>> for Safety
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Span
impl<'db> TypeVisitable<DbInterner<'db>> for Span
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for ParamConst
impl<'db> TypeVisitable<DbInterner<'db>> for ParamConst
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for ParamTy
impl<'db> TypeVisitable<DbInterner<'db>> for ParamTy
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for EarlyParamRegion
impl<'db> TypeVisitable<DbInterner<'db>> for EarlyParamRegion
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for AdtDef
impl<'db> TypeVisitable<DbInterner<'db>> for AdtDef
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for ScalarInt
impl<'db> TypeVisitable<DbInterner<'db>> for ScalarInt
Source§fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
fn visit_with<F>(
&self,
_: &mut F,
) -> <F as TypeVisitor<DbInterner<'db>>>::Resultwhere
F: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for PredefinedOpaques<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for PredefinedOpaques<'db>
Source§fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for SolverDefIds<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for SolverDefIds<'db>
Source§fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for ExternalConstraints<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for ExternalConstraints<'db>
Source§fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for BoundExistentialPredicates<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for BoundExistentialPredicates<'db>
Source§fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Clauses<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for Clauses<'db>
Source§fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for ParamEnv<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for ParamEnv<'db>
Source§fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Predicate<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for Predicate<'db>
Source§fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Clause<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for Clause<'db>
Source§fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Region<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for Region<'db>
Source§fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for RegionAssumptions<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for RegionAssumptions<'db>
Source§fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for StoredTy
impl<'db> TypeVisitable<DbInterner<'db>> for StoredTy
Source§fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Ty<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for Ty<'db>
Source§fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Tys<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for Tys<'db>
Source§fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for StoredTys
impl<'db> TypeVisitable<DbInterner<'db>> for StoredTys
Source§fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for ErrorGuaranteed
impl<'db> TypeVisitable<DbInterner<'db>> for ErrorGuaranteed
Source§fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
fn visit_with<V>(
&self,
visitor: &mut V,
) -> <V as TypeVisitor<DbInterner<'db>>>::Resultwhere
V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for PlaceTy<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for PlaceTy<'db>
Source§fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for SolverDiagnostic
impl<'db> TypeVisitable<DbInterner<'db>> for SolverDiagnostic
Source§fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for SolverDiagnosticKind
impl<'db> TypeVisitable<DbInterner<'db>> for SolverDiagnosticKind
Source§fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitable<DbInterner<'db>> for StoredTraitPredicate
impl<'db> TypeVisitable<DbInterner<'db>> for StoredTraitPredicate
Source§fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<DbInterner<'db>>>::Resultwhere
__V: TypeVisitor<DbInterner<'db>>,
Source§impl<'db> TypeVisitor<DbInterner<'db>> for StalledOnCoroutines<'_, 'db>
impl<'db> TypeVisitor<DbInterner<'db>> for StalledOnCoroutines<'_, 'db>
type Result = ControlFlow<()>
fn visit_ty( &mut self, ty: Ty<'db>, ) -> <StalledOnCoroutines<'_, 'db> as TypeVisitor<DbInterner<'db>>>::Result
fn visit_binder<T>(&mut self, t: &Binder<I, T>) -> Self::Resultwhere
T: TypeVisitable<I>,
fn visit_region(&mut self, r: <I as Interner>::Region) -> Self::Result
fn visit_const(&mut self, c: <I as Interner>::Const) -> Self::Result
fn visit_predicate(&mut self, p: <I as Interner>::Predicate) -> Self::Result
fn visit_clauses(&mut self, c: <I as Interner>::Clauses) -> Self::Result
fn visit_error( &mut self, _guar: <I as Interner>::ErrorGuaranteed, ) -> Self::Result
Source§impl<'db> TypeVisitor<DbInterner<'db>> for MaxUniverse
impl<'db> TypeVisitor<DbInterner<'db>> for MaxUniverse
type Result = ()
fn visit_ty(&mut self, t: Ty<'db>)
fn visit_const(&mut self, c: Const<'db>)
fn visit_region(&mut self, r: Region<'db>)
fn visit_binder<T>(&mut self, t: &Binder<I, T>) -> Self::Resultwhere
T: TypeVisitable<I>,
fn visit_predicate(&mut self, p: <I as Interner>::Predicate) -> Self::Result
fn visit_clauses(&mut self, c: <I as Interner>::Clauses) -> Self::Result
fn visit_error( &mut self, _guar: <I as Interner>::ErrorGuaranteed, ) -> Self::Result
Source§impl<'db> TypeVisitor<DbInterner<'db>> for ContainsTypeErrors
impl<'db> TypeVisitor<DbInterner<'db>> for ContainsTypeErrors
type Result = ControlFlow<()>
fn visit_ty( &mut self, t: Ty<'db>, ) -> <ContainsTypeErrors as TypeVisitor<DbInterner<'db>>>::Result
fn visit_binder<T>(&mut self, t: &Binder<I, T>) -> Self::Resultwhere
T: TypeVisitable<I>,
fn visit_region(&mut self, r: <I as Interner>::Region) -> Self::Result
fn visit_const(&mut self, c: <I as Interner>::Const) -> Self::Result
fn visit_predicate(&mut self, p: <I as Interner>::Predicate) -> Self::Result
fn visit_clauses(&mut self, c: <I as Interner>::Clauses) -> Self::Result
fn visit_error( &mut self, _guar: <I as Interner>::ErrorGuaranteed, ) -> Self::Result
Source§impl<'db> Tys<DbInterner<'db>> for Tys<'db>
impl<'db> Tys<DbInterner<'db>> for Tys<'db>
fn inputs(self) -> <DbInterner<'db> as Interner>::FnInputTys
fn output(self) -> <DbInterner<'db> as Interner>::Ty
Source§impl<'db> UpcastFrom<DbInterner<'db>, Binder<DbInterner<'db>, ClauseKind<DbInterner<'db>>>> for Predicate<'db>
impl<'db> UpcastFrom<DbInterner<'db>, Binder<DbInterner<'db>, ClauseKind<DbInterner<'db>>>> for Predicate<'db>
fn upcast_from( from: Binder<DbInterner<'db>, ClauseKind<DbInterner<'db>>>, interner: DbInterner<'db>, ) -> Predicate<'db>
Source§impl<'db> UpcastFrom<DbInterner<'db>, Binder<DbInterner<'db>, ClauseKind<DbInterner<'db>>>> for Clause<'db>
impl<'db> UpcastFrom<DbInterner<'db>, Binder<DbInterner<'db>, ClauseKind<DbInterner<'db>>>> for Clause<'db>
fn upcast_from( from: Binder<DbInterner<'db>, ClauseKind<DbInterner<'db>>>, interner: DbInterner<'db>, ) -> Clause<'db>
Source§impl<'db> UpcastFrom<DbInterner<'db>, Binder<DbInterner<'db>, OutlivesPredicate<DbInterner<'db>, Region<'db>>>> for Predicate<'db>
impl<'db> UpcastFrom<DbInterner<'db>, Binder<DbInterner<'db>, OutlivesPredicate<DbInterner<'db>, Region<'db>>>> for Predicate<'db>
fn upcast_from( from: Binder<DbInterner<'db>, OutlivesPredicate<DbInterner<'db>, Region<'db>>>, tcx: DbInterner<'db>, ) -> Predicate<'db>
Source§impl<'db> UpcastFrom<DbInterner<'db>, Binder<DbInterner<'db>, PredicateKind<DbInterner<'db>>>> for Predicate<'db>
impl<'db> UpcastFrom<DbInterner<'db>, Binder<DbInterner<'db>, PredicateKind<DbInterner<'db>>>> for Predicate<'db>
fn upcast_from( from: Binder<DbInterner<'db>, PredicateKind<DbInterner<'db>>>, interner: DbInterner<'db>, ) -> Predicate<'db>
Source§impl<'db> UpcastFrom<DbInterner<'db>, Binder<DbInterner<'db>, ProjectionPredicate<DbInterner<'db>>>> for Predicate<'db>
impl<'db> UpcastFrom<DbInterner<'db>, Binder<DbInterner<'db>, ProjectionPredicate<DbInterner<'db>>>> for Predicate<'db>
fn upcast_from( from: Binder<DbInterner<'db>, ProjectionPredicate<DbInterner<'db>>>, interner: DbInterner<'db>, ) -> Predicate<'db>
Source§impl<'db> UpcastFrom<DbInterner<'db>, Binder<DbInterner<'db>, ProjectionPredicate<DbInterner<'db>>>> for Clause<'db>
impl<'db> UpcastFrom<DbInterner<'db>, Binder<DbInterner<'db>, ProjectionPredicate<DbInterner<'db>>>> for Clause<'db>
fn upcast_from( from: Binder<DbInterner<'db>, ProjectionPredicate<DbInterner<'db>>>, interner: DbInterner<'db>, ) -> Clause<'db>
Source§impl<'db> UpcastFrom<DbInterner<'db>, Binder<DbInterner<'db>, TraitPredicate<DbInterner<'db>>>> for Predicate<'db>
impl<'db> UpcastFrom<DbInterner<'db>, Binder<DbInterner<'db>, TraitPredicate<DbInterner<'db>>>> for Predicate<'db>
fn upcast_from( from: Binder<DbInterner<'db>, TraitPredicate<DbInterner<'db>>>, interner: DbInterner<'db>, ) -> Predicate<'db>
Source§impl<'db> UpcastFrom<DbInterner<'db>, Binder<DbInterner<'db>, TraitPredicate<DbInterner<'db>>>> for Clause<'db>
impl<'db> UpcastFrom<DbInterner<'db>, Binder<DbInterner<'db>, TraitPredicate<DbInterner<'db>>>> for Clause<'db>
fn upcast_from( from: Binder<DbInterner<'db>, TraitPredicate<DbInterner<'db>>>, interner: DbInterner<'db>, ) -> Clause<'db>
Source§impl<'db> UpcastFrom<DbInterner<'db>, Binder<DbInterner<'db>, TraitRef<DbInterner<'db>>>> for Predicate<'db>
impl<'db> UpcastFrom<DbInterner<'db>, Binder<DbInterner<'db>, TraitRef<DbInterner<'db>>>> for Predicate<'db>
fn upcast_from( from: Binder<DbInterner<'db>, TraitRef<DbInterner<'db>>>, interner: DbInterner<'db>, ) -> Predicate<'db>
Source§impl<'db> UpcastFrom<DbInterner<'db>, Binder<DbInterner<'db>, TraitRef<DbInterner<'db>>>> for Clause<'db>
impl<'db> UpcastFrom<DbInterner<'db>, Binder<DbInterner<'db>, TraitRef<DbInterner<'db>>>> for Clause<'db>
fn upcast_from( from: Binder<DbInterner<'db>, TraitRef<DbInterner<'db>>>, interner: DbInterner<'db>, ) -> Clause<'db>
Source§impl<'db> UpcastFrom<DbInterner<'db>, Clause<'db>> for Predicate<'db>
impl<'db> UpcastFrom<DbInterner<'db>, Clause<'db>> for Predicate<'db>
fn upcast_from(from: Clause<'db>, _interner: DbInterner<'db>) -> Predicate<'db>
Source§impl<'db> UpcastFrom<DbInterner<'db>, ClauseKind<DbInterner<'db>>> for Predicate<'db>
impl<'db> UpcastFrom<DbInterner<'db>, ClauseKind<DbInterner<'db>>> for Predicate<'db>
fn upcast_from( from: ClauseKind<DbInterner<'db>>, interner: DbInterner<'db>, ) -> Predicate<'db>
Source§impl<'db> UpcastFrom<DbInterner<'db>, NormalizesTo<DbInterner<'db>>> for Predicate<'db>
impl<'db> UpcastFrom<DbInterner<'db>, NormalizesTo<DbInterner<'db>>> for Predicate<'db>
fn upcast_from( from: NormalizesTo<DbInterner<'db>>, interner: DbInterner<'db>, ) -> Predicate<'db>
Source§impl<'db> UpcastFrom<DbInterner<'db>, OutlivesPredicate<DbInterner<'db>, Region<'db>>> for Predicate<'db>
impl<'db> UpcastFrom<DbInterner<'db>, OutlivesPredicate<DbInterner<'db>, Region<'db>>> for Predicate<'db>
fn upcast_from( from: OutlivesPredicate<DbInterner<'db>, Region<'db>>, interner: DbInterner<'db>, ) -> Predicate<'db>
Source§impl<'db> UpcastFrom<DbInterner<'db>, OutlivesPredicate<DbInterner<'db>, Region<'db>>> for Clause<'db>
impl<'db> UpcastFrom<DbInterner<'db>, OutlivesPredicate<DbInterner<'db>, Region<'db>>> for Clause<'db>
fn upcast_from( from: OutlivesPredicate<DbInterner<'db>, Region<'db>>, interner: DbInterner<'db>, ) -> Clause<'db>
Source§impl<'db> UpcastFrom<DbInterner<'db>, OutlivesPredicate<DbInterner<'db>, Ty<'db>>> for Predicate<'db>
impl<'db> UpcastFrom<DbInterner<'db>, OutlivesPredicate<DbInterner<'db>, Ty<'db>>> for Predicate<'db>
fn upcast_from( from: OutlivesPredicate<DbInterner<'db>, Ty<'db>>, interner: DbInterner<'db>, ) -> Predicate<'db>
Source§impl<'db> UpcastFrom<DbInterner<'db>, OutlivesPredicate<DbInterner<'db>, Ty<'db>>> for Clause<'db>
impl<'db> UpcastFrom<DbInterner<'db>, OutlivesPredicate<DbInterner<'db>, Ty<'db>>> for Clause<'db>
fn upcast_from( from: OutlivesPredicate<DbInterner<'db>, Ty<'db>>, interner: DbInterner<'db>, ) -> Clause<'db>
Source§impl<'db> UpcastFrom<DbInterner<'db>, PredicateKind<DbInterner<'db>>> for Predicate<'db>
impl<'db> UpcastFrom<DbInterner<'db>, PredicateKind<DbInterner<'db>>> for Predicate<'db>
fn upcast_from( from: PredicateKind<DbInterner<'db>>, interner: DbInterner<'db>, ) -> Predicate<'db>
Source§impl<'db> UpcastFrom<DbInterner<'db>, ProjectionPredicate<DbInterner<'db>>> for Predicate<'db>
impl<'db> UpcastFrom<DbInterner<'db>, ProjectionPredicate<DbInterner<'db>>> for Predicate<'db>
fn upcast_from( from: ProjectionPredicate<DbInterner<'db>>, interner: DbInterner<'db>, ) -> Predicate<'db>
Source§impl<'db> UpcastFrom<DbInterner<'db>, ProjectionPredicate<DbInterner<'db>>> for Clause<'db>
impl<'db> UpcastFrom<DbInterner<'db>, ProjectionPredicate<DbInterner<'db>>> for Clause<'db>
fn upcast_from( from: ProjectionPredicate<DbInterner<'db>>, interner: DbInterner<'db>, ) -> Clause<'db>
Source§impl<'db> UpcastFrom<DbInterner<'db>, TraitPredicate<DbInterner<'db>>> for Predicate<'db>
impl<'db> UpcastFrom<DbInterner<'db>, TraitPredicate<DbInterner<'db>>> for Predicate<'db>
fn upcast_from( from: TraitPredicate<DbInterner<'db>>, interner: DbInterner<'db>, ) -> Predicate<'db>
Source§impl<'db> UpcastFrom<DbInterner<'db>, TraitPredicate<DbInterner<'db>>> for Clause<'db>
impl<'db> UpcastFrom<DbInterner<'db>, TraitPredicate<DbInterner<'db>>> for Clause<'db>
fn upcast_from( from: TraitPredicate<DbInterner<'db>>, interner: DbInterner<'db>, ) -> Clause<'db>
Source§impl<'db> UpcastFrom<DbInterner<'db>, TraitRef<DbInterner<'db>>> for Predicate<'db>
impl<'db> UpcastFrom<DbInterner<'db>, TraitRef<DbInterner<'db>>> for Predicate<'db>
fn upcast_from( from: TraitRef<DbInterner<'db>>, interner: DbInterner<'db>, ) -> Predicate<'db>
Source§impl<'db> UpcastFrom<DbInterner<'db>, TraitRef<DbInterner<'db>>> for Clause<'db>
impl<'db> UpcastFrom<DbInterner<'db>, TraitRef<DbInterner<'db>>> for Clause<'db>
fn upcast_from( from: TraitRef<DbInterner<'db>>, interner: DbInterner<'db>, ) -> Clause<'db>
Auto Trait Implementations§
impl<'db> !RefUnwindSafe for DbInterner<'db>
impl<'db> !UnwindSafe for DbInterner<'db>
impl<'db> Freeze for DbInterner<'db>
impl<'db> Unpin for DbInterner<'db>
impl<'db> UnsafeUnpin for DbInterner<'db>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§impl<I> Cx for Iwhere
I: Interner,
impl<I> Cx for Iwhere
I: Interner,
type Input = CanonicalQueryInput<I, QueryInput<I, <I as Interner>::Predicate>>
type Result = (Result<Canonical<I, Response<I>>, NoSolution>, AccessedOpaques<I>)
type AmbiguityInfo = Certainty
type DepNodeIndex = <I as Interner>::DepNodeIndex
type Tracked<T: Debug + Clone> = <I as Interner>::Tracked<T>
fn mk_tracked<T>( self, data: T, dep_node_index: <I as Interner>::DepNodeIndex, ) -> <I as Interner>::Tracked<T>
fn get_tracked<T>(self, tracked: &<I as Interner>::Tracked<T>) -> T
fn with_cached_task<T>( self, task: impl FnOnce() -> T, ) -> (T, <I as Interner>::DepNodeIndex)
fn with_global_cache<R>(self, f: impl FnOnce(&mut GlobalCache<I>) -> R) -> R
fn assert_evaluation_is_concurrent(&self)
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more