pub type OpaqueTypeKey<'tcx> = OpaqueTypeKey<TyCtxt<'tcx>>;
Aliased Type§
struct OpaqueTypeKey<'tcx> {
pub def_id: LocalDefId,
pub args: &'tcx RawList<(), GenericArg<'tcx>>,
}
Fields§
§def_id: LocalDefId
§args: &'tcx RawList<(), GenericArg<'tcx>>
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 16 bytes
Implementations
Source§impl<I> OpaqueTypeKey<I>where
I: Interner,
impl<I> OpaqueTypeKey<I>where
I: Interner,
pub fn iter_captured_args( self, cx: I, ) -> impl Iterator<Item = (usize, <I as Interner>::GenericArg)>
pub fn fold_captured_lifetime_args( self, cx: I, f: impl FnMut(<I as Interner>::Region) -> <I as Interner>::Region, ) -> OpaqueTypeKey<I>
Trait Implementations
Source§impl<I> Clone for OpaqueTypeKey<I>where
I: Interner,
impl<I> Clone for OpaqueTypeKey<I>where
I: Interner,
Source§fn clone(&self) -> OpaqueTypeKey<I>
fn clone(&self) -> OpaqueTypeKey<I>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<I> Debug for OpaqueTypeKey<I>where
I: Interner,
impl<I> Debug for OpaqueTypeKey<I>where
I: Interner,
Source§impl<I, __D> Decodable<__D> for OpaqueTypeKey<I>where
I: Interner,
__D: TyDecoder<I = I>,
<I as Interner>::LocalDefId: Decodable<__D>,
<I as Interner>::GenericArgs: Decodable<__D>,
impl<I, __D> Decodable<__D> for OpaqueTypeKey<I>where
I: Interner,
__D: TyDecoder<I = I>,
<I as Interner>::LocalDefId: Decodable<__D>,
<I as Interner>::GenericArgs: Decodable<__D>,
fn decode(__decoder: &mut __D) -> OpaqueTypeKey<I>
Source§impl<I, __E> Encodable<__E> for OpaqueTypeKey<I>where
I: Interner,
__E: TyEncoder<I = I>,
<I as Interner>::LocalDefId: Encodable<__E>,
<I as Interner>::GenericArgs: Encodable<__E>,
impl<I, __E> Encodable<__E> for OpaqueTypeKey<I>where
I: Interner,
__E: TyEncoder<I = I>,
<I as Interner>::LocalDefId: Encodable<__E>,
<I as Interner>::GenericArgs: Encodable<__E>,
Source§impl<I> Hash for OpaqueTypeKey<I>where
I: Interner,
impl<I> Hash for OpaqueTypeKey<I>where
I: Interner,
Source§impl<I, __CTX> HashStable<__CTX> for OpaqueTypeKey<I>where
I: Interner,
<I as Interner>::LocalDefId: HashStable<__CTX>,
<I as Interner>::GenericArgs: HashStable<__CTX>,
impl<I, __CTX> HashStable<__CTX> for OpaqueTypeKey<I>where
I: Interner,
<I as Interner>::LocalDefId: HashStable<__CTX>,
<I as Interner>::GenericArgs: HashStable<__CTX>,
fn hash_stable( &self, __hcx: &mut __CTX, __hasher: &mut StableHasher<SipHasher128>, )
Source§impl<I> PartialEq for OpaqueTypeKey<I>where
I: Interner,
impl<I> PartialEq for OpaqueTypeKey<I>where
I: Interner,
Source§impl<I> TypeFoldable<I> for OpaqueTypeKey<I>where
I: Interner,
<I as Interner>::LocalDefId: TypeFoldable<I>,
<I as Interner>::GenericArgs: TypeFoldable<I>,
impl<I> TypeFoldable<I> for OpaqueTypeKey<I>where
I: Interner,
<I as Interner>::LocalDefId: TypeFoldable<I>,
<I as Interner>::GenericArgs: TypeFoldable<I>,
Source§fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<OpaqueTypeKey<I>, <__F as FallibleTypeFolder<I>>::Error>where
__F: FallibleTypeFolder<I>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<OpaqueTypeKey<I>, <__F as FallibleTypeFolder<I>>::Error>where
__F: FallibleTypeFolder<I>,
Source§fn fold_with<F>(self, folder: &mut F) -> Selfwhere
F: TypeFolder<I>,
fn fold_with<F>(self, folder: &mut F) -> Selfwhere
F: TypeFolder<I>,
A convenient alternative to
try_fold_with
for use with infallible
folders. Do not override this method, to ensure coherence with
try_fold_with
.