Struct ra_ap_hir_ty::Interner
source · [−]pub struct Interner;
Trait Implementations
sourceimpl Fold<Interner> for CallableSig
impl Fold<Interner> for CallableSig
type Result = CallableSig
type Result = CallableSig
The type of value that will be produced once folding is done.
Typically this is Self
, unless Self
contains borrowed
values, in which case owned values are produced (for example,
one can fold over a &T
value where T: Fold
, in which case
you get back a T
, not a &T
). Read more
sourcefn fold_with<E>(
self,
folder: &mut dyn Folder<Interner, Error = E>,
outer_binder: DebruijnIndex
) -> Result<Self::Result, E>
fn fold_with<E>(
self,
folder: &mut dyn Folder<Interner, Error = E>,
outer_binder: DebruijnIndex
) -> Result<Self::Result, E>
Apply the given folder folder
to self
; binders
is the
number of binders that are in scope when beginning the
folder. Typically binders
starts as 0, but is adjusted when
we encounter Binders<T>
in the IR or other similar
constructs. Read more
sourceimpl HasInterner for Interner
impl HasInterner for Interner
type Interner = Self
type Interner = Self
The interner associated with the type.
sourceimpl Interner for Interner
impl Interner for Interner
type InternedType = Interned<InternedWrapper<TyData<Interner>>>
type InternedType = Interned<InternedWrapper<TyData<Interner>>>
“Interned” representation of types. In normal user code,
Self::InternedType
is not referenced. Instead, we refer to
Ty<Self>
, which wraps this type. Read more
type InternedLifetime = Interned<InternedWrapper<LifetimeData<Self>>>
type InternedLifetime = Interned<InternedWrapper<LifetimeData<Self>>>
“Interned” representation of lifetimes. In normal user code,
Self::InternedLifetime
is not referenced. Instead, we refer to
Lifetime<Self>
, which wraps this type. Read more
type InternedConst = Interned<InternedWrapper<ConstData<Self>>>
type InternedConst = Interned<InternedWrapper<ConstData<Self>>>
“Interned” representation of const expressions. In normal user code,
Self::InternedConst
is not referenced. Instead, we refer to
Const<Self>
, which wraps this type. Read more
type InternedConcreteConst = ConstScalar
type InternedConcreteConst = ConstScalar
“Interned” representation of an evaluated const value.
Self::InternedConcreteConst
is not referenced. Instead,
we refer to ConcreteConst<Self>
, which wraps this type. Read more
type InternedGenericArg = GenericArgData<Self>
type InternedGenericArg = GenericArgData<Self>
“Interned” representation of a “generic parameter”, which can
be either a type or a lifetime. In normal user code,
Self::InternedGenericArg
is not referenced. Instead, we refer to
GenericArg<Self>
, which wraps this type. Read more
type InternedGoal = Arc<GoalData<Self>>
type InternedGoal = Arc<GoalData<Self>>
“Interned” representation of a “goal”. In normal user code,
Self::InternedGoal
is not referenced. Instead, we refer to
Goal<Self>
, which wraps this type. Read more
type InternedGoals = Vec<Goal<Self>>
type InternedGoals = Vec<Goal<Self>>
“Interned” representation of a list of goals. In normal user code,
Self::InternedGoals
is not referenced. Instead, we refer to
Goals<Self>
, which wraps this type. Read more
type InternedSubstitution = Interned<InternedWrapper<SmallVec<[GenericArg; 2]>>>
type InternedSubstitution = Interned<InternedWrapper<SmallVec<[GenericArg; 2]>>>
“Interned” representation of a “substitution”. In normal user code,
Self::InternedSubstitution
is not referenced. Instead, we refer to
Substitution<Self>
, which wraps this type. Read more
type InternedProgramClause = ProgramClauseData<Self>
type InternedProgramClause = ProgramClauseData<Self>
“Interned” representation of a “program clause”. In normal user code,
Self::InternedProgramClause
is not referenced. Instead, we refer to
ProgramClause<Self>
, which wraps this type. Read more
type InternedProgramClauses = Interned<InternedWrapper<Vec<ProgramClause<Self>>>>
type InternedProgramClauses = Interned<InternedWrapper<Vec<ProgramClause<Self>>>>
“Interned” representation of a list of program clauses. In normal user code,
Self::InternedProgramClauses
is not referenced. Instead, we refer to
ProgramClauses<Self>
, which wraps this type. Read more
type InternedQuantifiedWhereClauses = Interned<InternedWrapper<Vec<QuantifiedWhereClause<Self>>>>
type InternedQuantifiedWhereClauses = Interned<InternedWrapper<Vec<QuantifiedWhereClause<Self>>>>
“Interned” representation of a list of quantified where clauses.
In normal user code, Self::InternedQuantifiedWhereClauses
is not referenced.
Instead, we refer to QuantifiedWhereClauses<Self>
, which wraps this type. Read more
type InternedVariableKinds = Interned<InternedWrapper<Vec<VariableKind<Interner>>>>
type InternedVariableKinds = Interned<InternedWrapper<Vec<VariableKind<Interner>>>>
“Interned” representation of a list of variable kinds.
In normal user code, Self::InternedVariableKinds
is not referenced.
Instead, we refer to VariableKinds<Self>
, which wraps this type. Read more
type InternedCanonicalVarKinds = Interned<InternedWrapper<Vec<CanonicalVarKind<Self>>>>
type InternedCanonicalVarKinds = Interned<InternedWrapper<Vec<CanonicalVarKind<Self>>>>
“Interned” representation of a list of variable kinds with universe index.
In normal user code, Self::InternedCanonicalVarKinds
is not referenced.
Instead, we refer to CanonicalVarKinds<Self>
, which wraps this type. Read more
type InternedConstraints = Vec<InEnvironment<Constraint<Self>>>
type InternedConstraints = Vec<InEnvironment<Constraint<Self>>>
“Interned” representation of a list of region constraints.
In normal user code, Self::InternedConstraints
is not referenced.
Instead, we refer to Constraints<Self>
, which wraps this type. Read more
type InternedVariances = Interned<InternedWrapper<Vec<Variance>>>
type InternedVariances = Interned<InternedWrapper<Vec<Variance>>>
“Interned” representation of a list of chalk_ir::Variance
.
In normal user code, Self::InternedVariances
is not referenced.
Instead, we refer to Variances<Self>
, which wraps this type. Read more
type DefId = InternId
type DefId = InternId
The core “id” type used for trait-ids and the like.
type InternedAdtId = AdtId
type InternedAdtId = AdtId
The ID type for ADTs
type Identifier = TypeAliasId
type Identifier = TypeAliasId
Representation of identifiers.
sourcefn debug_adt_id(
type_kind_id: AdtId<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_adt_id(
type_kind_id: AdtId<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of a type-kind-id.
Returns None
to fallback to the default debug output. Read more
sourcefn debug_trait_id(
type_kind_id: TraitId<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_trait_id(
type_kind_id: TraitId<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of a type-kind-id.
Returns None
to fallback to the default debug output (e.g.,
if no info about current program is available from TLS). Read more
sourcefn debug_assoc_type_id(
id: AssocTypeId<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_assoc_type_id(
id: AssocTypeId<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of a type-kind-id.
Returns None
to fallback to the default debug output. Read more
sourcefn debug_alias(
alias: &AliasTy<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_alias(
alias: &AliasTy<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of an alias. To get good results, this requires inspecting TLS, and is difficult to code without reference to a specific interner (and hence fully known types). Read more
sourcefn debug_projection_ty(
proj: &ProjectionTy<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_projection_ty(
proj: &ProjectionTy<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of a ProjectionTy.
Returns None
to fallback to the default debug output. Read more
sourcefn debug_opaque_ty(
opaque_ty: &OpaqueTy<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_opaque_ty(
opaque_ty: &OpaqueTy<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of an OpaqueTy.
Returns None
to fallback to the default debug output. Read more
sourcefn debug_opaque_ty_id(
opaque_ty_id: OpaqueTyId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_opaque_ty_id(
opaque_ty_id: OpaqueTyId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of an opaque type.
Returns None
to fallback to the default debug output. Read more
sourcefn debug_ty(ty: &Ty<Interner>, fmt: &mut Formatter<'_>) -> Option<Result>
fn debug_ty(ty: &Ty<Interner>, fmt: &mut Formatter<'_>) -> Option<Result>
Prints the debug representation of a type.
Returns None
to fallback to the default debug output. Read more
sourcefn debug_lifetime(
lifetime: &Lifetime<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_lifetime(
lifetime: &Lifetime<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of a lifetime.
Returns None
to fallback to the default debug output. Read more
sourcefn debug_generic_arg(
parameter: &GenericArg,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_generic_arg(
parameter: &GenericArg,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of an parameter.
Returns None
to fallback to the default debug output. Read more
sourcefn debug_goal(goal: &Goal<Interner>, fmt: &mut Formatter<'_>) -> Option<Result>
fn debug_goal(goal: &Goal<Interner>, fmt: &mut Formatter<'_>) -> Option<Result>
Prints the debug representation of an goal.
Returns None
to fallback to the default debug output. Read more
sourcefn debug_goals(
goals: &Goals<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_goals(
goals: &Goals<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of a list of goals.
Returns None
to fallback to the default debug output. Read more
sourcefn debug_program_clause_implication(
pci: &ProgramClauseImplication<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_program_clause_implication(
pci: &ProgramClauseImplication<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of a ProgramClauseImplication.
Returns None
to fallback to the default debug output. Read more
sourcefn debug_substitution(
substitution: &Substitution<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_substitution(
substitution: &Substitution<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of a Substitution.
Returns None
to fallback to the default debug output. Read more
sourcefn debug_separator_trait_ref(
separator_trait_ref: &SeparatorTraitRef<'_, Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_separator_trait_ref(
separator_trait_ref: &SeparatorTraitRef<'_, Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of a SeparatorTraitRef.
Returns None
to fallback to the default debug output. Read more
sourcefn debug_fn_def_id(
fn_def_id: FnDefId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_fn_def_id(
fn_def_id: FnDefId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of a function-def-id.
Returns None
to fallback to the default debug output. Read more
sourcefn debug_const(
constant: &Const<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_const(
constant: &Const<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of a const.
Returns None
to fallback to the default debug output. Read more
sourcefn debug_variable_kinds(
variable_kinds: &VariableKinds<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_variable_kinds(
variable_kinds: &VariableKinds<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of a parameter kinds list.
Returns None
to fallback to the default debug output. Read more
sourcefn debug_variable_kinds_with_angles(
variable_kinds: &VariableKinds<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_variable_kinds_with_angles(
variable_kinds: &VariableKinds<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of a parameter kinds list, with angle brackets.
Returns None
to fallback to the default debug output. Read more
sourcefn debug_canonical_var_kinds(
canonical_var_kinds: &CanonicalVarKinds<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_canonical_var_kinds(
canonical_var_kinds: &CanonicalVarKinds<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of an parameter kinds list with universe index.
Returns None
to fallback to the default debug output. Read more
sourcefn debug_program_clause(
clause: &ProgramClause<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_program_clause(
clause: &ProgramClause<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of a ProgramClause.
Returns None
to fallback to the default debug output. Read more
sourcefn debug_program_clauses(
clauses: &ProgramClauses<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_program_clauses(
clauses: &ProgramClauses<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of a ProgramClauses.
Returns None
to fallback to the default debug output. Read more
sourcefn debug_quantified_where_clauses(
clauses: &QuantifiedWhereClauses<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_quantified_where_clauses(
clauses: &QuantifiedWhereClauses<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of a QuantifiedWhereClauses.
Returns None
to fallback to the default debug output. Read more
sourcefn intern_ty(self, kind: TyKind<Self>) -> Self::InternedType
fn intern_ty(self, kind: TyKind<Self>) -> Self::InternedType
Create an “interned” type from ty
. This is not normally
invoked directly; instead, you invoke TyKind::intern
(which
will ultimately call this method). Read more
sourcefn ty_data<'a>(self, ty: &'a Self::InternedType) -> &'a TyData<Self>
fn ty_data<'a>(self, ty: &'a Self::InternedType) -> &'a TyData<Self>
Lookup the TyKind
from an interned type.
sourcefn intern_lifetime(self, lifetime: LifetimeData<Self>) -> Self::InternedLifetime
fn intern_lifetime(self, lifetime: LifetimeData<Self>) -> Self::InternedLifetime
Create an “interned” lifetime from lifetime
. This is not
normally invoked directly; instead, you invoke
LifetimeData::intern
(which will ultimately call this
method). Read more
sourcefn lifetime_data<'a>(
self,
lifetime: &'a Self::InternedLifetime
) -> &'a LifetimeData<Self>
fn lifetime_data<'a>(
self,
lifetime: &'a Self::InternedLifetime
) -> &'a LifetimeData<Self>
Lookup the LifetimeData
that was interned to create a InternedLifetime
.
sourcefn intern_const(self, constant: ConstData<Self>) -> Self::InternedConst
fn intern_const(self, constant: ConstData<Self>) -> Self::InternedConst
Create an “interned” const from const
. This is not
normally invoked directly; instead, you invoke
ConstData::intern
(which will ultimately call this
method). Read more
sourcefn const_data<'a>(
self,
constant: &'a Self::InternedConst
) -> &'a ConstData<Self>
fn const_data<'a>(
self,
constant: &'a Self::InternedConst
) -> &'a ConstData<Self>
Lookup the ConstData
that was interned to create a InternedConst
.
sourcefn const_eq(
self,
_ty: &Self::InternedType,
c1: &Self::InternedConcreteConst,
c2: &Self::InternedConcreteConst
) -> bool
fn const_eq(
self,
_ty: &Self::InternedType,
c1: &Self::InternedConcreteConst,
c2: &Self::InternedConcreteConst
) -> bool
Determine whether two concrete const values are equal.
sourcefn intern_generic_arg(
self,
parameter: GenericArgData<Self>
) -> Self::InternedGenericArg
fn intern_generic_arg(
self,
parameter: GenericArgData<Self>
) -> Self::InternedGenericArg
Create an “interned” parameter from data
. This is not
normally invoked directly; instead, you invoke
GenericArgData::intern
(which will ultimately call this
method). Read more
sourcefn generic_arg_data<'a>(
self,
parameter: &'a Self::InternedGenericArg
) -> &'a GenericArgData<Self>
fn generic_arg_data<'a>(
self,
parameter: &'a Self::InternedGenericArg
) -> &'a GenericArgData<Self>
Lookup the LifetimeData
that was interned to create a InternedLifetime
.
sourcefn intern_goal(self, goal: GoalData<Self>) -> Self::InternedGoal
fn intern_goal(self, goal: GoalData<Self>) -> Self::InternedGoal
Create an “interned” goal from data
. This is not
normally invoked directly; instead, you invoke
GoalData::intern
(which will ultimately call this
method). Read more
sourcefn intern_goals<E>(
self,
data: impl IntoIterator<Item = Result<Goal<Self>, E>>
) -> Result<Self::InternedGoals, E>
fn intern_goals<E>(
self,
data: impl IntoIterator<Item = Result<Goal<Self>, E>>
) -> Result<Self::InternedGoals, E>
Create an “interned” goals from data
. This is not
normally invoked directly; instead, you invoke
GoalsData::intern
(which will ultimately call this
method). Read more
sourcefn goal_data<'a>(self, goal: &'a Self::InternedGoal) -> &'a GoalData<Self>
fn goal_data<'a>(self, goal: &'a Self::InternedGoal) -> &'a GoalData<Self>
Lookup the GoalData
that was interned to create a InternedGoal
.
sourcefn goals_data<'a>(self, goals: &'a Self::InternedGoals) -> &'a [Goal<Interner>]
fn goals_data<'a>(self, goals: &'a Self::InternedGoals) -> &'a [Goal<Interner>]
Lookup the GoalsData
that was interned to create a InternedGoals
.
sourcefn intern_substitution<E>(
self,
data: impl IntoIterator<Item = Result<GenericArg, E>>
) -> Result<Self::InternedSubstitution, E>
fn intern_substitution<E>(
self,
data: impl IntoIterator<Item = Result<GenericArg, E>>
) -> Result<Self::InternedSubstitution, E>
Create an “interned” substitution from data
. This is not
normally invoked directly; instead, you invoke
SubstitutionData::intern
(which will ultimately call this
method). Read more
sourcefn substitution_data<'a>(
self,
substitution: &'a Self::InternedSubstitution
) -> &'a [GenericArg]
fn substitution_data<'a>(
self,
substitution: &'a Self::InternedSubstitution
) -> &'a [GenericArg]
Lookup the SubstitutionData
that was interned to create a InternedSubstitution
.
sourcefn intern_program_clause(
self,
data: ProgramClauseData<Self>
) -> Self::InternedProgramClause
fn intern_program_clause(
self,
data: ProgramClauseData<Self>
) -> Self::InternedProgramClause
Create an “interned” program clause from data
. This is not
normally invoked directly; instead, you invoke
ProgramClauseData::intern
(which will ultimately call this
method). Read more
sourcefn program_clause_data<'a>(
self,
clause: &'a Self::InternedProgramClause
) -> &'a ProgramClauseData<Self>
fn program_clause_data<'a>(
self,
clause: &'a Self::InternedProgramClause
) -> &'a ProgramClauseData<Self>
Lookup the ProgramClauseData
that was interned to create a ProgramClause
.
sourcefn intern_program_clauses<E>(
self,
data: impl IntoIterator<Item = Result<ProgramClause<Self>, E>>
) -> Result<Self::InternedProgramClauses, E>
fn intern_program_clauses<E>(
self,
data: impl IntoIterator<Item = Result<ProgramClause<Self>, E>>
) -> Result<Self::InternedProgramClauses, E>
Create an “interned” program clauses from data
. This is not
normally invoked directly; instead, you invoke
ProgramClauses::from_iter
(which will ultimately call this
method). Read more
sourcefn program_clauses_data<'a>(
self,
clauses: &'a Self::InternedProgramClauses
) -> &'a [ProgramClause<Self>]
fn program_clauses_data<'a>(
self,
clauses: &'a Self::InternedProgramClauses
) -> &'a [ProgramClause<Self>]
Lookup the ProgramClauseData
that was interned to create a ProgramClause
.
sourcefn intern_quantified_where_clauses<E>(
self,
data: impl IntoIterator<Item = Result<QuantifiedWhereClause<Self>, E>>
) -> Result<Self::InternedQuantifiedWhereClauses, E>
fn intern_quantified_where_clauses<E>(
self,
data: impl IntoIterator<Item = Result<QuantifiedWhereClause<Self>, E>>
) -> Result<Self::InternedQuantifiedWhereClauses, E>
Create an “interned” quantified where clauses from data
. This is not
normally invoked directly; instead, you invoke
QuantifiedWhereClauses::from_iter
(which will ultimately call this
method). Read more
sourcefn quantified_where_clauses_data<'a>(
self,
clauses: &'a Self::InternedQuantifiedWhereClauses
) -> &'a [QuantifiedWhereClause<Self>]
fn quantified_where_clauses_data<'a>(
self,
clauses: &'a Self::InternedQuantifiedWhereClauses
) -> &'a [QuantifiedWhereClause<Self>]
Lookup the slice of QuantifiedWhereClause
that was interned to
create a QuantifiedWhereClauses
. Read more
sourcefn intern_generic_arg_kinds<E>(
self,
data: impl IntoIterator<Item = Result<VariableKind<Self>, E>>
) -> Result<Self::InternedVariableKinds, E>
fn intern_generic_arg_kinds<E>(
self,
data: impl IntoIterator<Item = Result<VariableKind<Self>, E>>
) -> Result<Self::InternedVariableKinds, E>
Create an “interned” parameter kinds from data
. This is not
normally invoked directly; instead, you invoke
VariableKinds::from_iter
(which will ultimately call this
method). Read more
sourcefn variable_kinds_data<'a>(
self,
parameter_kinds: &'a Self::InternedVariableKinds
) -> &'a [VariableKind<Self>]
fn variable_kinds_data<'a>(
self,
parameter_kinds: &'a Self::InternedVariableKinds
) -> &'a [VariableKind<Self>]
Lookup the slice of VariableKinds
that was interned to
create a VariableKinds
. Read more
sourcefn intern_canonical_var_kinds<E>(
self,
data: impl IntoIterator<Item = Result<CanonicalVarKind<Self>, E>>
) -> Result<Self::InternedCanonicalVarKinds, E>
fn intern_canonical_var_kinds<E>(
self,
data: impl IntoIterator<Item = Result<CanonicalVarKind<Self>, E>>
) -> Result<Self::InternedCanonicalVarKinds, E>
Create “interned” variable kinds with universe index from data
. This is not
normally invoked directly; instead, you invoke
CanonicalVarKinds::from_iter
(which will ultimately call this
method). Read more
sourcefn canonical_var_kinds_data<'a>(
self,
canonical_var_kinds: &'a Self::InternedCanonicalVarKinds
) -> &'a [CanonicalVarKind<Self>]
fn canonical_var_kinds_data<'a>(
self,
canonical_var_kinds: &'a Self::InternedCanonicalVarKinds
) -> &'a [CanonicalVarKind<Self>]
Lookup the slice of CanonicalVariableKind
that was interned to
create a CanonicalVariableKinds
. Read more
sourcefn intern_constraints<E>(
self,
data: impl IntoIterator<Item = Result<InEnvironment<Constraint<Self>>, E>>
) -> Result<Self::InternedConstraints, E>
fn intern_constraints<E>(
self,
data: impl IntoIterator<Item = Result<InEnvironment<Constraint<Self>>, E>>
) -> Result<Self::InternedConstraints, E>
Create “interned” constraints from data
. This is not
normally invoked dirctly; instead, you invoke
Constraints::from_iter
(which will ultimately call this
method). Read more
sourcefn constraints_data<'a>(
self,
constraints: &'a Self::InternedConstraints
) -> &'a [InEnvironment<Constraint<Self>>]
fn constraints_data<'a>(
self,
constraints: &'a Self::InternedConstraints
) -> &'a [InEnvironment<Constraint<Self>>]
Lookup the slice of Constraint
that was interned to
create a Constraints
. Read more
sourcefn debug_closure_id(
_fn_def_id: ClosureId<Self>,
_fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_closure_id(
_fn_def_id: ClosureId<Self>,
_fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of a closure id.
Returns None
to fallback to the default debug output. Read more
sourcefn debug_constraints(
_clauses: &Constraints<Self>,
_fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_constraints(
_clauses: &Constraints<Self>,
_fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of a Constraints.
Returns None
to fallback to the default debug output. Read more
sourcefn intern_variances<E>(
self,
data: impl IntoIterator<Item = Result<Variance, E>>
) -> Result<Self::InternedVariances, E>
fn intern_variances<E>(
self,
data: impl IntoIterator<Item = Result<Variance, E>>
) -> Result<Self::InternedVariances, E>
Create “interned” variances from data
. This is not
normally invoked directly; instead, you invoke
Variances::from
(which will ultimately call this
method). Read more
sourcefn variances_data<'a>(
self,
variances: &'a Self::InternedVariances
) -> &'a [Variance]
fn variances_data<'a>(
self,
variances: &'a Self::InternedVariances
) -> &'a [Variance]
Lookup the slice of Variance
that was interned to
create a Variances
. Read more
sourcefn debug_foreign_def_id(
foreign_def_id: ForeignDefId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
fn debug_foreign_def_id(
foreign_def_id: ForeignDefId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
Prints the debug representation of a foreign-def-id.
Returns None
to fallback to the default debug output. Read more
sourcefn debug_generator_id(
generator_id: GeneratorId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
fn debug_generator_id(
generator_id: GeneratorId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
Prints the debug representation of an alias.
Returns None
to fallback to the default debug output. Read more
sourceimpl Ord for Interner
impl Ord for Interner
sourceimpl PartialOrd<Interner> for Interner
impl PartialOrd<Interner> for Interner
sourcefn partial_cmp(&self, other: &Interner) -> Option<Ordering>
fn partial_cmp(&self, other: &Interner) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
sourceimpl<'a> UnificationDatabase<Interner> for &'a dyn HirDatabase
impl<'a> UnificationDatabase<Interner> for &'a dyn HirDatabase
impl Copy for Interner
impl Eq for Interner
impl StructuralEq for Interner
impl StructuralPartialEq for Interner
Auto Trait Implementations
impl RefUnwindSafe for Interner
impl Send for Interner
impl Sync for Interner
impl Unpin for Interner
impl UnwindSafe for Interner
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Cast for T
impl<T> Cast for T
sourcefn cast<U>(self, interner: <U as HasInterner>::Interner) -> U where
Self: CastTo<U>,
U: HasInterner,
fn cast<U>(self, interner: <U as HasInterner>::Interner) -> U where
Self: CastTo<U>,
U: HasInterner,
Cast a value to type U
using CastTo
.
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more