pub enum CompoundType {
Array(ArrayType),
Pair(Arc<PairType>),
Map(Arc<MapType>),
Struct(Arc<StructType>),
}
Expand description
Represents a compound type definition.
Variants§
Array(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 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 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§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> 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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string
, but without panic on OOM.