pub type CanonicalVarValues<'tcx> = CanonicalVarValues<TyCtxt<'tcx>>;
Aliased Type§
struct CanonicalVarValues<'tcx> {
pub var_values: &'tcx RawList<(), GenericArg<'tcx>>,
}
Fields§
§var_values: &'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: 8 bytes
Implementations
§impl<I> CanonicalVarValues<I>where
I: Interner,
impl<I> CanonicalVarValues<I>where
I: Interner,
pub fn is_identity(&self) -> bool
pub fn is_identity_modulo_regions(&self) -> bool
pub fn make_identity( cx: I, infos: <I as Interner>::CanonicalVars, ) -> CanonicalVarValues<I>
pub fn dummy() -> CanonicalVarValues<I>
pub fn dummy() -> CanonicalVarValues<I>
Creates dummy var values which should not be used in a canonical response.
pub fn len(&self) -> usize
Trait Implementations
§impl<I> Clone for CanonicalVarValues<I>where
I: Interner,
impl<I> Clone for CanonicalVarValues<I>where
I: Interner,
§fn clone(&self) -> CanonicalVarValues<I>
fn clone(&self) -> CanonicalVarValues<I>
Returns a copy of the value. Read more
Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more§impl<I> Debug for CanonicalVarValues<I>where
I: Interner,
impl<I> Debug for CanonicalVarValues<I>where
I: Interner,
§impl<I, __D> Decodable<__D> for CanonicalVarValues<I>
impl<I, __D> Decodable<__D> for CanonicalVarValues<I>
fn decode(__decoder: &mut __D) -> CanonicalVarValues<I>
§impl<I, __E> Encodable<__E> for CanonicalVarValues<I>
impl<I, __E> Encodable<__E> for CanonicalVarValues<I>
§impl<I> Hash for CanonicalVarValues<I>where
I: Interner,
impl<I> Hash for CanonicalVarValues<I>where
I: Interner,
§impl<I, __CTX> HashStable<__CTX> for CanonicalVarValues<I>
impl<I, __CTX> HashStable<__CTX> for CanonicalVarValues<I>
fn hash_stable( &self, __hcx: &mut __CTX, __hasher: &mut StableHasher<SipHasher128>, )
§impl<I> Index<BoundVar> for CanonicalVarValues<I>where
I: Interner,
impl<I> Index<BoundVar> for CanonicalVarValues<I>where
I: Interner,
§type Output = <I as Interner>::GenericArg
type Output = <I as Interner>::GenericArg
The returned type after indexing.
§impl<I, J> Lift<J> for CanonicalVarValues<I>where
I: Interner,
J: Interner,
<I as Interner>::GenericArgs: Lift<J, Lifted = <J as Interner>::GenericArgs>,
impl<I, J> Lift<J> for CanonicalVarValues<I>where
I: Interner,
J: Interner,
<I as Interner>::GenericArgs: Lift<J, Lifted = <J as Interner>::GenericArgs>,
type Lifted = CanonicalVarValues<J>
fn lift_to_interner(self, interner: J) -> Option<CanonicalVarValues<J>>
§impl<I> PartialEq for CanonicalVarValues<I>where
I: Interner,
impl<I> PartialEq for CanonicalVarValues<I>where
I: Interner,
§impl<I> TypeFoldable<I> for CanonicalVarValues<I>
impl<I> TypeFoldable<I> for CanonicalVarValues<I>
§fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<CanonicalVarValues<I>, <__F as FallibleTypeFolder<I>>::Error>where
__F: FallibleTypeFolder<I>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<CanonicalVarValues<I>, <__F as FallibleTypeFolder<I>>::Error>where
__F: FallibleTypeFolder<I>,
§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
.