[−][src]Struct rustc_infer::infer::canonical::OriginalQueryValues
When we canonicalize a value to form a query, we wind up replacing various parts of it with canonical variables. This struct stores those replaced bits to remember for when we process the query result.
Fields
universe_map: SmallVec<[UniverseIndex; 4]>Map from the universes that appear in the query to the universes in the caller context. For the time being, we only ever put ROOT values into the query, so this map is very simple.
var_values: SmallVec<[GenericArg<'tcx>; 8]>This is equivalent to CanonicalVarValues, but using a
SmallVec yields a significant performance win.
Trait Implementations
impl<'tcx> Clone for OriginalQueryValues<'tcx>[src]
fn clone(&self) -> OriginalQueryValues<'tcx>[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
impl<'tcx> Debug for OriginalQueryValues<'tcx>[src]
impl<'tcx> Default for OriginalQueryValues<'tcx>[src]
fn default() -> OriginalQueryValues<'tcx>[src]
Auto Trait Implementations
impl<'tcx> !RefUnwindSafe for OriginalQueryValues<'tcx>
impl<'tcx> !Send for OriginalQueryValues<'tcx>
impl<'tcx> !Sync for OriginalQueryValues<'tcx>
impl<'tcx> Unpin for OriginalQueryValues<'tcx>
impl<'tcx> !UnwindSafe for OriginalQueryValues<'tcx>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<'a, T> Captures<'a> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.