[−][src]Enum rustc_middle::ty::fast_reject::SimplifiedTypeGen
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)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]
pub fn map_def<U, F>(self, map: F) -> SimplifiedTypeGen<U> where
F: Fn(D) -> U,
U: Copy + Debug + Ord + Eq, [src]
F: Fn(D) -> U,
U: Copy + Debug + Ord + Eq,
Trait Implementations
impl<D: Clone> Clone for SimplifiedTypeGen<D> where
D: Copy + Debug + Ord + Eq, [src]
D: Copy + Debug + Ord + Eq,
fn clone(&self) -> SimplifiedTypeGen<D>[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
impl<D: Copy> Copy for SimplifiedTypeGen<D> where
D: Copy + Debug + Ord + Eq, [src]
D: Copy + Debug + Ord + Eq,
impl<D: Debug> Debug for SimplifiedTypeGen<D> where
D: Copy + Debug + Ord + Eq, [src]
D: Copy + Debug + Ord + Eq,
impl<'tcx, D, __D: TyDecoder<'tcx>> Decodable<__D> for SimplifiedTypeGen<D> where
D: Copy + Debug + Ord + Eq,
D: Decodable<__D>, [src]
D: Copy + Debug + Ord + Eq,
D: Decodable<__D>,
impl<'tcx, D, __E: TyEncoder<'tcx>> Encodable<__E> for SimplifiedTypeGen<D> where
D: Copy + Debug + Ord + Eq,
D: Encodable<__E>, [src]
D: Copy + Debug + Ord + Eq,
D: Encodable<__E>,
impl<D: Eq> Eq for SimplifiedTypeGen<D> where
D: Copy + Debug + Ord + Eq, [src]
D: Copy + Debug + Ord + Eq,
impl<D: Hash> Hash for SimplifiedTypeGen<D> where
D: Copy + Debug + Ord + Eq, [src]
D: Copy + Debug + Ord + Eq,
fn hash<__H: Hasher>(&self, state: &mut __H)[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
H: Hasher,
impl<'a, D> HashStable<StableHashingContext<'a>> for SimplifiedTypeGen<D> where
D: Copy + Debug + Ord + Eq + HashStable<StableHashingContext<'a>>, [src]
D: Copy + Debug + Ord + Eq + HashStable<StableHashingContext<'a>>,
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]
D: Copy + Debug + Ord + Eq,
fn cmp(&self, other: &SimplifiedTypeGen<D>) -> Ordering[src]
#[must_use]fn max(self, other: Self) -> Self1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self[src]
impl<D: PartialEq> PartialEq<SimplifiedTypeGen<D>> for SimplifiedTypeGen<D> where
D: Copy + Debug + Ord + Eq, [src]
D: Copy + Debug + Ord + Eq,
fn eq(&self, other: &SimplifiedTypeGen<D>) -> bool[src]
fn ne(&self, other: &SimplifiedTypeGen<D>) -> bool[src]
impl<D: PartialOrd> PartialOrd<SimplifiedTypeGen<D>> for SimplifiedTypeGen<D> where
D: Copy + Debug + Ord + Eq, [src]
D: Copy + Debug + Ord + Eq,
fn partial_cmp(&self, other: &SimplifiedTypeGen<D>) -> Option<Ordering>[src]
fn lt(&self, other: &SimplifiedTypeGen<D>) -> bool[src]
fn le(&self, other: &SimplifiedTypeGen<D>) -> bool[src]
fn gt(&self, other: &SimplifiedTypeGen<D>) -> bool[src]
fn ge(&self, other: &SimplifiedTypeGen<D>) -> bool[src]
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<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<'tcx, T> ArenaAllocatable<'tcx, ()> for T where
T: Copy, [src]
T: Copy,
fn allocate_on(Self, &'a Arena<'tcx>) -> &'a mut T[src]
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> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<'a, T> Captures<'a> for T where
T: ?Sized, [src]
T: ?Sized,
impl<Ctxt, T> DepNodeParams<Ctxt> for T where
Ctxt: DepContext,
T: HashStable<<Ctxt as DepContext>::StableHashingContext> + Debug, [src]
Ctxt: DepContext,
T: HashStable<<Ctxt as DepContext>::StableHashingContext> + Debug,
default fn can_reconstruct_query_key() -> bool[src]
default fn to_fingerprint(&self, tcx: Ctxt) -> Fingerprint[src]
default fn to_debug_str(&self, Ctxt) -> String[src]
default fn recover(Ctxt, &DepNode<<Ctxt as DepContext>::DepKind>) -> Option<T>[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> MaybeResult<T> for T[src]
type Error = !
fn from(Result<T, <T as MaybeResult<T>>::Error>) -> T[src]
fn to_result(self) -> Result<T, <T as MaybeResult<T>>::Error>[src]
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
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.
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>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.