pub type CanonicalTypeOpNormalizeGoal<'tcx, T> = CanonicalQueryInput<TyCtxt<'tcx>, ParamEnvAnd<'tcx, Normalize<T>>>;
Aliased Type§
struct CanonicalTypeOpNormalizeGoal<'tcx, T> {
pub canonical: Canonical<TyCtxt<'tcx>, ParamEnvAnd<'tcx, Normalize<T>>>,
pub typing_mode: TypingMode<TyCtxt<'tcx>>,
}
Fields§
§canonical: Canonical<TyCtxt<'tcx>, ParamEnvAnd<'tcx, Normalize<T>>>
§typing_mode: TypingMode<TyCtxt<'tcx>>
Layout§
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.
Trait Implementations
Source§impl<I, V> Clone for CanonicalQueryInput<I, V>
impl<I, V> Clone for CanonicalQueryInput<I, V>
Source§fn clone(&self) -> CanonicalQueryInput<I, V>
fn clone(&self) -> CanonicalQueryInput<I, V>
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, V> Debug for CanonicalQueryInput<I, V>
impl<I, V> Debug for CanonicalQueryInput<I, V>
Source§impl<I, V, __D> Decodable<__D> for CanonicalQueryInput<I, V>
impl<I, V, __D> Decodable<__D> for CanonicalQueryInput<I, V>
fn decode(__decoder: &mut __D) -> CanonicalQueryInput<I, V>
Source§impl<I, V, __E> Encodable<__E> for CanonicalQueryInput<I, V>
impl<I, V, __E> Encodable<__E> for CanonicalQueryInput<I, V>
Source§impl<I, V> Hash for CanonicalQueryInput<I, V>
impl<I, V> Hash for CanonicalQueryInput<I, V>
Source§impl<I, V, __CTX> HashStable<__CTX> for CanonicalQueryInput<I, V>
impl<I, V, __CTX> HashStable<__CTX> for CanonicalQueryInput<I, V>
fn hash_stable( &self, __hcx: &mut __CTX, __hasher: &mut StableHasher<SipHasher128>, )
Source§impl<'tcx, T> Key for CanonicalQueryInput<TyCtxt<'tcx>, T>where
T: Clone,
Canonical query goals correspond to abstract trait operations that
are not tied to any crate in particular.
impl<'tcx, T> Key for CanonicalQueryInput<TyCtxt<'tcx>, T>where
T: Clone,
Canonical query goals correspond to abstract trait operations that are not tied to any crate in particular.
type Cache<V> = DefaultCache<CanonicalQueryInput<TyCtxt<'tcx>, T>, V>
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>
Source§fn def_id_for_ty_in_cycle(&self) -> Option<DefId>
fn def_id_for_ty_in_cycle(&self) -> Option<DefId>
Used to detect when ADT def ids are used as keys in a cycle for better error reporting.