# Trait rustc_middle::ty::UpcastFrom

source ·

    pub trait UpcastFrom<I, T> {
        // Required method
        fn upcast_from(from: T, interner: I) -> Self;
    }

Expand description

A `From`-like trait that takes `TyCtxt` to perform interner-specific transformations.

## Required Methods§

source

#### fn upcast_from(from: T, interner: I) -> Self

## Object Safety§

This trait is not object safe.

## Implementors§

source§

### impl<'tcx> UpcastFrom<TyCtxt<'tcx>, ClauseKind<TyCtxt<'tcx>>> for Clause<'tcx>

source§

### impl<'tcx> UpcastFrom<TyCtxt<'tcx>, ClauseKind<TyCtxt<'tcx>>> for Predicate<'tcx>

source§

### impl<'tcx> UpcastFrom<TyCtxt<'tcx>, PredicateKind<TyCtxt<'tcx>>> for Predicate<'tcx>

source§

### impl<'tcx> UpcastFrom<TyCtxt<'tcx>, Binder<TyCtxt<'tcx>, ClauseKind<TyCtxt<'tcx>>>> for Clause<'tcx>

source§

### impl<'tcx> UpcastFrom<TyCtxt<'tcx>, Binder<TyCtxt<'tcx>, ClauseKind<TyCtxt<'tcx>>>> for Predicate<'tcx>

source§

### impl<'tcx> UpcastFrom<TyCtxt<'tcx>, Binder<TyCtxt<'tcx>, PredicateKind<TyCtxt<'tcx>>>> for Predicate<'tcx>

source§

### impl<'tcx> UpcastFrom<TyCtxt<'tcx>, Binder<TyCtxt<'tcx>, OutlivesPredicate<TyCtxt<'tcx>, Region<'tcx>>>> for Predicate<'tcx>

source§

### impl<'tcx> UpcastFrom<TyCtxt<'tcx>, Binder<TyCtxt<'tcx>, ProjectionPredicate<TyCtxt<'tcx>>>> for Clause<'tcx>

source§

### impl<'tcx> UpcastFrom<TyCtxt<'tcx>, Binder<TyCtxt<'tcx>, ProjectionPredicate<TyCtxt<'tcx>>>> for Predicate<'tcx>

source§

### impl<'tcx> UpcastFrom<TyCtxt<'tcx>, Binder<TyCtxt<'tcx>, TraitPredicate<TyCtxt<'tcx>>>> for Clause<'tcx>

source§

### impl<'tcx> UpcastFrom<TyCtxt<'tcx>, Binder<TyCtxt<'tcx>, TraitPredicate<TyCtxt<'tcx>>>> for Predicate<'tcx>

source§

### impl<'tcx> UpcastFrom<TyCtxt<'tcx>, Binder<TyCtxt<'tcx>, TraitRef<TyCtxt<'tcx>>>> for Clause<'tcx>

source§

### impl<'tcx> UpcastFrom<TyCtxt<'tcx>, Binder<TyCtxt<'tcx>, TraitRef<TyCtxt<'tcx>>>> for Predicate<'tcx>

source§

### impl<'tcx> UpcastFrom<TyCtxt<'tcx>, Binder<TyCtxt<'tcx>, TraitRef<TyCtxt<'tcx>>>> for PolyTraitPredicate<'tcx>

source§

### impl<'tcx> UpcastFrom<TyCtxt<'tcx>, NormalizesTo<TyCtxt<'tcx>>> for Predicate<'tcx>

source§

### impl<'tcx> UpcastFrom<TyCtxt<'tcx>, OutlivesPredicate<TyCtxt<'tcx>, Region<'tcx>>> for Predicate<'tcx>

source§

### impl<'tcx> UpcastFrom<TyCtxt<'tcx>, OutlivesPredicate<TyCtxt<'tcx>, Ty<'tcx>>> for Predicate<'tcx>

source§

### impl<'tcx> UpcastFrom<TyCtxt<'tcx>, ProjectionPredicate<TyCtxt<'tcx>>> for Clause<'tcx>

source§

### impl<'tcx> UpcastFrom<TyCtxt<'tcx>, ProjectionPredicate<TyCtxt<'tcx>>> for Predicate<'tcx>

source§

### impl<'tcx> UpcastFrom<TyCtxt<'tcx>, TraitPredicate<TyCtxt<'tcx>>> for Clause<'tcx>

source§

### impl<'tcx> UpcastFrom<TyCtxt<'tcx>, TraitPredicate<TyCtxt<'tcx>>> for Predicate<'tcx>

source§

### impl<'tcx> UpcastFrom<TyCtxt<'tcx>, TraitRef<TyCtxt<'tcx>>> for Clause<'tcx>

source§

### impl<'tcx> UpcastFrom<TyCtxt<'tcx>, TraitRef<TyCtxt<'tcx>>> for Predicate<'tcx>

source§

### impl<'tcx> UpcastFrom<TyCtxt<'tcx>, Clause<'tcx>> for Predicate<'tcx>

source§

### impl<I> UpcastFrom<I, TraitRef<I>> for TraitPredicate<I>
where I: Interner,

source§

### impl<I, T> UpcastFrom<I, T> for T