Enum rustc_trait_selection::infer::canonical::Certainty
source · pub enum Certainty {
Proven,
Ambiguous,
}
Expand description
Indicates whether or not we were able to prove the query to be true.
Variants
Proven
The query is known to be true, presuming that you apply the
given var_values
and the region-constraints are satisfied.
Ambiguous
The query is not known to be true, but also not known to be
false. The var_values
represent either values that must
hold in order for the query to be true, or helpful tips that
might make it true. Currently rustc’s trait solver cannot
distinguish the two (e.g., due to our preference for where
clauses over impls).
After some unification and things have been done, it makes sense to try and prove again – of course, at that point, the canonical form will be different, making this a distinct query.
Auto Trait Implementations
impl RefUnwindSafe for Certainty
impl Send for Certainty
impl Sync for Certainty
impl Unpin for Certainty
impl UnwindSafe for Certainty
Blanket Implementations
sourceimpl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
fn allocate_on(self, arena: &'a Arena<'tcx>) -> &'a mut T
fn allocate_from_iter(
arena: &'a Arena<'tcx>,
iter: impl IntoIterator<Item = T>
) -> &'a mut [T]ⓘNotable traits for &[u8]impl Read for &[u8]impl Write for &mut [u8]
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
sourceimpl<'tcx, T> IsSuggestable<'tcx> for Twhere
T: TypeVisitable<'tcx>,
impl<'tcx, T> IsSuggestable<'tcx> for Twhere
T: TypeVisitable<'tcx>,
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: 1 byte
Size for each variant:
Proven
: 0 bytesAmbiguous
: 0 bytes