pub enum TypeShape {
Named(TypeId),
Tuple(Vec<TypeShape>),
Array(Box<TypeShape>),
Callable(Vec<TypeShape>, Box<TypeShape>),
}Expand description
Identifies a declared cell recursively, independently of its erased storage carrier.
Only concrete registered leaves carry Rust TypeIds; compound identities are structural.
Variants§
Named(TypeId)
A registered leaf type, by its Rust TypeId.
Tuple(Vec<TypeShape>)
A tuple type, recursively — an empty Vec for ().
Array(Box<TypeShape>)
A canonical array whose element identity is recursive.
Callable(Vec<TypeShape>, Box<TypeShape>)
A canonical callable with source-ordered parameters and one result.
Trait Implementations§
impl Eq for TypeShape
impl StructuralPartialEq for TypeShape
Auto Trait Implementations§
impl Freeze for TypeShape
impl RefUnwindSafe for TypeShape
impl Send for TypeShape
impl Sync for TypeShape
impl Unpin for TypeShape
impl UnsafeUnpin for TypeShape
impl UnwindSafe for TypeShape
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> 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.