Struct rustc_middle::traits::chalk::RustInterner
source · pub struct RustInterner<'tcx> {
pub tcx: TyCtxt<'tcx>,
}
Fields§
§tcx: TyCtxt<'tcx>
Trait Implementations§
source§impl<'tcx> Clone for RustInterner<'tcx>
impl<'tcx> Clone for RustInterner<'tcx>
source§fn clone(&self) -> RustInterner<'tcx>
fn clone(&self) -> RustInterner<'tcx>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for RustInterner<'_>
impl Debug for RustInterner<'_>
source§impl<'tcx> HasInterner for RustInterner<'tcx>
impl<'tcx> HasInterner for RustInterner<'tcx>
§type Interner = RustInterner<'tcx>
type Interner = RustInterner<'tcx>
The interner associated with the type.
source§impl<'tcx> Hash for RustInterner<'tcx>
impl<'tcx> Hash for RustInterner<'tcx>
We don’t ever actually need this. It’s only required for derives.
source§impl<'tcx> Interner for RustInterner<'tcx>
impl<'tcx> Interner for RustInterner<'tcx>
§type InternedType = Box<TyData<RustInterner<'tcx>>, Global>
type InternedType = Box<TyData<RustInterner<'tcx>>, Global>
“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 = Box<LifetimeData<RustInterner<'tcx>>, Global>
type InternedLifetime = Box<LifetimeData<RustInterner<'tcx>>, Global>
“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 = Box<ConstData<RustInterner<'tcx>>, Global>
type InternedConst = Box<ConstData<RustInterner<'tcx>>, Global>
“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 = ValTree<'tcx>
type InternedConcreteConst = ValTree<'tcx>
“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 = Box<GenericArgData<RustInterner<'tcx>>, Global>
type InternedGenericArg = Box<GenericArgData<RustInterner<'tcx>>, Global>
“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 = Box<GoalData<RustInterner<'tcx>>, Global>
type InternedGoal = Box<GoalData<RustInterner<'tcx>>, Global>
“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<RustInterner<'tcx>>, Global>
type InternedGoals = Vec<Goal<RustInterner<'tcx>>, Global>
“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 = Vec<GenericArg<RustInterner<'tcx>>, Global>
type InternedSubstitution = Vec<GenericArg<RustInterner<'tcx>>, Global>
“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 = Box<ProgramClauseData<RustInterner<'tcx>>, Global>
type InternedProgramClause = Box<ProgramClauseData<RustInterner<'tcx>>, Global>
“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 = Vec<ProgramClause<RustInterner<'tcx>>, Global>
type InternedProgramClauses = Vec<ProgramClause<RustInterner<'tcx>>, Global>
“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 = Vec<Binders<WhereClause<RustInterner<'tcx>>>, Global>
type InternedQuantifiedWhereClauses = Vec<Binders<WhereClause<RustInterner<'tcx>>>, Global>
“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 = Vec<VariableKind<RustInterner<'tcx>>, Global>
type InternedVariableKinds = Vec<VariableKind<RustInterner<'tcx>>, Global>
“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 = Vec<WithKind<RustInterner<'tcx>, UniverseIndex>, Global>
type InternedCanonicalVarKinds = Vec<WithKind<RustInterner<'tcx>, UniverseIndex>, Global>
“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 InternedVariances = Vec<Variance, Global>
type InternedVariances = Vec<Variance, Global>
“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 InternedConstraints = Vec<InEnvironment<Constraint<RustInterner<'tcx>>>, Global>
type InternedConstraints = Vec<InEnvironment<Constraint<RustInterner<'tcx>>>, Global>
“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 InternedAdtId = AdtDef<'tcx>
type InternedAdtId = AdtDef<'tcx>
The ID type for ADTs
§type Identifier = ()
type Identifier = ()
Representation of identifiers.
source§fn debug_program_clause_implication(
pci: &ProgramClauseImplication<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_program_clause_implication(
pci: &ProgramClauseImplication<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of a ProgramClauseImplication.
Returns
None
to fallback to the default debug output. Read moresource§fn debug_substitution(
substitution: &Substitution<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_substitution(
substitution: &Substitution<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of a Substitution.
Returns
None
to fallback to the default debug output. Read moresource§fn debug_separator_trait_ref(
separator_trait_ref: &SeparatorTraitRef<'_, Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_separator_trait_ref(
separator_trait_ref: &SeparatorTraitRef<'_, Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of a SeparatorTraitRef.
Returns
None
to fallback to the default debug output. Read moresource§fn 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 moresource§fn debug_ty(ty: &Ty<Self>, fmt: &mut Formatter<'_>) -> Option<Result>
fn debug_ty(ty: &Ty<Self>, fmt: &mut Formatter<'_>) -> Option<Result>
Prints the debug representation of a type.
Returns
None
to fallback to the default debug output. Read moresource§fn debug_alias(
alias_ty: &AliasTy<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_alias(
alias_ty: &AliasTy<Self>,
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
source§fn debug_projection_ty(
projection_ty: &ProjectionTy<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_projection_ty(
projection_ty: &ProjectionTy<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of a ProjectionTy.
Returns
None
to fallback to the default debug output. Read moresource§fn debug_opaque_ty(
opaque_ty: &OpaqueTy<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_opaque_ty(
opaque_ty: &OpaqueTy<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
Prints the debug representation of an OpaqueTy.
Returns
None
to fallback to the default debug output. Read moresource§fn intern_ty(self, ty: TyKind<Self>) -> Self::InternedType
fn intern_ty(self, ty: 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 moresource§fn 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.source§fn 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 moresource§fn 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
.source§fn 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 moresource§fn 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
.source§fn 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.
source§fn intern_generic_arg(
self,
data: GenericArgData<Self>
) -> Self::InternedGenericArg
fn intern_generic_arg(
self,
data: 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 moresource§fn generic_arg_data<'a>(
self,
data: &'a Self::InternedGenericArg
) -> &'a GenericArgData<Self>
fn generic_arg_data<'a>(
self,
data: &'a Self::InternedGenericArg
) -> &'a GenericArgData<Self>
Lookup the
LifetimeData
that was interned to create a InternedLifetime
.source§fn 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 moresource§fn 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
.source§fn 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 moresource§fn goals_data<'a>(self, goals: &'a Self::InternedGoals) -> &'a [Goal<Self>]
fn goals_data<'a>(self, goals: &'a Self::InternedGoals) -> &'a [Goal<Self>]
Lookup the
GoalsData
that was interned to create a InternedGoals
.source§fn intern_substitution<E>(
self,
data: impl IntoIterator<Item = Result<GenericArg<Self>, E>>
) -> Result<Self::InternedSubstitution, E>
fn intern_substitution<E>(
self,
data: impl IntoIterator<Item = Result<GenericArg<Self>, 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 moresource§fn substitution_data<'a>(
self,
substitution: &'a Self::InternedSubstitution
) -> &'a [GenericArg<Self>]
fn substitution_data<'a>(
self,
substitution: &'a Self::InternedSubstitution
) -> &'a [GenericArg<Self>]
Lookup the
SubstitutionData
that was interned to create a InternedSubstitution
.source§fn 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 moresource§fn 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
.source§fn 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 moresource§fn 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
.source§fn 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 moresource§fn 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 moresource§fn 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 moresource§fn 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>]
source§fn 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 moresource§fn 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 moresource§fn 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 moresource§fn 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>>]
source§fn 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 moresource§fn variances_data<'a>(
self,
variances: &'a Self::InternedVariances
) -> &'a [Variance]
fn variances_data<'a>(
self,
variances: &'a Self::InternedVariances
) -> &'a [Variance]
source§fn debug_adt_id(
adt_id: AdtId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
fn debug_adt_id(
adt_id: AdtId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
Prints the debug representation of a type-kind-id.
Returns
None
to fallback to the default debug output. Read moresource§fn debug_trait_id(
trait_id: TraitId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
fn debug_trait_id(
trait_id: TraitId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
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 moresource§fn debug_assoc_type_id(
type_id: AssocTypeId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
fn debug_assoc_type_id(
type_id: AssocTypeId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
Prints the debug representation of a type-kind-id.
Returns
None
to fallback to the default debug output. Read moresource§fn debug_opaque_ty_id(
opaque_ty_id: OpaqueTyId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
fn debug_opaque_ty_id(
opaque_ty_id: OpaqueTyId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
Prints the debug representation of an opaque type.
Returns
None
to fallback to the default debug output. Read moresource§fn debug_fn_def_id(
fn_def_id: FnDefId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
fn debug_fn_def_id(
fn_def_id: FnDefId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
Prints the debug representation of a function-def-id.
Returns
None
to fallback to the default debug output. Read moresource§fn debug_closure_id(
fn_def_id: ClosureId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
fn debug_closure_id(
fn_def_id: ClosureId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
Prints the debug representation of a closure id.
Returns
None
to fallback to the default debug output. Read moresource§fn 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 moresource§fn 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 moresource§fn debug_lifetime(
lifetime: &Lifetime<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
fn debug_lifetime(
lifetime: &Lifetime<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
Prints the debug representation of a lifetime.
Returns
None
to fallback to the default debug output. Read moresource§fn debug_const(
constant: &Const<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
fn debug_const(
constant: &Const<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
Prints the debug representation of a const.
Returns
None
to fallback to the default debug output. Read moresource§fn debug_generic_arg(
generic_arg: &GenericArg<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
fn debug_generic_arg(
generic_arg: &GenericArg<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
Prints the debug representation of an parameter.
Returns
None
to fallback to the default debug output. Read moresource§fn debug_variable_kinds(
variable_kinds: &VariableKinds<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
fn debug_variable_kinds(
variable_kinds: &VariableKinds<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
Prints the debug representation of a parameter kinds list.
Returns
None
to fallback to the default debug output. Read moresource§fn debug_variable_kinds_with_angles(
variable_kinds: &VariableKinds<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
fn debug_variable_kinds_with_angles(
variable_kinds: &VariableKinds<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
Prints the debug representation of a parameter kinds list, with angle brackets.
Returns
None
to fallback to the default debug output. Read moresource§fn debug_canonical_var_kinds(
canonical_var_kinds: &CanonicalVarKinds<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
fn debug_canonical_var_kinds(
canonical_var_kinds: &CanonicalVarKinds<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
Prints the debug representation of an parameter kinds list with universe index.
Returns
None
to fallback to the default debug output. Read moresource§fn debug_goal(
goal: &Goal<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
fn debug_goal(
goal: &Goal<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
Prints the debug representation of an goal.
Returns
None
to fallback to the default debug output. Read moresource§fn debug_goals(
goals: &Goals<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
fn debug_goals(
goals: &Goals<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
Prints the debug representation of a list of goals.
Returns
None
to fallback to the default debug output. Read moresource§fn debug_program_clause(
clause: &ProgramClause<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
fn debug_program_clause(
clause: &ProgramClause<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
Prints the debug representation of a ProgramClause.
Returns
None
to fallback to the default debug output. Read moresource§fn debug_program_clauses(
clauses: &ProgramClauses<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
fn debug_program_clauses(
clauses: &ProgramClauses<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
Prints the debug representation of a ProgramClauses.
Returns
None
to fallback to the default debug output. Read moresource§fn debug_constraints(
clauses: &Constraints<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
fn debug_constraints(
clauses: &Constraints<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
Prints the debug representation of a Constraints.
Returns
None
to fallback to the default debug output. Read moresource§impl<'tcx> Ord for RustInterner<'tcx>
impl<'tcx> Ord for RustInterner<'tcx>
We don’t ever actually need this. It’s only required for derives.
source§impl<'tcx> PartialEq<RustInterner<'tcx>> for RustInterner<'tcx>
impl<'tcx> PartialEq<RustInterner<'tcx>> for RustInterner<'tcx>
We don’t ever actually need this. It’s only required for derives.
source§impl<'tcx> PartialOrd<RustInterner<'tcx>> for RustInterner<'tcx>
impl<'tcx> PartialOrd<RustInterner<'tcx>> for RustInterner<'tcx>
We don’t ever actually need this. It’s only required for derives.
1.0.0 · source§fn 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 moreimpl<'tcx> Copy for RustInterner<'tcx>
impl<'tcx> Eq for RustInterner<'tcx>
We don’t ever actually need this. It’s only required for derives.
Auto Trait Implementations§
impl<'tcx> !RefUnwindSafe for RustInterner<'tcx>
impl<'tcx> !Send for RustInterner<'tcx>
impl<'tcx> !Sync for RustInterner<'tcx>
impl<'tcx> Unpin for RustInterner<'tcx>
impl<'tcx> !UnwindSafe for RustInterner<'tcx>
Blanket Implementations§
source§impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut T
fn allocate_from_iter<'a>(
arena: &'a Arena<'tcx>,
iter: impl IntoIterator<Item = T>
) -> &'a mut [T] ⓘ
source§impl<T, R> InternIteratorElement<T, R> for T
impl<T, R> InternIteratorElement<T, R> for T
type Output = R
fn intern_with<I, F>(iter: I, f: F) -> <T as InternIteratorElement<T, R>>::Outputwhere
I: Iterator<Item = T>,
F: FnOnce(&[T]) -> R,
source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
source§impl<'tcx, T> ToPredicate<'tcx, T> for T
impl<'tcx, T> ToPredicate<'tcx, T> for T
fn to_predicate(self, _tcx: TyCtxt<'tcx>) -> T
source§impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
default fn from_cycle_error(tcx: Tcx, _: &[QueryInfo]) -> T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 8 bytes