[−][src]Trait chalk_ir::cast::CastTo
The "helper" trait for cast
that actually implements the
transformations. You can also use this if you want to have
functions that take (e.g.) an impl CastTo<Goal<_>>
or something
like that.
Required methods
Loading content...Implementations on Foreign Types
impl<T, U> CastTo<Option<U>> for Option<T> where
T: CastTo<U>,
U: HasInterner,
[src]
T: CastTo<U>,
U: HasInterner,
impl<T, U, E> CastTo<Result<U, E>> for Result<T, E> where
T: CastTo<U>,
U: HasInterner,
[src]
T: CastTo<U>,
U: HasInterner,
impl<T, U> CastTo<Vec<U, Global>> for Vec<T> where
T: CastTo<U> + HasInterner,
U: HasInterner,
[src]
T: CastTo<U> + HasInterner,
U: HasInterner,
impl<T, '_> CastTo<T> for &'_ T where
T: Clone + HasInterner,
[src]
Loading content...T: Clone + HasInterner,
Implementors
impl<I, T> CastTo<ProgramClause<I>> for Binders<T> where
I: Interner,
T: HasInterner<Interner = I> + CastTo<DomainGoal<I>>,
[src]
I: Interner,
T: HasInterner<Interner = I> + CastTo<DomainGoal<I>>,
pub fn cast_to(self, interner: &I) -> ProgramClause<I>
[src]
impl<I: Interner> CastTo<Constraint<I>> for Constraint<I>
[src]
pub fn cast_to(
self,
_interner: &<Constraint<I> as HasInterner>::Interner
) -> Constraint<I>
[src]
self,
_interner: &<Constraint<I> as HasInterner>::Interner
) -> Constraint<I>
impl<I: Interner> CastTo<DomainGoal<I>> for DomainGoal<I>
[src]
pub fn cast_to(
self,
_interner: &<DomainGoal<I> as HasInterner>::Interner
) -> DomainGoal<I>
[src]
self,
_interner: &<DomainGoal<I> as HasInterner>::Interner
) -> DomainGoal<I>
impl<I: Interner> CastTo<DomainGoal<I>> for FromEnv<I>
[src]
pub fn cast_to(self, _interner: &I) -> DomainGoal<I>
[src]
impl<I: Interner> CastTo<DomainGoal<I>> for WellFormed<I>
[src]
pub fn cast_to(self, _interner: &I) -> DomainGoal<I>
[src]
impl<I: Interner> CastTo<DomainGoal<I>> for Normalize<I>
[src]
pub fn cast_to(self, _interner: &I) -> DomainGoal<I>
[src]
impl<I: Interner> CastTo<LifetimeData<I>> for LifetimeData<I>
[src]
pub fn cast_to(
self,
_interner: &<LifetimeData<I> as HasInterner>::Interner
) -> LifetimeData<I>
[src]
self,
_interner: &<LifetimeData<I> as HasInterner>::Interner
) -> LifetimeData<I>
impl<I: Interner> CastTo<TyKind<I>> for AliasTy<I>
[src]
impl<I: Interner> CastTo<TyKind<I>> for TyKind<I>
[src]
impl<I: Interner> CastTo<VariableKind<I>> for VariableKind<I>
[src]
pub fn cast_to(
self,
_interner: &<VariableKind<I> as HasInterner>::Interner
) -> VariableKind<I>
[src]
self,
_interner: &<VariableKind<I> as HasInterner>::Interner
) -> VariableKind<I>
impl<I: Interner> CastTo<WhereClause<I>> for WhereClause<I>
[src]
pub fn cast_to(
self,
_interner: &<WhereClause<I> as HasInterner>::Interner
) -> WhereClause<I>
[src]
self,
_interner: &<WhereClause<I> as HasInterner>::Interner
) -> WhereClause<I>
impl<I: Interner> CastTo<WhereClause<I>> for AliasEq<I>
[src]
pub fn cast_to(self, _interner: &I) -> WhereClause<I>
[src]
impl<I: Interner> CastTo<WhereClause<I>> for LifetimeOutlives<I>
[src]
pub fn cast_to(self, _interner: &I) -> WhereClause<I>
[src]
impl<I: Interner> CastTo<WhereClause<I>> for TraitRef<I>
[src]
pub fn cast_to(self, _interner: &I) -> WhereClause<I>
[src]
impl<I: Interner> CastTo<Binders<WhereClause<I>>> for QuantifiedWhereClause<I>
[src]
pub fn cast_to(
self,
_interner: &<QuantifiedWhereClause<I> as HasInterner>::Interner
) -> QuantifiedWhereClause<I>
[src]
self,
_interner: &<QuantifiedWhereClause<I> as HasInterner>::Interner
) -> QuantifiedWhereClause<I>
impl<I: Interner> CastTo<CanonicalVarKinds<I>> for CanonicalVarKinds<I>
[src]
pub fn cast_to(
self,
_interner: &<CanonicalVarKinds<I> as HasInterner>::Interner
) -> CanonicalVarKinds<I>
[src]
self,
_interner: &<CanonicalVarKinds<I> as HasInterner>::Interner
) -> CanonicalVarKinds<I>
impl<I: Interner> CastTo<ConstData<I>> for ConstData<I>
[src]
impl<I: Interner> CastTo<GenericArg<I>> for Const<I>
[src]
pub fn cast_to(self, interner: &I) -> GenericArg<I>
[src]
impl<I: Interner> CastTo<GenericArg<I>> for GenericArg<I>
[src]
pub fn cast_to(self, _interner: &I) -> GenericArg<I>
[src]
impl<I: Interner> CastTo<GenericArg<I>> for Lifetime<I>
[src]
pub fn cast_to(self, interner: &I) -> GenericArg<I>
[src]
impl<I: Interner> CastTo<GenericArg<I>> for Ty<I>
[src]
pub fn cast_to(self, interner: &I) -> GenericArg<I>
[src]
impl<I: Interner> CastTo<Goal<I>> for EqGoal<I>
[src]
impl<I: Interner> CastTo<Goal<I>> for Goal<I>
[src]
impl<I: Interner> CastTo<Goal<I>> for SubtypeGoal<I>
[src]
impl<I: Interner> CastTo<ProgramClause<I>> for ProgramClause<I>
[src]
pub fn cast_to(
self,
_interner: &<ProgramClause<I> as HasInterner>::Interner
) -> ProgramClause<I>
[src]
self,
_interner: &<ProgramClause<I> as HasInterner>::Interner
) -> ProgramClause<I>
impl<I: Interner> CastTo<TraitRef<I>> for TraitRef<I>
[src]
impl<I: Interner> CastTo<VariableKinds<I>> for VariableKinds<I>
[src]
pub fn cast_to(
self,
_interner: &<VariableKinds<I> as HasInterner>::Interner
) -> VariableKinds<I>
[src]
self,
_interner: &<VariableKinds<I> as HasInterner>::Interner
) -> VariableKinds<I>
impl<I: Interner> CastTo<WithKind<I, UniverseIndex>> for CanonicalVarKind<I>
[src]
pub fn cast_to(
self,
_interner: &<CanonicalVarKind<I> as HasInterner>::Interner
) -> CanonicalVarKind<I>
[src]
self,
_interner: &<CanonicalVarKind<I> as HasInterner>::Interner
) -> CanonicalVarKind<I>
impl<I: Interner, T: HasInterner<Interner = I> + CastTo<Goal<I>>> CastTo<Goal<I>> for Binders<T>
[src]
impl<T, I> CastTo<DomainGoal<I>> for T where
T: CastTo<WhereClause<I>>,
I: Interner,
[src]
T: CastTo<WhereClause<I>>,
I: Interner,
pub fn cast_to(self, interner: &I) -> DomainGoal<I>
[src]
impl<T, I> CastTo<ProgramClause<I>> for T where
T: CastTo<DomainGoal<I>>,
I: Interner,
[src]
T: CastTo<DomainGoal<I>>,
I: Interner,
pub fn cast_to(self, interner: &I) -> ProgramClause<I>
[src]
impl<T, I: Interner> CastTo<Goal<I>> for T where
T: CastTo<DomainGoal<I>>,
[src]
T: CastTo<DomainGoal<I>>,
impl<T, U> CastTo<Canonical<U>> for Canonical<T> where
T: CastTo<U> + HasInterner,
U: HasInterner<Interner = T::Interner>,
[src]
T: CastTo<U> + HasInterner,
U: HasInterner<Interner = T::Interner>,
impl<T, U, I> CastTo<InEnvironment<U>> for InEnvironment<T> where
T: HasInterner<Interner = I> + CastTo<U>,
U: HasInterner<Interner = I>,
I: Interner,
[src]
T: HasInterner<Interner = I> + CastTo<U>,
U: HasInterner<Interner = I>,
I: Interner,