Enum chalk_solve::rust_ir::WellKnownTrait
source · pub enum WellKnownTrait {
Show 14 variants
Sized,
Copy,
Clone,
Drop,
FnOnce,
FnMut,
Fn,
Unsize,
Unpin,
CoerceUnsized,
DiscriminantKind,
Generator,
DispatchFromDyn,
Tuple,
}Expand description
A list of the traits that are “well known” to chalk, which means that the chalk-solve crate has special, hard-coded impls for them.
Variants
Sized
Copy
Clone
Drop
FnOnce
The trait FnOnce<Args> - the generic argument Args is always a tuple
corresponding to the arguments of a function implementing this trait.
E.g. fn(u8, bool): FnOnce<(u8, bool)>
FnMut
Fn
Unsize
Unpin
CoerceUnsized
DiscriminantKind
Generator
DispatchFromDyn
Tuple
Trait Implementations
sourceimpl Clone for WellKnownTrait
impl Clone for WellKnownTrait
sourcefn clone(&self) -> WellKnownTrait
fn clone(&self) -> WellKnownTrait
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresourceimpl Debug for WellKnownTrait
impl Debug for WellKnownTrait
sourceimpl Hash for WellKnownTrait
impl Hash for WellKnownTrait
sourceimpl Ord for WellKnownTrait
impl Ord for WellKnownTrait
sourcefn cmp(&self, other: &WellKnownTrait) -> Ordering
fn cmp(&self, other: &WellKnownTrait) -> Ordering
1.21.0 · sourcefn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
1.21.0 · sourcefn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the minimum of two values. Read more
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
Restrict a value to a certain interval. Read more
sourceimpl PartialEq<WellKnownTrait> for WellKnownTrait
impl PartialEq<WellKnownTrait> for WellKnownTrait
sourcefn eq(&self, other: &WellKnownTrait) -> bool
fn eq(&self, other: &WellKnownTrait) -> bool
sourceimpl PartialOrd<WellKnownTrait> for WellKnownTrait
impl PartialOrd<WellKnownTrait> for WellKnownTrait
sourcefn partial_cmp(&self, other: &WellKnownTrait) -> Option<Ordering>
fn partial_cmp(&self, other: &WellKnownTrait) -> Option<Ordering>
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self and other) and is used by the <=
operator. Read moresourceimpl<I: Interner> TypeVisitable<I> for WellKnownTrait
impl<I: Interner> TypeVisitable<I> for WellKnownTrait
sourcefn visit_with<B>(
&self,
_visitor: &mut dyn TypeVisitor<I, BreakTy = B>,
_outer_binder: DebruijnIndex
) -> ControlFlow<B>
fn visit_with<B>(
&self,
_visitor: &mut dyn TypeVisitor<I, BreakTy = B>,
_outer_binder: DebruijnIndex
) -> ControlFlow<B>
Apply the given visitor
visitor to self; binders is the
number of binders that are in scope when beginning the
visitor. Typically binders starts as 0, but is adjusted when
we encounter Binders<T> in the IR or other similar
constructs. Read moreimpl Copy for WellKnownTrait
impl Eq for WellKnownTrait
impl StructuralEq for WellKnownTrait
impl StructuralPartialEq for WellKnownTrait
Auto Trait Implementations
impl RefUnwindSafe for WellKnownTrait
impl Send for WellKnownTrait
impl Sync for WellKnownTrait
impl Unpin for WellKnownTrait
impl UnwindSafe for WellKnownTrait
Blanket Implementations
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
Mutably borrows from an owned value. Read more
sourceimpl<T> Cast for T
impl<T> Cast for T
sourcefn cast<U>(self, interner: <U as HasInterner>::Interner) -> Uwhere
Self: CastTo<U>,
U: HasInterner,
fn cast<U>(self, interner: <U as HasInterner>::Interner) -> Uwhere
Self: CastTo<U>,
U: HasInterner,
Cast a value to type
U using CastTo.sourceimpl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T, I> VisitExt<I> for Twhere
I: Interner,
T: TypeVisitable<I>,
impl<T, I> VisitExt<I> for Twhere
I: Interner,
T: TypeVisitable<I>,
sourcefn has_free_vars(&self, interner: I) -> bool
fn has_free_vars(&self, interner: I) -> bool
Check whether there are free (non-bound) variables.