rustc_middle::infer::canonical

Type Alias CanonicalQueryInput

source
pub type CanonicalQueryInput<'tcx, V> = CanonicalQueryInput<TyCtxt<'tcx>, V>;

Aliased Type§

struct CanonicalQueryInput<'tcx, V> {
    pub canonical: Canonical<TyCtxt<'tcx>, V>,
    pub defining_opaque_types: &'tcx RawList<(), LocalDefId>,
}

Fields§

§canonical: Canonical<TyCtxt<'tcx>, V>§defining_opaque_types: &'tcx RawList<(), LocalDefId>

Trait Implementations§

source§

impl<'tcx, T: Clone> Key for CanonicalQueryInput<'tcx, T>

Canonical query goals correspond to abstract trait operations that are not tied to any crate in particular.

source§

type Cache<V> = DefaultCache<CanonicalQueryInput<TyCtxt<'tcx>, T>, V>

source§

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>

If the key is a DefId or DefId–equivalent, return that DefId. Otherwise, return None.
source§

fn ty_def_id(&self) -> Option<DefId>

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.