Type Alias rustc_middle::query::queries::has_significant_drop_raw::Key
source · pub type Key<'tcx> = ParamEnvAnd<'tcx, Ty<'tcx>>;Aliased Type§
struct Key<'tcx> {
pub param_env: ParamEnv<'tcx>,
pub value: Ty<'tcx>,
}Fields§
§param_env: ParamEnv<'tcx>§value: Ty<'tcx>Implementations§
source§impl<'tcx, T> ParamEnvAnd<'tcx, T>
impl<'tcx, T> ParamEnvAnd<'tcx, T>
pub fn into_parts(self) -> (ParamEnv<'tcx>, T)
Trait Implementations§
source§impl<'tcx, T: Clone> Clone for ParamEnvAnd<'tcx, T>
impl<'tcx, T: Clone> Clone for ParamEnvAnd<'tcx, T>
source§fn clone(&self) -> ParamEnvAnd<'tcx, T>
fn clone(&self) -> ParamEnvAnd<'tcx, T>
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<'tcx, T: Debug> Debug for ParamEnvAnd<'tcx, T>
impl<'tcx, T: Debug> Debug for ParamEnvAnd<'tcx, T>
source§impl<'tcx, T: Hash> Hash for ParamEnvAnd<'tcx, T>
impl<'tcx, T: Hash> Hash for ParamEnvAnd<'tcx, T>
source§impl<'tcx, '__ctx, T> HashStable<StableHashingContext<'__ctx>> for ParamEnvAnd<'tcx, T>where
T: HashStable<StableHashingContext<'__ctx>>,
impl<'tcx, '__ctx, T> HashStable<StableHashingContext<'__ctx>> for ParamEnvAnd<'tcx, T>where T: HashStable<StableHashingContext<'__ctx>>,
fn hash_stable( &self, __hcx: &mut StableHashingContext<'__ctx>, __hasher: &mut StableHasher )
source§impl<'tcx, T: Key> Key for ParamEnvAnd<'tcx, T>
impl<'tcx, T: Key> Key for ParamEnvAnd<'tcx, T>
type CacheSelector = DefaultCacheSelector<ParamEnvAnd<'tcx, T>>
source§fn default_span(&self, tcx: TyCtxt<'_>) -> Span
fn default_span(&self, tcx: TyCtxt<'_>) -> Span
In the event that a cycle occurs, if no explicit span has been
given for a query with key
self, what span should we use?source§fn key_as_def_id(&self) -> Option<DefId>
fn key_as_def_id(&self) -> Option<DefId>
fn ty_adt_id(&self) -> Option<DefId>
source§impl<'tcx, T: PartialEq> PartialEq<ParamEnvAnd<'tcx, T>> for ParamEnvAnd<'tcx, T>
impl<'tcx, T: PartialEq> PartialEq<ParamEnvAnd<'tcx, T>> for ParamEnvAnd<'tcx, T>
source§fn eq(&self, other: &ParamEnvAnd<'tcx, T>) -> bool
fn eq(&self, other: &ParamEnvAnd<'tcx, T>) -> bool
This method tests for
self and other values to be equal, and is used
by ==.source§impl<'tcx, T> TypeFoldable<TyCtxt<'tcx>> for ParamEnvAnd<'tcx, T>where
T: TypeFoldable<TyCtxt<'tcx>>,
impl<'tcx, T> TypeFoldable<TyCtxt<'tcx>> for ParamEnvAnd<'tcx, T>where T: TypeFoldable<TyCtxt<'tcx>>,
source§fn try_fold_with<__F: FallibleTypeFolder<TyCtxt<'tcx>>>(
self,
__folder: &mut __F
) -> Result<Self, __F::Error>
fn try_fold_with<__F: FallibleTypeFolder<TyCtxt<'tcx>>>( self, __folder: &mut __F ) -> Result<Self, __F::Error>
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.source§impl<'tcx, T> TypeVisitable<TyCtxt<'tcx>> for ParamEnvAnd<'tcx, T>where
T: TypeVisitable<TyCtxt<'tcx>>,
impl<'tcx, T> TypeVisitable<TyCtxt<'tcx>> for ParamEnvAnd<'tcx, T>where T: TypeVisitable<TyCtxt<'tcx>>,
source§fn visit_with<__V: TypeVisitor<TyCtxt<'tcx>>>(
&self,
__visitor: &mut __V
) -> ControlFlow<__V::BreakTy>
fn visit_with<__V: TypeVisitor<TyCtxt<'tcx>>>( &self, __visitor: &mut __V ) -> ControlFlow<__V::BreakTy>
impl<'tcx, T: Copy> Copy for ParamEnvAnd<'tcx, T>
impl<'tcx, T: Eq> Eq for ParamEnvAnd<'tcx, T>
impl<'tcx, T> StructuralEq for ParamEnvAnd<'tcx, T>
impl<'tcx, T> StructuralPartialEq for ParamEnvAnd<'tcx, T>
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