#[non_exhaustive]pub enum TypeCode {
Show 17 variants
NullType,
Bool,
Int,
Float,
String,
Path,
List,
RangeExpr,
Any,
Union,
NoReturn,
Unresolved,
TypeVarT,
TypeVarT1,
TypeVarT2,
TypeVarT3,
Signature,
}Expand description
Type codes for expression values.
Marked #[non_exhaustive] so that future revisions and extensions can
introduce new primitive types (e.g. Duration, Url) without a SemVer
break. External callers must use a wildcard arm when matching.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
NullType
Bool
Int
Float
String
Path
List
RangeExpr
Any
Union
NoReturn
Unresolved
TypeVarT
TypeVarT1
TypeVarT2
TypeVarT3
Signature
Function signature: params are [param_type_0, …, param_type_n, return_type].
Trait Implementations§
Source§impl Ord for TypeCode
impl Ord for TypeCode
1.21.0 (const: unstable) · 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 PartialOrd for TypeCode
impl PartialOrd for TypeCode
impl Copy for TypeCode
impl Eq for TypeCode
impl StructuralPartialEq for TypeCode
Auto Trait Implementations§
impl Freeze for TypeCode
impl RefUnwindSafe for TypeCode
impl Send for TypeCode
impl Sync for TypeCode
impl Unpin for TypeCode
impl UnsafeUnpin for TypeCode
impl UnwindSafe for TypeCode
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,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<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§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
Compare self to
key and return true if they are equal.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