pub enum CompoundType {
Array(Arc<ArrayType>),
Pair(Arc<PairType>),
Map(Arc<MapType>),
Struct(Arc<StructType>),
}Expand description
Represents a compound type definition.
Variants§
Array(Arc<ArrayType>)
The type is an Array.
Pair(Arc<PairType>)
The type is a Pair.
Map(Arc<MapType>)
The type is a Map.
Struct(Arc<StructType>)
The type is a struct (e.g. Foo).
Implementations§
Source§impl CompoundType
impl CompoundType
Sourcepub fn as_array(&self) -> Option<&ArrayType>
pub fn as_array(&self) -> Option<&ArrayType>
Converts the compound type to an array type.
Returns None if the compound type is not an array type.
Sourcepub fn as_pair(&self) -> Option<&PairType>
pub fn as_pair(&self) -> Option<&PairType>
Converts the compound type to a pair type.
Returns None if the compound type is not a pair type.
Sourcepub fn as_map(&self) -> Option<&MapType>
pub fn as_map(&self) -> Option<&MapType>
Converts the compound type to a map type.
Returns None if the compound type is not a map type.
Sourcepub fn as_struct(&self) -> Option<&StructType>
pub fn as_struct(&self) -> Option<&StructType>
Converts the compound type to a struct type.
Returns None if the compound type is not a struct type.
Trait Implementations§
Source§impl Clone for CompoundType
impl Clone for CompoundType
Source§fn clone(&self) -> CompoundType
fn clone(&self) -> CompoundType
Returns a copy 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 Coercible for CompoundType
impl Coercible for CompoundType
Source§fn is_coercible_to(&self, target: &Self) -> bool
fn is_coercible_to(&self, target: &Self) -> bool
Determines if the type is coercible to the target type.
Source§impl Debug for CompoundType
impl Debug for CompoundType
Source§impl Display for CompoundType
impl Display for CompoundType
Source§impl From<ArrayType> for CompoundType
impl From<ArrayType> for CompoundType
Source§impl From<CompoundType> for Type
impl From<CompoundType> for Type
Source§fn from(value: CompoundType) -> Self
fn from(value: CompoundType) -> Self
Converts to this type from the input type.
Source§impl From<MapType> for CompoundType
impl From<MapType> for CompoundType
Source§impl From<PairType> for CompoundType
impl From<PairType> for CompoundType
Source§impl From<StructType> for CompoundType
impl From<StructType> for CompoundType
Source§fn from(value: StructType) -> Self
fn from(value: StructType) -> Self
Converts to this type from the input type.
Source§impl PartialEq for CompoundType
impl PartialEq for CompoundType
impl Eq for CompoundType
impl StructuralPartialEq for CompoundType
Auto Trait Implementations§
impl Freeze for CompoundType
impl RefUnwindSafe for CompoundType
impl Send for CompoundType
impl Sync for CompoundType
impl Unpin for CompoundType
impl UnwindSafe for CompoundType
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> 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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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