Enum rustc_trait_selection::infer::canonical::Certainty [−][src]
pub enum Certainty {
Proven,
Ambiguous,
}
Expand description
Indicates whether or not we were able to prove the query to be true.
Variants
The query is known to be true, presuming that you apply the
given var_values
and the region-constraints are satisfied.
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 unifiations 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 UnwindSafe for Certainty
Blanket Implementations
pub fn allocate_from_iter(
arena: &'a Arena<'tcx>,
iter: impl IntoIterator<Item = T>
) -> &'a mut [T]
Mutably borrows from an owned value. Read more
pub fn subst_spanned(
self,
tcx: TyCtxt<'tcx>,
substs: &[GenericArg<'tcx>],
span: Option<Span>
) -> T
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