Struct ra_ap_hir_ty::Interner [−][src]
Trait Implementations
impl Clone for Interner
[src]
impl Copy for Interner
[src]
impl Debug for Interner
[src]
impl Eq for Interner
[src]
impl HasInterner for Interner
[src]
type Interner = Self
The interner associated with the type.
impl Hash for Interner
[src]
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 Interner for Interner
[src]
type InternedType = Arc<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 = 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 = Arc<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 = ()
“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>
“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>>
“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 = SmallVec<[GenericArg<Self>; 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 = Arc<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 = Arc<[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 InternedVariances = Arc<[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
The core “id” type used for trait-ids and the like.
type InternedAdtId = AdtId
The ID type for ADTs
type Identifier = TypeAliasId
Representation of identifiers.
type FnAbi = ()
Representation of function ABI (e.g. calling convention).
fn debug_adt_id(
type_kind_id: AdtId<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
[src]
type_kind_id: AdtId<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_trait_id(
type_kind_id: TraitId<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
[src]
type_kind_id: TraitId<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_assoc_type_id(
id: AssocTypeId<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
[src]
id: AssocTypeId<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_alias(
alias: &AliasTy<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
[src]
alias: &AliasTy<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_projection_ty(
proj: &ProjectionTy<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
[src]
proj: &ProjectionTy<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_opaque_ty(
opaque_ty: &OpaqueTy<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
[src]
opaque_ty: &OpaqueTy<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_opaque_ty_id(
opaque_ty_id: OpaqueTyId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
[src]
opaque_ty_id: OpaqueTyId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_ty(ty: &Ty<Interner>, fmt: &mut Formatter<'_>) -> Option<Result>
[src]
fn debug_lifetime(
lifetime: &Lifetime<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
[src]
lifetime: &Lifetime<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_generic_arg(
parameter: &GenericArg<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
[src]
parameter: &GenericArg<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_goal(goal: &Goal<Interner>, fmt: &mut Formatter<'_>) -> Option<Result>
[src]
fn debug_goals(
goals: &Goals<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
[src]
goals: &Goals<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_program_clause_implication(
pci: &ProgramClauseImplication<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
[src]
pci: &ProgramClauseImplication<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_substitution(
substitution: &Substitution<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
[src]
substitution: &Substitution<Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_separator_trait_ref(
separator_trait_ref: &SeparatorTraitRef<'_, Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
[src]
separator_trait_ref: &SeparatorTraitRef<'_, Interner>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_fn_def_id(
fn_def_id: FnDefId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
[src]
fn_def_id: FnDefId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_const(
constant: &Const<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
[src]
constant: &Const<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_variable_kinds(
variable_kinds: &VariableKinds<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
[src]
variable_kinds: &VariableKinds<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_variable_kinds_with_angles(
variable_kinds: &VariableKinds<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
[src]
variable_kinds: &VariableKinds<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_canonical_var_kinds(
canonical_var_kinds: &CanonicalVarKinds<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
[src]
canonical_var_kinds: &CanonicalVarKinds<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_program_clause(
clause: &ProgramClause<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
[src]
clause: &ProgramClause<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_program_clauses(
clauses: &ProgramClauses<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
[src]
clauses: &ProgramClauses<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_quantified_where_clauses(
clauses: &QuantifiedWhereClauses<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
[src]
clauses: &QuantifiedWhereClauses<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result>
fn intern_ty(&self, kind: TyKind<Self>) -> Arc<TyData<Self>>
[src]
fn ty_data<'a>(&self, ty: &'a Arc<TyData<Self>>) -> &'a TyData<Self>
[src]
fn intern_lifetime(&self, lifetime: LifetimeData<Self>) -> LifetimeData<Self>
[src]
fn lifetime_data<'a>(
&self,
lifetime: &'a LifetimeData<Self>
) -> &'a LifetimeData<Self>
[src]
&self,
lifetime: &'a LifetimeData<Self>
) -> &'a LifetimeData<Self>
fn intern_const(&self, constant: ConstData<Self>) -> Arc<ConstData<Self>>
[src]
fn const_data<'a>(
&self,
constant: &'a Arc<ConstData<Self>>
) -> &'a ConstData<Self>
[src]
&self,
constant: &'a Arc<ConstData<Self>>
) -> &'a ConstData<Self>
fn const_eq(&self, _ty: &Arc<TyData<Self>>, _c1: &(), _c2: &()) -> bool
[src]
fn intern_generic_arg(
&self,
parameter: GenericArgData<Self>
) -> GenericArgData<Self>
[src]
&self,
parameter: GenericArgData<Self>
) -> GenericArgData<Self>
fn generic_arg_data<'a>(
&self,
parameter: &'a GenericArgData<Self>
) -> &'a GenericArgData<Self>
[src]
&self,
parameter: &'a GenericArgData<Self>
) -> &'a GenericArgData<Self>
fn intern_goal(&self, goal: GoalData<Self>) -> Arc<GoalData<Self>>
[src]
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>
fn goal_data<'a>(&self, goal: &'a Arc<GoalData<Self>>) -> &'a GoalData<Self>
[src]
fn goals_data<'a>(&self, goals: &'a Vec<Goal<Interner>>) -> &'a [Goal<Interner>]
[src]
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>
fn substitution_data<'a>(
&self,
substitution: &'a Self::InternedSubstitution
) -> &'a [GenericArg<Self>]
[src]
&self,
substitution: &'a Self::InternedSubstitution
) -> &'a [GenericArg<Self>]
fn intern_program_clause(
&self,
data: ProgramClauseData<Self>
) -> Arc<ProgramClauseData<Self>>
[src]
&self,
data: ProgramClauseData<Self>
) -> Arc<ProgramClauseData<Self>>
fn program_clause_data<'a>(
&self,
clause: &'a Arc<ProgramClauseData<Self>>
) -> &'a ProgramClauseData<Self>
[src]
&self,
clause: &'a Arc<ProgramClauseData<Self>>
) -> &'a ProgramClauseData<Self>
fn intern_program_clauses<E>(
&self,
data: impl IntoIterator<Item = Result<ProgramClause<Self>, E>>
) -> Result<Arc<[ProgramClause<Self>]>, E>
[src]
&self,
data: impl IntoIterator<Item = Result<ProgramClause<Self>, E>>
) -> Result<Arc<[ProgramClause<Self>]>, E>
fn program_clauses_data<'a>(
&self,
clauses: &'a Arc<[ProgramClause<Self>]>
) -> &'a [ProgramClause<Self>]
[src]
&self,
clauses: &'a Arc<[ProgramClause<Self>]>
) -> &'a [ProgramClause<Self>]
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>
fn quantified_where_clauses_data<'a>(
&self,
clauses: &'a Self::InternedQuantifiedWhereClauses
) -> &'a [QuantifiedWhereClause<Self>]
[src]
&self,
clauses: &'a Self::InternedQuantifiedWhereClauses
) -> &'a [QuantifiedWhereClause<Self>]
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>
fn variable_kinds_data<'a>(
&self,
parameter_kinds: &'a Self::InternedVariableKinds
) -> &'a [VariableKind<Self>]
[src]
&self,
parameter_kinds: &'a Self::InternedVariableKinds
) -> &'a [VariableKind<Self>]
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>
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>]
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>
fn constraints_data<'a>(
&self,
constraints: &'a Self::InternedConstraints
) -> &'a [InEnvironment<Constraint<Self>>]
[src]
&self,
constraints: &'a Self::InternedConstraints
) -> &'a [InEnvironment<Constraint<Self>>]
fn debug_closure_id(
_fn_def_id: ClosureId<Self>,
_fmt: &mut Formatter<'_>
) -> Option<Result>
[src]
_fn_def_id: ClosureId<Self>,
_fmt: &mut Formatter<'_>
) -> Option<Result>
fn debug_constraints(
_clauses: &Constraints<Self>,
_fmt: &mut Formatter<'_>
) -> Option<Result>
[src]
_clauses: &Constraints<Self>,
_fmt: &mut Formatter<'_>
) -> Option<Result>
fn intern_variances<E>(
&self,
data: impl IntoIterator<Item = Result<Variance, E>>
) -> Result<Self::InternedVariances, E>
[src]
&self,
data: impl IntoIterator<Item = Result<Variance, E>>
) -> Result<Self::InternedVariances, E>
fn variances_data<'a>(
&self,
variances: &'a Self::InternedVariances
) -> &'a [Variance]
[src]
&self,
variances: &'a Self::InternedVariances
) -> &'a [Variance]
pub fn debug_foreign_def_id(
foreign_def_id: ForeignDefId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
[src]
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>>
[src]
generator_id: GeneratorId<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
pub fn debug_variances(
variances: &Variances<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
[src]
variances: &Variances<Self>,
fmt: &mut Formatter<'_>
) -> Option<Result<(), Error>>
impl Ord for Interner
[src]
fn cmp(&self, other: &Interner) -> Ordering
[src]
#[must_use]pub fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]
impl PartialEq<Interner> for Interner
[src]
fn eq(&self, other: &Interner) -> bool
[src]
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<Interner> for Interner
[src]
fn partial_cmp(&self, other: &Interner) -> Option<Ordering>
[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl StructuralEq for Interner
[src]
impl StructuralPartialEq for Interner
[src]
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
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Any for T where
T: Any,
T: Any,
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<T> Cast for T
[src]
pub fn cast<U>(self, interner: &<U as HasInterner>::Interner) -> U where
Self: CastTo<U>,
U: HasInterner,
[src]
Self: CastTo<U>,
U: HasInterner,
impl<T> CloneAny for T where
T: Any + Clone,
T: Any + Clone,
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
pub fn equivalent(&self, key: &K) -> bool
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<N> NodeTrait for N where
N: Copy + Ord + Hash,
[src]
N: Copy + Ord + Hash,
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>,