pub enum SymLiteral {
Integral {
bits: u64,
},
Float {
bits: OrderedFloat<f64>,
},
}Variants§
Integral
Have to check the type of the expression to determine how to interpret these bits
Float
Have to check the type of the expression to determine how to interpret these bits
Trait Implementations§
Source§impl Clone for SymLiteral
impl Clone for SymLiteral
Source§fn clone(&self) -> SymLiteral
fn clone(&self) -> SymLiteral
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SymLiteral
impl Debug for SymLiteral
Source§impl Hash for SymLiteral
impl Hash for SymLiteral
Source§impl Ord for SymLiteral
impl Ord for SymLiteral
Source§fn cmp(&self, other: &SymLiteral) -> Ordering
fn cmp(&self, other: &SymLiteral) -> Ordering
1.21.0 · Source§fn 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
Source§impl PartialEq for SymLiteral
impl PartialEq for SymLiteral
Source§impl PartialOrd for SymLiteral
impl PartialOrd for SymLiteral
Source§impl Serialize for SymLiteral
impl Serialize for SymLiteral
Source§impl<'db> Subst<'db> for SymLiteral
impl<'db> Subst<'db> for SymLiteral
Source§type GenericTerm = SymGenericTerm<'db>
type GenericTerm = SymGenericTerm<'db>
The notion of generic term appropriate for this type.
When we substitute variables, this is the type of value that we replace them with.
Source§fn subst_vars(
&self,
db: &'db dyn Db,
map: &Map<SymVariable<'db>, Self::GenericTerm>,
) -> Self::Output
fn subst_vars( &self, db: &'db dyn Db, map: &Map<SymVariable<'db>, Self::GenericTerm>, ) -> Self::Output
Returns a version of
self where universal free variables
have been replaced by the corresponding entry in terms.
If a variable is not present in terms it is not substituted.Source§fn subst_var(
&self,
db: &'db dyn Db,
var: SymVariable<'db>,
term: Self::GenericTerm,
) -> Self::Output
fn subst_var( &self, db: &'db dyn Db, var: SymVariable<'db>, term: Self::GenericTerm, ) -> Self::Output
Replace the variable
var with term.Source§fn resolve_infer_var(
&self,
db: &'db dyn Db,
bound_vars: &mut Vec<SymVariable<'db>>,
op: impl FnMut(InferVarIndex) -> Option<Self::GenericTerm>,
) -> Self::Output
fn resolve_infer_var( &self, db: &'db dyn Db, bound_vars: &mut Vec<SymVariable<'db>>, op: impl FnMut(InferVarIndex) -> Option<Self::GenericTerm>, ) -> Self::Output
Replace all inference variables with whatever is returned by
op;
if op returns None, the inference variable is left unchanged.Source§impl<'db, Term> SubstWith<'db, Term> for SymLiteral
impl<'db, Term> SubstWith<'db, Term> for SymLiteral
Source§type Output = SymLiteral
type Output = SymLiteral
The type of the resulting term; typically
Self but not always.Source§fn subst_with<'subst>(
&self,
_db: &'db dyn Db,
_bound_vars: &mut Vec<SymVariable<'db>>,
_subst_fns: &mut SubstitutionFns<'_, 'db, Term>,
) -> Self::Output
fn subst_with<'subst>( &self, _db: &'db dyn Db, _bound_vars: &mut Vec<SymVariable<'db>>, _subst_fns: &mut SubstitutionFns<'_, 'db, Term>, ) -> Self::Output
Source§impl Update for SymLiteral
impl Update for SymLiteral
impl Copy for SymLiteral
impl Eq for SymLiteral
impl StructuralPartialEq for SymLiteral
Auto Trait Implementations§
impl Freeze for SymLiteral
impl RefUnwindSafe for SymLiteral
impl Send for SymLiteral
impl Sync for SymLiteral
impl Unpin for SymLiteral
impl UnsafeUnpin for SymLiteral
impl UnwindSafe for SymLiteral
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> HashEqLike<T> for T
impl<T> HashEqLike<T> for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
Converts
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>
Converts
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 more