pub struct DbInterner<'db> { /* private fields */ }Implementations§
Source§impl<'db> DbInterner<'db>
impl<'db> DbInterner<'db>
Sourcepub fn instantiate_bound_regions<T, F>(
self,
value: Binder<'db, T>,
fld_r: F,
) -> (T, FxIndexMap<BoundRegion, Region<'db>>)
pub fn instantiate_bound_regions<T, F>( self, value: Binder<'db, T>, fld_r: F, ) -> (T, FxIndexMap<BoundRegion, Region<'db>>)
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<'db, T>, replace_regions: F, ) -> T
Sourcepub fn instantiate_bound_regions_with_erased<T>(
self,
value: Binder<'db, T>,
) -> Twhere
T: TypeFoldable<DbInterner<'db>>,
pub fn instantiate_bound_regions_with_erased<T>(
self,
value: Binder<'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.
Source§impl<'db> DbInterner<'db>
impl<'db> DbInterner<'db>
pub fn conjure() -> DbInterner<'db>
Sourcepub fn new_no_crate(db: &'db dyn HirDatabase) -> Self
pub fn new_no_crate(db: &'db dyn HirDatabase) -> Self
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, krate: Crate) -> DbInterner<'db>
pub fn db(&self) -> &'db dyn HirDatabase
pub fn lang_items(&self) -> &'db LangItems
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<Self>,
pub fn replace_escaping_bound_vars_uncached<T: TypeFoldable<DbInterner<'db>>>( self, value: T, delegate: impl BoundVarReplacerDelegate<'db>, ) -> T
pub fn replace_bound_vars_uncached<T: TypeFoldable<DbInterner<'db>>>( self, value: Binder<'db, T>, delegate: impl BoundVarReplacerDelegate<'db>, ) -> T
pub fn mk_fn_sig<I>(
self,
inputs: I,
output: Ty<'db>,
c_variadic: bool,
safety: Safety,
abi: FnAbi,
) -> FnSig<'db>where
I: IntoIterator<Item = Ty<'db>>,
Trait Implementations§
Source§impl<'db> Abi<DbInterner<'db>> for FnAbi
impl<'db> Abi<DbInterner<'db>> for FnAbi
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_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 is_manually_drop(self) -> bool
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> BoundVarLike<DbInterner<'db>> for BoundConst
impl<'db> BoundVarLike<DbInterner<'db>> for BoundConst
Source§impl<'db> BoundVarLike<DbInterner<'db>> for BoundRegion
impl<'db> BoundVarLike<DbInterner<'db>> for BoundRegion
Source§impl<'db> BoundVarLike<DbInterner<'db>> for BoundTy
impl<'db> BoundVarLike<DbInterner<'db>> for BoundTy
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>>>,
) -> Self
fn instantiate_supertrait( self, cx: DbInterner<'db>, trait_ref: Binder<DbInterner<'db>, TraitRef<DbInterner<'db>>>, ) -> Self
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>>>
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 · 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) -> Self
fn new_var(interner: DbInterner<'db>, var: ConstVid) -> Self
fn new_bound( interner: DbInterner<'db>, debruijn: DebruijnIndex, var: BoundConst, ) -> Self
fn new_anon_bound( interner: DbInterner<'db>, debruijn: DebruijnIndex, var: BoundVar, ) -> Self
fn new_canonical_bound(interner: DbInterner<'db>, var: BoundVar) -> Self
fn new_placeholder( interner: DbInterner<'db>, param: <DbInterner<'db> as Interner>::PlaceholderConst, ) -> Self
fn new_unevaluated( interner: DbInterner<'db>, uv: UnevaluatedConst<DbInterner<'db>>, ) -> Self
fn new_expr(interner: DbInterner<'db>, expr: ExprConst) -> Self
fn new_error(interner: DbInterner<'db>, guar: ErrorGuaranteed) -> Self
fn new_error_with_message(interner: I, msg: impl ToString) -> Self
fn is_ct_var(self) -> bool
fn is_ct_error(self) -> bool
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>> for AdtIdWrapper
impl<'db> DefId<DbInterner<'db>> for AdtIdWrapper
Source§impl<'db> DefId<DbInterner<'db>> for CallableIdWrapper
impl<'db> DefId<DbInterner<'db>> for CallableIdWrapper
Source§impl<'db> DefId<DbInterner<'db>> for ClosureIdWrapper
impl<'db> DefId<DbInterner<'db>> for ClosureIdWrapper
Source§impl<'db> DefId<DbInterner<'db>> for CoroutineIdWrapper
impl<'db> DefId<DbInterner<'db>> for CoroutineIdWrapper
Source§impl<'db> DefId<DbInterner<'db>> for GeneralConstIdWrapper
impl<'db> DefId<DbInterner<'db>> for GeneralConstIdWrapper
Source§impl<'db> DefId<DbInterner<'db>> for ImplIdWrapper
impl<'db> DefId<DbInterner<'db>> for ImplIdWrapper
Source§impl<'db> DefId<DbInterner<'db>> for SolverDefId
impl<'db> DefId<DbInterner<'db>> for SolverDefId
Source§impl<'db> DefId<DbInterner<'db>> for TraitIdWrapper
impl<'db> DefId<DbInterner<'db>> for TraitIdWrapper
Source§impl<'db> DefId<DbInterner<'db>> for TypeAliasIdWrapper
impl<'db> DefId<DbInterner<'db>> for TypeAliasIdWrapper
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) -> Self
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, ) -> Self
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) -> Self
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, ) -> Self
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 associated_const_equality(self) -> bool
fn feature_bound_holds_in_crate(self, _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
type LocalDefId = SolverDefId
type LocalDefIds = SolverDefIds<'db>
type TraitId = TraitIdWrapper
type ForeignId = TypeAliasIdWrapper
type FunctionId = CallableIdWrapper
type ClosureId = ClosureIdWrapper
type CoroutineClosureId = CoroutineIdWrapper
type CoroutineId = CoroutineIdWrapper
type AdtId = AdtIdWrapper
type ImplId = ImplIdWrapper
type UnevaluatedConstId = GeneralConstIdWrapper
type Span = Span
type GenericArgs = GenericArgs<'db>
type GenericArgsSlice = GenericArgs<'db>
type GenericArg = GenericArg<'db>
type Term = Term<'db>
type BoundVarKinds = BoundVarKinds<'db>
type BoundVarKind = BoundVarKind
type PredefinedOpaques = PredefinedOpaques<'db>
type CanonicalVarKinds = CanonicalVars<'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 = Tys<'db>
type ParamTy = ParamTy
type BoundTy = BoundTy
type PlaceholderTy = Placeholder<BoundTy>
type Symbol = ()
type ErrorGuaranteed = ErrorGuaranteed
type BoundExistentialPredicates = BoundExistentialPredicates<'db>
type AllocId = AllocId
type Pat = Pattern<'db>
type PatList = PatList<'db>
type Safety = Safety
type Abi = FnAbi
type Const = Const<'db>
type PlaceholderConst = Placeholder<BoundConst>
type ParamConst = ParamConst
type BoundConst = BoundConst
type ValueConst = ValueConst<'db>
type ValTree = Valtree<'db>
type ExprConst = ExprConst
type Region = Region<'db>
type EarlyParamRegion = EarlyParamRegion
type LateParamRegion = LateParamRegion
type BoundRegion = BoundRegion
type PlaceholderRegion = Placeholder<BoundRegion>
type RegionAssumptions = RegionAssumptions<'db>
type ParamEnv = ParamEnv<'db>
type Predicate = Predicate<'db>
type Clause = Clause<'db>
type Clauses = Clauses<'db>
type GenericsOf = Generics
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<'db>, Self::Ty)], ) -> Self::PredefinedOpaques
fn mk_canonical_var_kinds( self, kinds: &[CanonicalVarKind<Self>], ) -> Self::CanonicalVarKinds
fn mk_external_constraints( self, data: ExternalConstraintsData<Self>, ) -> Self::ExternalConstraints
fn mk_args(self, args: &[Self::GenericArg]) -> Self::GenericArgs
fn mk_args_from_iter<I, T>(self, args: I) -> T::Outputwhere
I: Iterator<Item = T>,
T: CollectAndApply<Self::GenericArg, Self::GenericArgs>,
fn mk_tracked<T: Debug + Clone>( self, data: T, _dep_node: Self::DepNodeIndex, ) -> Self::Tracked<T>
fn get_tracked<T: Debug + Clone>(self, tracked: &Self::Tracked<T>) -> T
fn with_cached_task<T>( self, task: impl FnOnce() -> T, ) -> (T, Self::DepNodeIndex)
fn with_global_cache<R>(self, f: impl FnOnce(&mut GlobalCache<Self>) -> R) -> R
fn canonical_param_env_cache_get_or_insert<R>( self, _param_env: Self::ParamEnv, f: impl FnOnce() -> CanonicalParamEnvCacheEntry<Self>, from_entry: impl FnOnce(&CanonicalParamEnvCacheEntry<Self>) -> R, ) -> R
Source§fn assert_evaluation_is_concurrent(&self)
fn assert_evaluation_is_concurrent(&self)
fn expand_abstract_consts<T: TypeFoldable<Self>>(self, _: T) -> T
fn generics_of(self, def_id: Self::DefId) -> Self::GenericsOf
fn variances_of(self, def_id: Self::DefId) -> Self::VariancesOf
fn type_of(self, def_id: Self::DefId) -> EarlyBinder<Self, Self::Ty>
fn adt_def(self, def_id: Self::AdtId) -> Self::AdtDef
fn alias_ty_kind(self, alias: AliasTy<Self>) -> AliasTyKind
fn alias_term_kind(self, alias: AliasTerm<Self>) -> AliasTermKind
fn trait_ref_and_own_args_for_alias( self, def_id: Self::DefId, args: Self::GenericArgs, ) -> (TraitRef<Self>, Self::GenericArgsSlice)
fn check_args_compatible( self, _def_id: Self::DefId, _args: Self::GenericArgs, ) -> bool
fn debug_assert_args_compatible( self, _def_id: Self::DefId, _args: Self::GenericArgs, )
Source§fn debug_assert_existential_args_compatible(
self,
_def_id: Self::DefId,
_args: Self::GenericArgs,
)
fn debug_assert_existential_args_compatible( self, _def_id: Self::DefId, _args: Self::GenericArgs, )
ExistentialTraitRef or ExistentialProjection
are compatible with the DefId.fn mk_type_list_from_iter<I, T>(self, args: I) -> T::Outputwhere
I: Iterator<Item = T>,
T: CollectAndApply<Self::Ty, Self::Tys>,
fn parent(self, def_id: Self::DefId) -> Self::DefId
fn recursion_limit(self) -> usize
fn features(self) -> Self::Features
fn fn_sig( self, def_id: Self::FunctionId, ) -> EarlyBinder<Self, Binder<Self, FnSig<Self>>>
fn coroutine_movability(self, def_id: Self::CoroutineId) -> Movability
fn coroutine_for_closure( self, def_id: Self::CoroutineClosureId, ) -> Self::CoroutineId
fn generics_require_sized_self(self, def_id: Self::DefId) -> bool
fn item_bounds( self, def_id: Self::DefId, ) -> EarlyBinder<Self, impl IntoIterator<Item = Self::Clause>>
fn item_self_bounds( self, def_id: Self::DefId, ) -> EarlyBinder<Self, impl IntoIterator<Item = Self::Clause>>
fn item_non_self_bounds( self, def_id: Self::DefId, ) -> EarlyBinder<Self, impl IntoIterator<Item = Self::Clause>>
fn predicates_of( self, def_id: Self::DefId, ) -> EarlyBinder<Self, impl IntoIterator<Item = Self::Clause>>
fn own_predicates_of( self, def_id: Self::DefId, ) -> EarlyBinder<Self, impl IntoIterator<Item = Self::Clause>>
fn explicit_super_predicates_of( self, def_id: Self::TraitId, ) -> EarlyBinder<Self, impl IntoIterator<Item = (Self::Clause, Self::Span)>>
fn explicit_implied_predicates_of( self, def_id: Self::DefId, ) -> EarlyBinder<Self, impl IntoIterator<Item = (Self::Clause, Self::Span)>>
Source§fn impl_super_outlives(
self,
impl_id: Self::ImplId,
) -> EarlyBinder<Self, impl IntoIterator<Item = Self::Clause>>
fn impl_super_outlives( self, impl_id: Self::ImplId, ) -> EarlyBinder<Self, impl IntoIterator<Item = Self::Clause>>
fn const_conditions( self, _def_id: Self::DefId, ) -> EarlyBinder<Self, impl IntoIterator<Item = Binder<Self, TraitRef<Self>>>>
fn has_target_features(self, _def_id: Self::FunctionId) -> bool
fn require_lang_item(self, lang_item: SolverLangItem) -> Self::DefId
fn require_trait_lang_item( self, lang_item: SolverTraitLangItem, ) -> TraitIdWrapper
fn require_adt_lang_item(self, lang_item: SolverAdtLangItem) -> AdtIdWrapper
fn is_lang_item(self, def_id: Self::DefId, lang_item: SolverLangItem) -> bool
fn is_trait_lang_item( self, def_id: Self::TraitId, lang_item: SolverTraitLangItem, ) -> bool
fn is_adt_lang_item( self, def_id: Self::AdtId, lang_item: SolverAdtLangItem, ) -> bool
fn as_lang_item(self, def_id: Self::DefId) -> Option<SolverLangItem>
fn as_trait_lang_item( self, def_id: Self::TraitId, ) -> Option<SolverTraitLangItem>
fn as_adt_lang_item(self, def_id: Self::AdtId) -> Option<SolverAdtLangItem>
fn associated_type_def_ids( self, def_id: Self::TraitId, ) -> impl IntoIterator<Item = Self::DefId>
fn for_each_relevant_impl( self, trait_def_id: Self::TraitId, self_ty: Self::Ty, f: impl FnMut(Self::ImplId), )
fn for_each_blanket_impl( self, trait_def_id: Self::TraitId, f: impl FnMut(Self::ImplId), )
fn has_item_definition(self, _def_id: Self::DefId) -> bool
fn impl_is_default(self, impl_def_id: Self::ImplId) -> bool
fn impl_trait_ref( self, impl_id: Self::ImplId, ) -> EarlyBinder<Self, TraitRef<Self>>
fn impl_polarity(self, impl_id: Self::ImplId) -> ImplPolarity
fn trait_is_auto(self, trait_: Self::TraitId) -> bool
fn trait_is_alias(self, trait_: Self::TraitId) -> bool
fn trait_is_dyn_compatible(self, trait_: Self::TraitId) -> bool
fn trait_is_fundamental(self, trait_: Self::TraitId) -> bool
fn trait_may_be_implemented_via_object( self, _trait_def_id: Self::TraitId, ) -> bool
fn is_impl_trait_in_trait(self, _def_id: Self::DefId) -> bool
fn delay_bug(self, msg: impl ToString) -> Self::ErrorGuaranteed
fn is_general_coroutine(self, def_id: Self::CoroutineId) -> bool
fn coroutine_is_async(self, def_id: Self::CoroutineId) -> bool
fn coroutine_is_gen(self, _coroutine_def_id: Self::CoroutineId) -> bool
fn coroutine_is_async_gen(self, _coroutine_def_id: Self::CoroutineId) -> bool
fn unsizing_params_for_adt(self, id: Self::AdtId) -> Self::UnsizingParams
fn anonymize_bound_vars<T: TypeFoldable<Self>>( self, value: Binder<Self, T>, ) -> Binder<Self, T>
fn opaque_types_defined_by(self, def_id: Self::LocalDefId) -> Self::LocalDefIds
fn opaque_types_and_coroutines_defined_by( self, def_id: Self::LocalDefId, ) -> Self::LocalDefIds
fn alias_has_const_conditions(self, _def_id: Self::DefId) -> bool
fn explicit_implied_const_bounds( self, _def_id: Self::DefId, ) -> EarlyBinder<Self, impl IntoIterator<Item = Binder<Self, TraitRef<Self>>>>
fn fn_is_const(self, id: Self::FunctionId) -> bool
fn impl_is_const(self, _def_id: Self::ImplId) -> bool
fn opt_alias_variances( self, _kind: impl Into<AliasTermKind>, _def_id: Self::DefId, ) -> Option<Self::VariancesOf>
fn type_of_opaque_hir_typeck( self, def_id: Self::LocalDefId, ) -> EarlyBinder<Self, Self::Ty>
fn is_default_trait(self, def_id: Self::TraitId) -> bool
fn trait_is_coinductive(self, trait_: Self::TraitId) -> bool
Source§fn trait_is_unsafe(self, trait_: Self::TraitId) -> bool
fn trait_is_unsafe(self, trait_: Self::TraitId) -> bool
true if this is an unsafe trait.fn impl_self_is_guaranteed_unsized(self, _def_id: Self::ImplId) -> bool
fn impl_specializes( self, specializing_impl_def_id: Self::ImplId, parent_impl_def_id: Self::ImplId, ) -> bool
fn next_trait_solver_globally(self) -> bool
fn mk_probe(self, probe: Probe<Self>) -> Self::Probe
fn evaluate_root_goal_for_proof_tree_raw( self, canonical_goal: CanonicalInput<Self>, ) -> (QueryResult<Self>, Self::Probe)
fn is_sizedness_trait(self, def_id: Self::TraitId) -> bool
fn const_of_item(self, def_id: Self::DefId) -> EarlyBinder<Self, Self::Const>
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>
fn print(t: &PatternKind<DbInterner<'db>>, fmt: &mut Formatter<'_>) -> Result
fn print_debug( t: &PatternKind<DbInterner<'db>>, fmt: &mut Formatter<'_>, ) -> Result
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> PlaceholderLike<DbInterner<'db>> for PlaceholderConst
impl<'db> PlaceholderLike<DbInterner<'db>> for PlaceholderConst
Source§impl<'db> PlaceholderLike<DbInterner<'db>> for PlaceholderRegion
impl<'db> PlaceholderLike<DbInterner<'db>> for PlaceholderRegion
Source§impl<'db> PlaceholderLike<DbInterner<'db>> for PlaceholderTy
impl<'db> PlaceholderLike<DbInterner<'db>> for PlaceholderTy
Source§impl<'db> Predicate<DbInterner<'db>> for Predicate<'db>
impl<'db> Predicate<DbInterner<'db>> for Predicate<'db>
Source§fn allow_normalization(self) -> bool
fn allow_normalization(self) -> bool
Whether this projection can be soundly normalized.
Wf predicates must not be normalized, as normalization can remove required bounds which would cause us to unsoundly accept some programs. See #91068.
fn as_clause(self) -> Option<<DbInterner<'db> as Interner>::Clause>
fn as_normalizes_to(self) -> Option<Binder<I, NormalizesTo<I>>>
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, ) -> Self
fn new_anon_bound( interner: DbInterner<'db>, debruijn: DebruijnIndex, var: BoundVar, ) -> Self
fn new_canonical_bound(interner: DbInterner<'db>, var: BoundVar) -> Self
fn new_static(interner: DbInterner<'db>) -> Self
fn new_placeholder( interner: DbInterner<'db>, var: <DbInterner<'db> as Interner>::PlaceholderRegion, ) -> Self
fn is_bound(self) -> bool
Source§impl<'db> Relate<DbInterner<'db>> for BoundExistentialPredicates<'db>
impl<'db> Relate<DbInterner<'db>> for BoundExistentialPredicates<'db>
fn relate<R: TypeRelation<DbInterner<'db>>>( relation: &mut R, a: Self, b: Self, ) -> RelateResult<DbInterner<'db>, Self>
Source§impl<'db> Relate<DbInterner<'db>> for Const<'db>
impl<'db> Relate<DbInterner<'db>> for Const<'db>
fn relate<R: TypeRelation<DbInterner<'db>>>( relation: &mut R, a: Self, b: Self, ) -> RelateResult<DbInterner<'db>, Self>
Source§impl<'db> Relate<DbInterner<'db>> for ExprConst
impl<'db> Relate<DbInterner<'db>> for ExprConst
fn relate<R: TypeRelation<DbInterner<'db>>>( _relation: &mut R, a: Self, b: Self, ) -> RelateResult<DbInterner<'db>, Self>
Source§impl<'db> Relate<DbInterner<'db>> for FnAbi
impl<'db> Relate<DbInterner<'db>> for FnAbi
fn relate<R: TypeRelation<DbInterner<'db>>>( _relation: &mut R, a: Self, b: Self, ) -> RelateResult<DbInterner<'db>, Self>
Source§impl<'db> Relate<DbInterner<'db>> for GenericArg<'db>
impl<'db> Relate<DbInterner<'db>> for GenericArg<'db>
fn relate<R: TypeRelation<DbInterner<'db>>>( relation: &mut R, a: Self, b: Self, ) -> RelateResult<DbInterner<'db>, Self>
Source§impl<'db> Relate<DbInterner<'db>> for GenericArgs<'db>
impl<'db> Relate<DbInterner<'db>> for GenericArgs<'db>
fn relate<R: TypeRelation<DbInterner<'db>>>( relation: &mut R, a: Self, b: Self, ) -> RelateResult<DbInterner<'db>, Self>
Source§impl<'db> Relate<DbInterner<'db>> for Pattern<'db>
impl<'db> Relate<DbInterner<'db>> for Pattern<'db>
fn relate<R: TypeRelation<DbInterner<'db>>>( relation: &mut R, a: Self, b: Self, ) -> RelateResult<DbInterner<'db>, Self>
Source§impl<'db> Relate<DbInterner<'db>> for Region<'db>
impl<'db> Relate<DbInterner<'db>> for Region<'db>
fn relate<R: TypeRelation<DbInterner<'db>>>( relation: &mut R, a: Self, b: Self, ) -> RelateResult<DbInterner<'db>, Self>
Source§impl<'db> Relate<DbInterner<'db>> for Safety
impl<'db> Relate<DbInterner<'db>> for Safety
fn relate<R: TypeRelation<DbInterner<'db>>>( _relation: &mut R, a: Self, b: Self, ) -> RelateResult<DbInterner<'db>, Self>
Source§impl<'db> Relate<DbInterner<'db>> for Term<'db>
impl<'db> Relate<DbInterner<'db>> for Term<'db>
fn relate<R: TypeRelation<DbInterner<'db>>>( relation: &mut R, a: Self, b: Self, ) -> RelateResult<DbInterner<'db>, Self>
Source§impl<'db> Relate<DbInterner<'db>> for Ty<'db>
impl<'db> Relate<DbInterner<'db>> for Ty<'db>
fn relate<R: TypeRelation<DbInterner<'db>>>( relation: &mut R, a: Self, b: Self, ) -> RelateResult<DbInterner<'db>, Self>
Source§impl<'db> Safety<DbInterner<'db>> for Safety
impl<'db> Safety<DbInterner<'db>> for Safety
Source§impl<'db> Term<DbInterner<'db>> for Term<'db>
impl<'db> Term<DbInterner<'db>> for Term<'db>
Source§impl<'db> Ty<DbInterner<'db>> for Ty<'db>
impl<'db> Ty<DbInterner<'db>> for Ty<'db>
fn new_unit(interner: DbInterner<'db>) -> Self
fn new_bool(interner: DbInterner<'db>) -> Self
fn new_u8(interner: DbInterner<'db>) -> Self
fn new_usize(interner: DbInterner<'db>) -> Self
fn new_infer(interner: DbInterner<'db>, var: InferTy) -> Self
fn new_var(interner: DbInterner<'db>, var: TyVid) -> Self
fn new_param(interner: DbInterner<'db>, param: ParamTy) -> Self
fn new_placeholder(interner: DbInterner<'db>, param: PlaceholderTy) -> Self
fn new_bound( interner: DbInterner<'db>, debruijn: DebruijnIndex, var: BoundTy, ) -> Self
fn new_anon_bound( interner: DbInterner<'db>, debruijn: DebruijnIndex, var: BoundVar, ) -> Self
fn new_canonical_bound(interner: DbInterner<'db>, var: BoundVar) -> Self
fn new_alias( interner: DbInterner<'db>, kind: AliasTyKind, alias_ty: AliasTy<'db>, ) -> Self
fn new_error(interner: DbInterner<'db>, guar: ErrorGuaranteed) -> Self
fn new_adt( interner: DbInterner<'db>, adt_def: <DbInterner<'db> as Interner>::AdtDef, args: GenericArgs<'db>, ) -> Self
fn new_foreign(interner: DbInterner<'db>, def_id: TypeAliasIdWrapper) -> Self
fn new_dynamic( interner: DbInterner<'db>, preds: <DbInterner<'db> as Interner>::BoundExistentialPredicates, region: <DbInterner<'db> as Interner>::Region, ) -> Self
fn new_coroutine( interner: DbInterner<'db>, def_id: CoroutineIdWrapper, args: <DbInterner<'db> as Interner>::GenericArgs, ) -> Self
fn new_coroutine_closure( interner: DbInterner<'db>, def_id: CoroutineIdWrapper, args: <DbInterner<'db> as Interner>::GenericArgs, ) -> Self
fn new_closure( interner: DbInterner<'db>, def_id: ClosureIdWrapper, args: <DbInterner<'db> as Interner>::GenericArgs, ) -> Self
fn new_coroutine_witness( interner: DbInterner<'db>, def_id: CoroutineIdWrapper, args: <DbInterner<'db> as Interner>::GenericArgs, ) -> Self
fn new_coroutine_witness_for_coroutine( interner: DbInterner<'db>, def_id: CoroutineIdWrapper, coroutine_args: <DbInterner<'db> as Interner>::GenericArgs, ) -> Self
fn new_ptr(interner: DbInterner<'db>, ty: Self, mutbl: Mutability) -> Self
fn new_ref( interner: DbInterner<'db>, region: <DbInterner<'db> as Interner>::Region, ty: Self, mutbl: Mutability, ) -> Self
fn new_array_with_const_len( interner: DbInterner<'db>, ty: Self, len: <DbInterner<'db> as Interner>::Const, ) -> Self
fn new_slice(interner: DbInterner<'db>, ty: Self) -> Self
fn new_tup( interner: DbInterner<'db>, tys: &[<DbInterner<'db> as Interner>::Ty], ) -> Self
fn new_tup_from_iter<It, T>(interner: DbInterner<'db>, iter: It) -> T::Outputwhere
It: Iterator<Item = T>,
T: CollectAndApply<Self, Self>,
fn new_fn_def( interner: DbInterner<'db>, def_id: CallableIdWrapper, args: <DbInterner<'db> as Interner>::GenericArgs, ) -> Self
fn new_fn_ptr( interner: DbInterner<'db>, sig: Binder<DbInterner<'db>, FnSig<DbInterner<'db>>>, ) -> Self
fn new_pat( interner: DbInterner<'db>, ty: Self, pat: <DbInterner<'db> as Interner>::Pat, ) -> Self
fn new_unsafe_binder( interner: DbInterner<'db>, ty: Binder<DbInterner<'db>, <DbInterner<'db> as Interner>::Ty>, ) -> Self
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) -> Self
fn from_coroutine_closure_kind( interner: DbInterner<'db>, kind: ClosureKind, ) -> Self
Source§fn has_unsafe_fields(self) -> bool
fn has_unsafe_fields(self) -> bool
fn discriminant_ty( self, interner: DbInterner<'db>, ) -> <DbInterner<'db> as Interner>::Ty
fn new_projection_from_args( interner: I, def_id: <I as Interner>::DefId, args: <I as Interner>::GenericArgs, ) -> Self
fn new_projection(
interner: I,
def_id: <I as Interner>::DefId,
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 Adjustment<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for Adjustment<'db>
Source§fn try_fold_with<__F: FallibleTypeFolder<DbInterner<'db>>>(
self,
__folder: &mut __F,
) -> Result<Self, __F::Error>
fn try_fold_with<__F: FallibleTypeFolder<DbInterner<'db>>>( self, __folder: &mut __F, ) -> Result<Self, __F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for AdtIdWrapper
impl<'db> TypeFoldable<DbInterner<'db>> for AdtIdWrapper
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
_: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, _: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for BoundExistentialPredicates<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for BoundExistentialPredicates<'db>
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
folder: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, folder: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for BoundRegion
impl<'db> TypeFoldable<DbInterner<'db>> for BoundRegion
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
_: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, _: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for BoundVar
impl<'db> TypeFoldable<DbInterner<'db>> for BoundVar
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
_: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, _: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for CallableIdWrapper
impl<'db> TypeFoldable<DbInterner<'db>> for CallableIdWrapper
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
_: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, _: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Clause<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for Clause<'db>
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
folder: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, folder: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Clauses<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for Clauses<'db>
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
folder: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, folder: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for ClosureIdWrapper
impl<'db> TypeFoldable<DbInterner<'db>> for ClosureIdWrapper
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
_: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, _: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Const<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for Const<'db>
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
folder: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, folder: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for CoroutineIdWrapper
impl<'db> TypeFoldable<DbInterner<'db>> for CoroutineIdWrapper
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
_: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, _: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for ErrorGuaranteed
impl<'db> TypeFoldable<DbInterner<'db>> for ErrorGuaranteed
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
_folder: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, _folder: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for ExprConst
impl<'db> TypeFoldable<DbInterner<'db>> for ExprConst
Source§fn try_fold_with<__F: FallibleTypeFolder<DbInterner<'db>>>(
self,
__folder: &mut __F,
) -> Result<Self, __F::Error>
fn try_fold_with<__F: FallibleTypeFolder<DbInterner<'db>>>( self, __folder: &mut __F, ) -> Result<Self, __F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for ExternalConstraints<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for ExternalConstraints<'db>
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
folder: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, folder: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for FnAbi
impl<'db> TypeFoldable<DbInterner<'db>> for FnAbi
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
_: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, _: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for GeneralConstIdWrapper
impl<'db> TypeFoldable<DbInterner<'db>> for GeneralConstIdWrapper
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
_: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, _: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for GenericArg<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for GenericArg<'db>
Source§fn try_fold_with<__F: FallibleTypeFolder<DbInterner<'db>>>(
self,
__folder: &mut __F,
) -> Result<Self, __F::Error>
fn try_fold_with<__F: FallibleTypeFolder<DbInterner<'db>>>( self, __folder: &mut __F, ) -> Result<Self, __F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for GenericArgs<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for GenericArgs<'db>
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
folder: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, folder: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for ImplIdWrapper
impl<'db> TypeFoldable<DbInterner<'db>> for ImplIdWrapper
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
_: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, _: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for OpaqueHiddenType<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for OpaqueHiddenType<'db>
Source§fn try_fold_with<__F: FallibleTypeFolder<DbInterner<'db>>>(
self,
__folder: &mut __F,
) -> Result<Self, __F::Error>
fn try_fold_with<__F: FallibleTypeFolder<DbInterner<'db>>>( self, __folder: &mut __F, ) -> Result<Self, __F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for ParamConst
impl<'db> TypeFoldable<DbInterner<'db>> for ParamConst
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
_: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, _: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for ParamEnv<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for ParamEnv<'db>
Source§fn try_fold_with<__F: FallibleTypeFolder<DbInterner<'db>>>(
self,
__folder: &mut __F,
) -> Result<Self, __F::Error>
fn try_fold_with<__F: FallibleTypeFolder<DbInterner<'db>>>( self, __folder: &mut __F, ) -> Result<Self, __F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for ParamTy
impl<'db> TypeFoldable<DbInterner<'db>> for ParamTy
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
_: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, _: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for PatList<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for PatList<'db>
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
folder: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, folder: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Pattern<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for Pattern<'db>
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
_: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, _: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Placeholder<BoundRegion>
impl<'db> TypeFoldable<DbInterner<'db>> for Placeholder<BoundRegion>
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
_: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, _: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Placeholder<BoundTy>
impl<'db> TypeFoldable<DbInterner<'db>> for Placeholder<BoundTy>
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
_: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, _: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Placeholder<BoundVar>
impl<'db> TypeFoldable<DbInterner<'db>> for Placeholder<BoundVar>
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
_: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, _: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for PredefinedOpaques<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for PredefinedOpaques<'db>
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
folder: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, folder: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Predicate<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for Predicate<'db>
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
folder: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, folder: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for QueryRegionConstraints<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for QueryRegionConstraints<'db>
Source§fn try_fold_with<__F: FallibleTypeFolder<DbInterner<'db>>>(
self,
__folder: &mut __F,
) -> Result<Self, __F::Error>
fn try_fold_with<__F: FallibleTypeFolder<DbInterner<'db>>>( self, __folder: &mut __F, ) -> Result<Self, __F::Error>
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: FallibleTypeFolder<DbInterner<'db>>>(
self,
__folder: &mut __F,
) -> Result<Self, __F::Error>
fn try_fold_with<__F: FallibleTypeFolder<DbInterner<'db>>>( self, __folder: &mut __F, ) -> Result<Self, __F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Region<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for Region<'db>
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
folder: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, folder: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for RegionAssumptions<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for RegionAssumptions<'db>
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
folder: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, folder: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Safety
impl<'db> TypeFoldable<DbInterner<'db>> for Safety
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
_: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, _: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for SolverDefId
impl<'db> TypeFoldable<DbInterner<'db>> for SolverDefId
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
_: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, _: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for SolverDefIds<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for SolverDefIds<'db>
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
folder: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, folder: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Span
impl<'db> TypeFoldable<DbInterner<'db>> for Span
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
_: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, _: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Term<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for Term<'db>
Source§fn try_fold_with<__F: FallibleTypeFolder<DbInterner<'db>>>(
self,
__folder: &mut __F,
) -> Result<Self, __F::Error>
fn try_fold_with<__F: FallibleTypeFolder<DbInterner<'db>>>( self, __folder: &mut __F, ) -> Result<Self, __F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for TraitIdWrapper
impl<'db> TypeFoldable<DbInterner<'db>> for TraitIdWrapper
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
_: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, _: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Ty<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for Ty<'db>
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
folder: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, folder: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for TypeAliasIdWrapper
impl<'db> TypeFoldable<DbInterner<'db>> for TypeAliasIdWrapper
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
_: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, _: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for Tys<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for Tys<'db>
Source§fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
folder: &mut F,
) -> Result<Self, F::Error>
fn try_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, folder: &mut F, ) -> Result<Self, F::Error>
Source§impl<'db> TypeFoldable<DbInterner<'db>> for ValueConst<'db>
impl<'db> TypeFoldable<DbInterner<'db>> for ValueConst<'db>
Source§fn try_fold_with<__F: FallibleTypeFolder<DbInterner<'db>>>(
self,
__folder: &mut __F,
) -> Result<Self, __F::Error>
fn try_fold_with<__F: FallibleTypeFolder<DbInterner<'db>>>( self, __folder: &mut __F, ) -> Result<Self, __F::Error>
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<'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 PlaceholderReplacer<'_, 'db>
impl<'db> TypeFolder<DbInterner<'db>> for PlaceholderReplacer<'_, 'db>
fn cx(&self) -> DbInterner<'db>
fn fold_binder<T: TypeFoldable<DbInterner<'db>>>( &mut self, t: Binder<'db, T>, ) -> Binder<'db, T>
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> 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> TypeSuperFoldable<DbInterner<'db>> for Clauses<'db>
impl<'db> TypeSuperFoldable<DbInterner<'db>> for Clauses<'db>
Source§fn try_super_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
folder: &mut F,
) -> Result<Self, F::Error>
fn try_super_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, folder: &mut F, ) -> Result<Self, F::Error>
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: TypeFolder<DbInterner<'db>>>(self, folder: &mut F) -> Self
fn super_fold_with<F: TypeFolder<DbInterner<'db>>>(self, folder: &mut F) -> Self
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 Const<'db>
impl<'db> TypeSuperFoldable<DbInterner<'db>> for Const<'db>
Source§fn try_super_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>(
self,
folder: &mut F,
) -> Result<Self, F::Error>
fn try_super_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, folder: &mut F, ) -> Result<Self, F::Error>
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: TypeFolder<DbInterner<'db>>>(self, folder: &mut F) -> Self
fn super_fold_with<F: TypeFolder<DbInterner<'db>>>(self, folder: &mut F) -> Self
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: FallibleTypeFolder<DbInterner<'db>>>(
self,
folder: &mut F,
) -> Result<Self, F::Error>
fn try_super_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, folder: &mut F, ) -> Result<Self, F::Error>
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: TypeFolder<DbInterner<'db>>>(self, folder: &mut F) -> Self
fn super_fold_with<F: TypeFolder<DbInterner<'db>>>(self, folder: &mut F) -> Self
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: FallibleTypeFolder<DbInterner<'db>>>(
self,
folder: &mut F,
) -> Result<Self, F::Error>
fn try_super_fold_with<F: FallibleTypeFolder<DbInterner<'db>>>( self, folder: &mut F, ) -> Result<Self, F::Error>
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: TypeFolder<DbInterner<'db>>>(self, folder: &mut F) -> Self
fn super_fold_with<F: TypeFolder<DbInterner<'db>>>(self, folder: &mut F) -> Self
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 Clauses<'db>
impl<'db> TypeSuperVisitable<DbInterner<'db>> for Clauses<'db>
Source§fn super_visit_with<V: TypeVisitor<DbInterner<'db>>>(
&self,
visitor: &mut V,
) -> V::Result
fn super_visit_with<V: TypeVisitor<DbInterner<'db>>>( &self, visitor: &mut V, ) -> V::Result
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 Const<'db>
impl<'db> TypeSuperVisitable<DbInterner<'db>> for Const<'db>
Source§fn super_visit_with<V: TypeVisitor<DbInterner<'db>>>(
&self,
visitor: &mut V,
) -> V::Result
fn super_visit_with<V: TypeVisitor<DbInterner<'db>>>( &self, visitor: &mut V, ) -> V::Result
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: TypeVisitor<DbInterner<'db>>>(
&self,
visitor: &mut V,
) -> V::Result
fn super_visit_with<V: TypeVisitor<DbInterner<'db>>>( &self, visitor: &mut V, ) -> V::Result
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: TypeVisitor<DbInterner<'db>>>(
&self,
visitor: &mut V,
) -> V::Result
fn super_visit_with<V: TypeVisitor<DbInterner<'db>>>( &self, visitor: &mut V, ) -> V::Result
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 Adjustment<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for Adjustment<'db>
Source§fn visit_with<__V: TypeVisitor<DbInterner<'db>>>(
&self,
__visitor: &mut __V,
) -> __V::Result
fn visit_with<__V: TypeVisitor<DbInterner<'db>>>( &self, __visitor: &mut __V, ) -> __V::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for AdtIdWrapper
impl<'db> TypeVisitable<DbInterner<'db>> for AdtIdWrapper
Source§fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for BoundExistentialPredicates<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for BoundExistentialPredicates<'db>
Source§fn visit_with<V: TypeVisitor<DbInterner<'db>>>(
&self,
visitor: &mut V,
) -> V::Result
fn visit_with<V: TypeVisitor<DbInterner<'db>>>( &self, visitor: &mut V, ) -> V::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for BoundRegion
impl<'db> TypeVisitable<DbInterner<'db>> for BoundRegion
Source§fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for BoundVar
impl<'db> TypeVisitable<DbInterner<'db>> for BoundVar
Source§fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for CallableIdWrapper
impl<'db> TypeVisitable<DbInterner<'db>> for CallableIdWrapper
Source§fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Clause<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for Clause<'db>
Source§fn visit_with<V: TypeVisitor<DbInterner<'db>>>(
&self,
visitor: &mut V,
) -> V::Result
fn visit_with<V: TypeVisitor<DbInterner<'db>>>( &self, visitor: &mut V, ) -> V::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Clauses<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for Clauses<'db>
Source§fn visit_with<V: TypeVisitor<DbInterner<'db>>>(
&self,
visitor: &mut V,
) -> V::Result
fn visit_with<V: TypeVisitor<DbInterner<'db>>>( &self, visitor: &mut V, ) -> V::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for ClosureIdWrapper
impl<'db> TypeVisitable<DbInterner<'db>> for ClosureIdWrapper
Source§fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Const<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for Const<'db>
Source§fn visit_with<V: TypeVisitor<DbInterner<'db>>>(
&self,
visitor: &mut V,
) -> V::Result
fn visit_with<V: TypeVisitor<DbInterner<'db>>>( &self, visitor: &mut V, ) -> V::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for CoroutineIdWrapper
impl<'db> TypeVisitable<DbInterner<'db>> for CoroutineIdWrapper
Source§fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for ErrorGuaranteed
impl<'db> TypeVisitable<DbInterner<'db>> for ErrorGuaranteed
Source§fn visit_with<V: TypeVisitor<DbInterner<'db>>>(
&self,
visitor: &mut V,
) -> V::Result
fn visit_with<V: TypeVisitor<DbInterner<'db>>>( &self, visitor: &mut V, ) -> V::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for ExprConst
impl<'db> TypeVisitable<DbInterner<'db>> for ExprConst
Source§fn visit_with<__V: TypeVisitor<DbInterner<'db>>>(
&self,
__visitor: &mut __V,
) -> __V::Result
fn visit_with<__V: TypeVisitor<DbInterner<'db>>>( &self, __visitor: &mut __V, ) -> __V::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for ExternalConstraints<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for ExternalConstraints<'db>
Source§fn visit_with<V: TypeVisitor<DbInterner<'db>>>(
&self,
visitor: &mut V,
) -> V::Result
fn visit_with<V: TypeVisitor<DbInterner<'db>>>( &self, visitor: &mut V, ) -> V::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for FnAbi
impl<'db> TypeVisitable<DbInterner<'db>> for FnAbi
Source§fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for GeneralConstIdWrapper
impl<'db> TypeVisitable<DbInterner<'db>> for GeneralConstIdWrapper
Source§fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for GenericArg<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for GenericArg<'db>
Source§fn visit_with<__V: TypeVisitor<DbInterner<'db>>>(
&self,
__visitor: &mut __V,
) -> __V::Result
fn visit_with<__V: TypeVisitor<DbInterner<'db>>>( &self, __visitor: &mut __V, ) -> __V::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for GenericArgs<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for GenericArgs<'db>
Source§fn visit_with<V: TypeVisitor<DbInterner<'db>>>(
&self,
visitor: &mut V,
) -> V::Result
fn visit_with<V: TypeVisitor<DbInterner<'db>>>( &self, visitor: &mut V, ) -> V::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for ImplIdWrapper
impl<'db> TypeVisitable<DbInterner<'db>> for ImplIdWrapper
Source§fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for OpaqueHiddenType<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for OpaqueHiddenType<'db>
Source§fn visit_with<__V: TypeVisitor<DbInterner<'db>>>(
&self,
__visitor: &mut __V,
) -> __V::Result
fn visit_with<__V: TypeVisitor<DbInterner<'db>>>( &self, __visitor: &mut __V, ) -> __V::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for ParamConst
impl<'db> TypeVisitable<DbInterner<'db>> for ParamConst
Source§fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for ParamEnv<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for ParamEnv<'db>
Source§fn visit_with<__V: TypeVisitor<DbInterner<'db>>>(
&self,
__visitor: &mut __V,
) -> __V::Result
fn visit_with<__V: TypeVisitor<DbInterner<'db>>>( &self, __visitor: &mut __V, ) -> __V::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for ParamTy
impl<'db> TypeVisitable<DbInterner<'db>> for ParamTy
Source§fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for PatList<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for PatList<'db>
Source§fn visit_with<V: TypeVisitor<DbInterner<'db>>>(
&self,
visitor: &mut V,
) -> V::Result
fn visit_with<V: TypeVisitor<DbInterner<'db>>>( &self, visitor: &mut V, ) -> V::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Pattern<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for Pattern<'db>
Source§fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Placeholder<BoundRegion>
impl<'db> TypeVisitable<DbInterner<'db>> for Placeholder<BoundRegion>
Source§fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Placeholder<BoundTy>
impl<'db> TypeVisitable<DbInterner<'db>> for Placeholder<BoundTy>
Source§fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Placeholder<BoundVar>
impl<'db> TypeVisitable<DbInterner<'db>> for Placeholder<BoundVar>
Source§fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for PredefinedOpaques<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for PredefinedOpaques<'db>
Source§fn visit_with<V: TypeVisitor<DbInterner<'db>>>(
&self,
visitor: &mut V,
) -> V::Result
fn visit_with<V: TypeVisitor<DbInterner<'db>>>( &self, visitor: &mut V, ) -> V::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Predicate<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for Predicate<'db>
Source§fn visit_with<V: TypeVisitor<DbInterner<'db>>>(
&self,
visitor: &mut V,
) -> V::Result
fn visit_with<V: TypeVisitor<DbInterner<'db>>>( &self, visitor: &mut V, ) -> V::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for QueryRegionConstraints<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for QueryRegionConstraints<'db>
Source§fn visit_with<__V: TypeVisitor<DbInterner<'db>>>(
&self,
__visitor: &mut __V,
) -> __V::Result
fn visit_with<__V: TypeVisitor<DbInterner<'db>>>( &self, __visitor: &mut __V, ) -> __V::Result
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: TypeVisitor<DbInterner<'db>>>(
&self,
__visitor: &mut __V,
) -> __V::Result
fn visit_with<__V: TypeVisitor<DbInterner<'db>>>( &self, __visitor: &mut __V, ) -> __V::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Region<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for Region<'db>
Source§fn visit_with<V: TypeVisitor<DbInterner<'db>>>(
&self,
visitor: &mut V,
) -> V::Result
fn visit_with<V: TypeVisitor<DbInterner<'db>>>( &self, visitor: &mut V, ) -> V::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for RegionAssumptions<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for RegionAssumptions<'db>
Source§fn visit_with<V: TypeVisitor<DbInterner<'db>>>(
&self,
visitor: &mut V,
) -> V::Result
fn visit_with<V: TypeVisitor<DbInterner<'db>>>( &self, visitor: &mut V, ) -> V::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Safety
impl<'db> TypeVisitable<DbInterner<'db>> for Safety
Source§fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for SolverDefId
impl<'db> TypeVisitable<DbInterner<'db>> for SolverDefId
Source§fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for SolverDefIds<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for SolverDefIds<'db>
Source§fn visit_with<V: TypeVisitor<DbInterner<'db>>>(
&self,
visitor: &mut V,
) -> V::Result
fn visit_with<V: TypeVisitor<DbInterner<'db>>>( &self, visitor: &mut V, ) -> V::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Span
impl<'db> TypeVisitable<DbInterner<'db>> for Span
Source§fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Term<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for Term<'db>
Source§fn visit_with<__V: TypeVisitor<DbInterner<'db>>>(
&self,
__visitor: &mut __V,
) -> __V::Result
fn visit_with<__V: TypeVisitor<DbInterner<'db>>>( &self, __visitor: &mut __V, ) -> __V::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for TraitIdWrapper
impl<'db> TypeVisitable<DbInterner<'db>> for TraitIdWrapper
Source§fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Ty<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for Ty<'db>
Source§fn visit_with<V: TypeVisitor<DbInterner<'db>>>(
&self,
visitor: &mut V,
) -> V::Result
fn visit_with<V: TypeVisitor<DbInterner<'db>>>( &self, visitor: &mut V, ) -> V::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for TypeAliasIdWrapper
impl<'db> TypeVisitable<DbInterner<'db>> for TypeAliasIdWrapper
Source§fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
fn visit_with<F: TypeVisitor<DbInterner<'db>>>(&self, _: &mut F) -> F::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for Tys<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for Tys<'db>
Source§fn visit_with<V: TypeVisitor<DbInterner<'db>>>(
&self,
visitor: &mut V,
) -> V::Result
fn visit_with<V: TypeVisitor<DbInterner<'db>>>( &self, visitor: &mut V, ) -> V::Result
Source§impl<'db> TypeVisitable<DbInterner<'db>> for ValueConst<'db>
impl<'db> TypeVisitable<DbInterner<'db>> for ValueConst<'db>
Source§fn visit_with<__V: TypeVisitor<DbInterner<'db>>>(
&self,
__visitor: &mut __V,
) -> __V::Result
fn visit_with<__V: TypeVisitor<DbInterner<'db>>>( &self, __visitor: &mut __V, ) -> __V::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>) -> Self::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 StalledOnCoroutines<'_, 'db>
impl<'db> TypeVisitor<DbInterner<'db>> for StalledOnCoroutines<'_, 'db>
type Result = ControlFlow<()>
fn visit_ty(&mut self, ty: Ty<'db>) -> Self::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 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>, ) -> Self
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>, ) -> Self
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: PolyRegionOutlivesPredicate<'db>, tcx: DbInterner<'db>, ) -> Self
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>, ) -> Self
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>, ) -> Self
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<'db, ProjectionPredicate<'db>>, interner: DbInterner<'db>, ) -> Self
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>, ) -> Self
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<'db, TraitPredicate<DbInterner<'db>>>, interner: DbInterner<'db>, ) -> Self
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>, ) -> Self
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>, ) -> Self
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>) -> Self
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>, ) -> Self
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>, ) -> Self
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>, ) -> Self
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>, ) -> Self
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>, ) -> Self
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>, ) -> Self
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>, ) -> Self
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>, ) -> Self
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<'db>, interner: DbInterner<'db>, ) -> Self
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>, ) -> Self
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>, ) -> Self
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>, ) -> Self
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>, ) -> Self
Source§impl<'db> ValueConst<DbInterner<'db>> for ValueConst<'db>
impl<'db> ValueConst<DbInterner<'db>> for ValueConst<'db>
impl<'db> Clauses<DbInterner<'db>> for Clauses<'db>
impl<'db> Copy for DbInterner<'db>
impl Send for DbInterner<'_>
impl Sync for DbInterner<'_>
Auto Trait Implementations§
impl<'db> Freeze for DbInterner<'db>
impl<'db> !RefUnwindSafe for DbInterner<'db>
impl<'db> Unpin for DbInterner<'db>
impl<'db> !UnwindSafe 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>
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>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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