pub struct RerunNonErased(());Expand description
A bit like NoSolution, but for functions that normally cannot fail unless they accessed
opaues. (See TypingMode::ErasedNotCoherence). Getting OpaquesAccessed doesn’t mean there
truly is no solution. It just means that we want to bail out of the current query as fast as
possible, possibly by returning NoSolution if that’s fastest. This is okay because when you get
OpaquesAccessed we’re guaranteed that we’re going to retry this query in the original typing
mode to get the correct answer.
Tuple Fields§
§0: ()Trait Implementations§
Source§impl Clone for RerunNonErased
impl Clone for RerunNonErased
Source§fn clone(&self) -> RerunNonErased
fn clone(&self) -> RerunNonErased
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RerunNonErased
impl Debug for RerunNonErased
Source§impl From<RerunNonErased> for NoSolutionOrRerunNonErased
impl From<RerunNonErased> for NoSolutionOrRerunNonErased
Source§fn from(value: RerunNonErased) -> Self
fn from(value: RerunNonErased) -> Self
Source§impl Hash for RerunNonErased
impl Hash for RerunNonErased
Source§impl PartialEq for RerunNonErased
impl PartialEq for RerunNonErased
Source§fn eq(&self, other: &RerunNonErased) -> bool
fn eq(&self, other: &RerunNonErased) -> bool
self and other values to be equal, and is used by ==.Source§impl StableHash for RerunNonErased
impl StableHash for RerunNonErased
fn stable_hash<__Hcx: StableHashCtxt>( &self, __hcx: &mut __Hcx, __hasher: &mut StableHasher, )
impl Copy for RerunNonErased
impl Eq for RerunNonErased
impl StructuralPartialEq for RerunNonErased
Auto Trait Implementations§
impl DynSend for RerunNonErased
impl DynSync for RerunNonErased
impl Freeze for RerunNonErased
impl RefUnwindSafe for RerunNonErased
impl Send for RerunNonErased
impl Sync for RerunNonErased
impl Unpin for RerunNonErased
impl UnsafeUnpin for RerunNonErased
impl UnwindSafe for RerunNonErased
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
Source§impl<I, T> UpcastFrom<I, T> for T
impl<I, T> UpcastFrom<I, T> for T
fn upcast_from(from: T, _tcx: I) -> T
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<T> ErasedDestructor for Twhere
T: 'static,
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: 0 bytes