Enum rustc_middle::ty::fast_reject::SimplifiedTypeGen [−][src]
pub enum SimplifiedTypeGen<D> where
D: Copy + Debug + Ord + Eq, {}Show variants
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),
Expand description
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
IntSimplifiedType(IntTy)UintSimplifiedType(UintTy)FloatSimplifiedType(FloatTy)TupleSimplifiedType(usize)Expand description
A trait object, all of whose components are markers
(e.g., dyn Send + Sync).
GeneratorWitnessSimplifiedType(usize)FunctionSimplifiedType(usize)ForeignSimplifiedType(DefId)Implementations
impl<D: Copy + Debug + Ord + Eq> SimplifiedTypeGen<D>[src]
impl<D: Copy + Debug + Ord + Eq> SimplifiedTypeGen<D>[src]Trait Implementations
impl<D: Clone> Clone for SimplifiedTypeGen<D> where
D: Copy + Debug + Ord + Eq, [src]
impl<D: Clone> Clone for SimplifiedTypeGen<D> where
D: Copy + Debug + Ord + Eq, [src]fn clone(&self) -> SimplifiedTypeGen<D>[src]
fn clone(&self) -> SimplifiedTypeGen<D>[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]Performs copy-assignment from source. Read more
impl<'tcx, D, __D: TyDecoder<'tcx>> Decodable<__D> for SimplifiedTypeGen<D> where
D: Copy + Debug + Ord + Eq,
D: Decodable<__D>, [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<'tcx, D, __E: TyEncoder<'tcx>> Encodable<__E> for SimplifiedTypeGen<D> where
D: Copy + Debug + Ord + Eq,
D: Encodable<__E>, [src]impl<'a, D> HashStable<StableHashingContext<'a>> for SimplifiedTypeGen<D> where
D: Copy + Debug + Ord + Eq + HashStable<StableHashingContext<'a>>, [src]
impl<'a, D> HashStable<StableHashingContext<'a>> for SimplifiedTypeGen<D> where
D: Copy + Debug + Ord + Eq + HashStable<StableHashingContext<'a>>, [src]fn hash_stable(
&self,
hcx: &mut StableHashingContext<'a>,
hasher: &mut StableHasher
)[src]
&self,
hcx: &mut StableHashingContext<'a>,
hasher: &mut StableHasher
)
impl<D: Ord> Ord for SimplifiedTypeGen<D> where
D: Copy + Debug + Ord + Eq, [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: PartialEq> PartialEq<SimplifiedTypeGen<D>> for SimplifiedTypeGen<D> where
D: Copy + Debug + Ord + Eq, [src]fn eq(&self, other: &SimplifiedTypeGen<D>) -> bool[src]
fn eq(&self, other: &SimplifiedTypeGen<D>) -> bool[src]This method tests for self and other values to be equal, and is used
by ==. Read more
fn ne(&self, other: &SimplifiedTypeGen<D>) -> bool[src]
fn ne(&self, other: &SimplifiedTypeGen<D>) -> bool[src]This method tests for !=.
impl<D: PartialOrd> PartialOrd<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]fn partial_cmp(&self, other: &SimplifiedTypeGen<D>) -> Option<Ordering>[src]
fn partial_cmp(&self, other: &SimplifiedTypeGen<D>) -> Option<Ordering>[src]This method returns an ordering between self and other values if one exists. Read more
#[must_use]fn lt(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool1.0.0[src]This method tests less than (for self and other) and is used by the < operator. Read more
#[must_use]fn le(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool1.0.0[src]This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
impl<D: Copy> Copy for SimplifiedTypeGen<D> where
D: Copy + Debug + Ord + Eq, [src]
D: Copy + Debug + Ord + Eq,
impl<D: Eq> Eq for SimplifiedTypeGen<D> where
D: Copy + Debug + Ord + Eq, [src]
D: Copy + Debug + Ord + Eq,
impl<D> StructuralEq for SimplifiedTypeGen<D> where
D: Copy + Debug + Ord + Eq, [src]
D: Copy + Debug + Ord + Eq,
impl<D> StructuralPartialEq for SimplifiedTypeGen<D> where
D: Copy + Debug + Ord + Eq, [src]
D: Copy + Debug + Ord + Eq,
Auto Trait Implementations
impl<D> RefUnwindSafe for SimplifiedTypeGen<D> where
D: RefUnwindSafe,
D: RefUnwindSafe,
impl<D> Send for SimplifiedTypeGen<D> where
D: Send,
D: Send,
impl<D> Sync for SimplifiedTypeGen<D> where
D: Sync,
D: Sync,
impl<D> Unpin for SimplifiedTypeGen<D> where
D: Unpin,
D: Unpin,
impl<D> UnwindSafe for SimplifiedTypeGen<D> where
D: UnwindSafe,
D: UnwindSafe,
Blanket Implementations
impl<'tcx, T> ArenaAllocatable<'tcx, ()> for T where
T: Copy, [src]
impl<'tcx, T> ArenaAllocatable<'tcx, ()> for T where
T: Copy, [src]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> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> MaybeResult<T> for T[src]
impl<T> MaybeResult<T> for T[src]impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn to_owned(&self) -> T[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
pub fn clone_into(&self, target: &mut T)[src]🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> WithConstness for T[src]
impl<T> WithConstness for T[src]fn with_constness(self, constness: Constness) -> ConstnessAnd<Self>[src]
fn with_const(self) -> ConstnessAnd<Self>[src]
fn without_const(self) -> ConstnessAnd<Self>[src]
impl<'a, T> Captures<'a> for T where
T: ?Sized, [src]
T: ?Sized,