pub type ProvidedValue<'tcx> = GenericPredicates<'tcx>;
Expand description

This type alias specifies the type returned from query providers and the type used for decoding. For regular queries this is the declared returned type V, but arena_cache will use <V as Deref>::Target instead.

Aliased Type§

struct ProvidedValue<'tcx> {
    pub parent: Option<DefId>,
    pub predicates: &'tcx [(Clause<'tcx>, Span)],
}

Fields§

§parent: Option<DefId>§predicates: &'tcx [(Clause<'tcx>, Span)]

Implementations§

source§

impl<'tcx> GenericPredicates<'tcx>

source

pub fn instantiate( &self, tcx: TyCtxt<'tcx>, args: GenericArgsRef<'tcx> ) -> InstantiatedPredicates<'tcx>

source

pub fn instantiate_own( &self, tcx: TyCtxt<'tcx>, args: GenericArgsRef<'tcx> ) -> impl Iterator<Item = (Clause<'tcx>, Span)> + DoubleEndedIterator + ExactSizeIterator

source

fn instantiate_into( &self, tcx: TyCtxt<'tcx>, instantiated: &mut InstantiatedPredicates<'tcx>, args: GenericArgsRef<'tcx> )

source

pub fn instantiate_identity( &self, tcx: TyCtxt<'tcx> ) -> InstantiatedPredicates<'tcx>

source

fn instantiate_identity_into( &self, tcx: TyCtxt<'tcx>, instantiated: &mut InstantiatedPredicates<'tcx> )

Trait Implementations§

source§

impl<'tcx> Clone for GenericPredicates<'tcx>

source§

fn clone(&self) -> GenericPredicates<'tcx>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'tcx> Debug for GenericPredicates<'tcx>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'tcx, __D: TyDecoder<I = TyCtxt<'tcx>>> Decodable<__D> for GenericPredicates<'tcx>

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<'tcx> Default for GenericPredicates<'tcx>

source§

fn default() -> GenericPredicates<'tcx>

Returns the “default value” for a type. Read more
source§

impl<'tcx, __E: TyEncoder<I = TyCtxt<'tcx>>> Encodable<__E> for GenericPredicates<'tcx>

source§

fn encode(&self, __encoder: &mut __E)

source§

impl<'tcx> EraseType for GenericPredicates<'tcx>

§

type Result = [u8; 24]

source§

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for GenericPredicates<'tcx>

source§

fn hash_stable( &self, __hcx: &mut StableHashingContext<'__ctx>, __hasher: &mut StableHasher )

source§

impl ParameterizedOverTcx for GenericPredicates<'static>

§

type Value<'tcx> = GenericPredicates<'tcx>

source§

impl<'tcx> Copy for GenericPredicates<'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:24 bytes