[−][src]Struct rustc_middle::traits::chalk::RustInterner
Fields
tcx: TyCtxt<'tcx>Trait Implementations
impl<'tcx> Clone for RustInterner<'tcx>[src]
pub fn clone(&self) -> RustInterner<'tcx>[src]
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
impl<'tcx> Copy for RustInterner<'tcx>[src]
impl<'_> Debug for RustInterner<'_>[src]
impl<'tcx> Eq for RustInterner<'tcx>[src]
We don't ever actually need this. It's only required for derives.
impl<'tcx> HasInterner for RustInterner<'tcx>[src]
type Interner = Self
The interner associated with the type.
impl<'tcx> Hash for RustInterner<'tcx>[src]
We don't ever actually need this. It's only required for derives.
pub fn hash<H: Hasher>(&self, _state: &mut H)[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
H: Hasher,
impl<'tcx> Interner for RustInterner<'tcx>[src]
type InternedType = Box<TyData<Self>>
"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<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 = Box<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 = ConstValue<'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<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 = Box<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>>
"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<Self>>
"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<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 = 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 = 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 = Vec<VariableKind<Self>>
"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<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>>>
"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 DefId = DefId
The core "id" type used for trait-ids and the like.
type InternedAdtId = &'tcx AdtDef
The ID type for ADTs
type Identifier = ()
Representation of identifiers.
type FnAbi = Abi
Representation of function ABI (e.g. calling convention).
pub fn debug_program_clause_implication(
pci: &ProgramClauseImplication<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>[src]
pci: &ProgramClauseImplication<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
pub fn debug_substitution(
substitution: &Substitution<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>[src]
substitution: &Substitution<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
pub fn debug_separator_trait_ref(
separator_trait_ref: &SeparatorTraitRef<'_, Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>[src]
separator_trait_ref: &SeparatorTraitRef<'_, Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
pub fn debug_quantified_where_clauses(
clauses: &QuantifiedWhereClauses<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>[src]
clauses: &QuantifiedWhereClauses<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
pub fn debug_ty(ty: &Ty<Self>, fmt: &mut Formatter<'_>) -> Option<Result>[src]
pub fn debug_alias(
alias_ty: &AliasTy<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>[src]
alias_ty: &AliasTy<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
pub fn debug_projection_ty(
projection_ty: &ProjectionTy<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>[src]
projection_ty: &ProjectionTy<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
pub fn debug_opaque_ty(
opaque_ty: &OpaqueTy<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>[src]
opaque_ty: &OpaqueTy<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
pub fn intern_ty(&self, ty: TyData<Self>) -> Self::InternedType[src]
pub fn ty_data<'a>(&self, ty: &'a Self::InternedType) -> &'a TyData<Self>[src]
pub fn intern_lifetime(
&self,
lifetime: LifetimeData<Self>
) -> Self::InternedLifetime[src]
&self,
lifetime: LifetimeData<Self>
) -> Self::InternedLifetime
pub fn lifetime_data<'a>(
&self,
lifetime: &'a Self::InternedLifetime
) -> &'a LifetimeData<Self>[src]
&self,
lifetime: &'a Self::InternedLifetime
) -> &'a LifetimeData<Self>
pub fn intern_const(&self, constant: ConstData<Self>) -> Self::InternedConst[src]
pub fn const_data<'a>(
&self,
constant: &'a Self::InternedConst
) -> &'a ConstData<Self>[src]
&self,
constant: &'a Self::InternedConst
) -> &'a ConstData<Self>
pub fn const_eq(
&self,
_ty: &Self::InternedType,
c1: &Self::InternedConcreteConst,
c2: &Self::InternedConcreteConst
) -> bool[src]
&self,
_ty: &Self::InternedType,
c1: &Self::InternedConcreteConst,
c2: &Self::InternedConcreteConst
) -> bool
pub fn intern_generic_arg(
&self,
data: GenericArgData<Self>
) -> Self::InternedGenericArg[src]
&self,
data: GenericArgData<Self>
) -> Self::InternedGenericArg
pub fn generic_arg_data<'a>(
&self,
data: &'a Self::InternedGenericArg
) -> &'a GenericArgData<Self>[src]
&self,
data: &'a Self::InternedGenericArg
) -> &'a GenericArgData<Self>
pub fn intern_goal(&self, goal: GoalData<Self>) -> Self::InternedGoal[src]
pub fn goal_data<'a>(&self, goal: &'a Self::InternedGoal) -> &'a GoalData<Self>[src]
pub fn intern_goals<E>(
&self,
data: impl IntoIterator<Item = Result<Goal<Self>, E>>
) -> Result<Self::InternedGoals, E>[src]
&self,
data: impl IntoIterator<Item = Result<Goal<Self>, E>>
) -> Result<Self::InternedGoals, E>
pub fn goals_data<'a>(&self, goals: &'a Self::InternedGoals) -> &'a [Goal<Self>][src]
pub fn intern_substitution<E>(
&self,
data: impl IntoIterator<Item = Result<GenericArg<Self>, E>>
) -> Result<Self::InternedSubstitution, E>[src]
&self,
data: impl IntoIterator<Item = Result<GenericArg<Self>, E>>
) -> Result<Self::InternedSubstitution, E>
pub fn substitution_data<'a>(
&self,
substitution: &'a Self::InternedSubstitution
) -> &'a [GenericArg<Self>][src]
&self,
substitution: &'a Self::InternedSubstitution
) -> &'a [GenericArg<Self>]
pub fn intern_program_clause(
&self,
data: ProgramClauseData<Self>
) -> Self::InternedProgramClause[src]
&self,
data: ProgramClauseData<Self>
) -> Self::InternedProgramClause
pub fn program_clause_data<'a>(
&self,
clause: &'a Self::InternedProgramClause
) -> &'a ProgramClauseData<Self>[src]
&self,
clause: &'a Self::InternedProgramClause
) -> &'a ProgramClauseData<Self>
pub fn intern_program_clauses<E>(
&self,
data: impl IntoIterator<Item = Result<ProgramClause<Self>, E>>
) -> Result<Self::InternedProgramClauses, E>[src]
&self,
data: impl IntoIterator<Item = Result<ProgramClause<Self>, E>>
) -> Result<Self::InternedProgramClauses, E>
pub fn program_clauses_data<'a>(
&self,
clauses: &'a Self::InternedProgramClauses
) -> &'a [ProgramClause<Self>][src]
&self,
clauses: &'a Self::InternedProgramClauses
) -> &'a [ProgramClause<Self>]
pub fn intern_quantified_where_clauses<E>(
&self,
data: impl IntoIterator<Item = Result<QuantifiedWhereClause<Self>, E>>
) -> Result<Self::InternedQuantifiedWhereClauses, E>[src]
&self,
data: impl IntoIterator<Item = Result<QuantifiedWhereClause<Self>, E>>
) -> Result<Self::InternedQuantifiedWhereClauses, E>
pub fn quantified_where_clauses_data<'a>(
&self,
clauses: &'a Self::InternedQuantifiedWhereClauses
) -> &'a [QuantifiedWhereClause<Self>][src]
&self,
clauses: &'a Self::InternedQuantifiedWhereClauses
) -> &'a [QuantifiedWhereClause<Self>]
pub fn intern_generic_arg_kinds<E>(
&self,
data: impl IntoIterator<Item = Result<VariableKind<Self>, E>>
) -> Result<Self::InternedVariableKinds, E>[src]
&self,
data: impl IntoIterator<Item = Result<VariableKind<Self>, E>>
) -> Result<Self::InternedVariableKinds, E>
pub fn variable_kinds_data<'a>(
&self,
parameter_kinds: &'a Self::InternedVariableKinds
) -> &'a [VariableKind<Self>][src]
&self,
parameter_kinds: &'a Self::InternedVariableKinds
) -> &'a [VariableKind<Self>]
pub fn intern_canonical_var_kinds<E>(
&self,
data: impl IntoIterator<Item = Result<CanonicalVarKind<Self>, E>>
) -> Result<Self::InternedCanonicalVarKinds, E>[src]
&self,
data: impl IntoIterator<Item = Result<CanonicalVarKind<Self>, E>>
) -> Result<Self::InternedCanonicalVarKinds, E>
pub fn canonical_var_kinds_data<'a>(
&self,
canonical_var_kinds: &'a Self::InternedCanonicalVarKinds
) -> &'a [CanonicalVarKind<Self>][src]
&self,
canonical_var_kinds: &'a Self::InternedCanonicalVarKinds
) -> &'a [CanonicalVarKind<Self>]
pub fn intern_constraints<E>(
&self,
data: impl IntoIterator<Item = Result<InEnvironment<Constraint<Self>>, E>>
) -> Result<Self::InternedConstraints, E>[src]
&self,
data: impl IntoIterator<Item = Result<InEnvironment<Constraint<Self>>, E>>
) -> Result<Self::InternedConstraints, E>
pub fn constraints_data<'a>(
&self,
constraints: &'a Self::InternedConstraints
) -> &'a [InEnvironment<Constraint<Self>>][src]
&self,
constraints: &'a Self::InternedConstraints
) -> &'a [InEnvironment<Constraint<Self>>]
pub fn debug_adt_id(
adt_id: AdtId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
adt_id: AdtId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
pub fn debug_trait_id(
trait_id: TraitId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
trait_id: TraitId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
pub fn debug_assoc_type_id(
type_id: AssocTypeId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
type_id: AssocTypeId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
pub fn debug_opaque_ty_id(
opaque_ty_id: OpaqueTyId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
opaque_ty_id: OpaqueTyId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
pub fn debug_fn_def_id(
fn_def_id: FnDefId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
fn_def_id: FnDefId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
pub fn debug_closure_id(
fn_def_id: ClosureId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
fn_def_id: ClosureId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
pub fn debug_foreign_def_id(
foreign_def_id: ForeignDefId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
foreign_def_id: ForeignDefId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
pub fn debug_generator_id(
generator_id: GeneratorId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
generator_id: GeneratorId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
pub fn debug_lifetime(
lifetime: &Lifetime<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
lifetime: &Lifetime<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
pub fn debug_const(
constant: &Const<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
constant: &Const<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
pub fn debug_generic_arg(
generic_arg: &GenericArg<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
generic_arg: &GenericArg<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
pub fn debug_variable_kinds(
variable_kinds: &VariableKinds<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
variable_kinds: &VariableKinds<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
pub fn debug_variable_kinds_with_angles(
variable_kinds: &VariableKinds<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
variable_kinds: &VariableKinds<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
pub fn debug_canonical_var_kinds(
canonical_var_kinds: &CanonicalVarKinds<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
canonical_var_kinds: &CanonicalVarKinds<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
pub fn debug_goal(
goal: &Goal<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
goal: &Goal<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
pub fn debug_goals(
goals: &Goals<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
goals: &Goals<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
pub fn debug_program_clause(
clause: &ProgramClause<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
clause: &ProgramClause<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
pub fn debug_program_clauses(
clauses: &ProgramClauses<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
clauses: &ProgramClauses<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
pub fn debug_constraints(
clauses: &Constraints<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
clauses: &Constraints<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
impl<'tcx> Ord for RustInterner<'tcx>[src]
We don't ever actually need this. It's only required for derives.
pub fn cmp(&self, _other: &Self) -> Ordering[src]
#[must_use]pub fn max(self, other: Self) -> Self1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self[src]
impl<'tcx> PartialEq<RustInterner<'tcx>> for RustInterner<'tcx>[src]
We don't ever actually need this. It's only required for derives.
pub fn eq(&self, _other: &Self) -> bool[src]
#[must_use]pub fn ne(&self, other: &Rhs) -> bool1.0.0[src]
impl<'tcx> PartialOrd<RustInterner<'tcx>> for RustInterner<'tcx>[src]
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
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<'tcx, T> ArenaAllocatable<'tcx, ()> for T where
T: Copy, [src]
T: Copy,
pub fn allocate_on(Self, &'a Arena<'tcx>) -> &'a mut T[src]
pub fn allocate_from_iter(
&'a Arena<'tcx>,
impl IntoIterator<Item = T>
) -> &'a mut [T][src]
&'a Arena<'tcx>,
impl IntoIterator<Item = T>
) -> &'a mut [T]
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<'a, T> Captures<'a> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> MaybeResult<T> for T[src]
type Error = !
pub fn from(Result<T, <T as MaybeResult<T>>::Error>) -> T[src]
pub fn to_result(self) -> Result<T, <T as MaybeResult<T>>::Error>[src]
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.