[−][src]Enum rustc_middle::ty::fast_reject::SimplifiedTypeGen

pub enum SimplifiedTypeGen<D> where
    D: Copy + Debug + Ord + Eq, 
{ BoolSimplifiedType, CharSimplifiedType, IntSimplifiedType(IntTy), UintSimplifiedType(UintTy), FloatSimplifiedType(FloatTy), AdtSimplifiedType(D), StrSimplifiedType, ArraySimplifiedType, PtrSimplifiedType, NeverSimplifiedType, TupleSimplifiedType(usize), MarkerTraitObjectSimplifiedType, TraitSimplifiedType(D), ClosureSimplifiedType(D), GeneratorSimplifiedType(D), GeneratorWitnessSimplifiedType(usize), OpaqueSimplifiedType(D), FunctionSimplifiedType(usize), ParameterSimplifiedType, ForeignSimplifiedType(DefId), }

See simplify_type

Note that we keep this type generic over the type of identifier it uses because we sometimes need to use SimplifiedTypeGen values as stable sorting keys (in which case we use a DefPathHash as id-type) but in the general case the non-stable but fast to construct DefId-version is the better choice.

Variants

BoolSimplifiedType
CharSimplifiedType
IntSimplifiedType(IntTy)
UintSimplifiedType(UintTy)
FloatSimplifiedType(FloatTy)
AdtSimplifiedType(D)
StrSimplifiedType
ArraySimplifiedType
PtrSimplifiedType
NeverSimplifiedType
TupleSimplifiedType(usize)
MarkerTraitObjectSimplifiedType

A trait object, all of whose components are markers (e.g., dyn Send + Sync).

TraitSimplifiedType(D)
ClosureSimplifiedType(D)
GeneratorSimplifiedType(D)
GeneratorWitnessSimplifiedType(usize)
OpaqueSimplifiedType(D)
FunctionSimplifiedType(usize)
ParameterSimplifiedType
ForeignSimplifiedType(DefId)

Implementations

impl<D: Copy + Debug + Ord + Eq> SimplifiedTypeGen<D>[src]

pub fn map_def<U, F>(self, map: F) -> SimplifiedTypeGen<U> where
    F: Fn(D) -> U,
    U: Copy + Debug + Ord + Eq, 
[src]

Trait Implementations

impl<D: Clone> Clone for SimplifiedTypeGen<D> where
    D: Copy + Debug + Ord + Eq, 
[src]

impl<D: Copy> Copy for SimplifiedTypeGen<D> where
    D: Copy + Debug + Ord + Eq, 
[src]

impl<D: Debug> Debug for SimplifiedTypeGen<D> where
    D: Copy + Debug + Ord + Eq, 
[src]

impl<'tcx, D, __D: TyDecoder<'tcx>> Decodable<__D> for SimplifiedTypeGen<D> where
    D: Copy + Debug + Ord + Eq,
    D: Decodable<__D>, 
[src]

impl<'tcx, D, __E: TyEncoder<'tcx>> Encodable<__E> for SimplifiedTypeGen<D> where
    D: Copy + Debug + Ord + Eq,
    D: Encodable<__E>, 
[src]

impl<D: Eq> Eq for SimplifiedTypeGen<D> where
    D: Copy + Debug + Ord + Eq, 
[src]

impl<D: Hash> Hash for SimplifiedTypeGen<D> where
    D: Copy + Debug + Ord + Eq, 
[src]

impl<'a, D> HashStable<StableHashingContext<'a>> for SimplifiedTypeGen<D> where
    D: Copy + Debug + Ord + Eq + HashStable<StableHashingContext<'a>>, 
[src]

impl<D: Ord> Ord for SimplifiedTypeGen<D> where
    D: Copy + Debug + Ord + Eq, 
[src]

impl<D: PartialEq> PartialEq<SimplifiedTypeGen<D>> for SimplifiedTypeGen<D> where
    D: Copy + Debug + Ord + Eq, 
[src]

impl<D: PartialOrd> PartialOrd<SimplifiedTypeGen<D>> for SimplifiedTypeGen<D> where
    D: Copy + Debug + Ord + Eq, 
[src]

impl<D> StructuralEq for SimplifiedTypeGen<D> where
    D: Copy + Debug + Ord + Eq, 
[src]

impl<D> StructuralPartialEq for SimplifiedTypeGen<D> where
    D: Copy + Debug + Ord + Eq, 
[src]

Auto Trait Implementations

impl<D> RefUnwindSafe for SimplifiedTypeGen<D> where
    D: RefUnwindSafe, 

impl<D> Send for SimplifiedTypeGen<D> where
    D: Send, 

impl<D> Sync for SimplifiedTypeGen<D> where
    D: Sync, 

impl<D> Unpin for SimplifiedTypeGen<D> where
    D: Unpin, 

impl<D> UnwindSafe for SimplifiedTypeGen<D> where
    D: UnwindSafe, 

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized, 
[src]

impl<'tcx, T> ArenaAllocatable<'tcx, ()> for T where
    T: Copy, 
[src]

impl<T> Borrow<T> for T where
    T: ?Sized, 
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized, 
[src]

impl<'a, T> Captures<'a> for T where
    T: ?Sized, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> MaybeResult<T> for T[src]

type Error = !

impl<T> ToOwned for T where
    T: Clone, 
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> WithConstness for T[src]