pub enum DescribedType {
Show 21 variants
Void,
I8,
I16,
I32,
I64,
I128,
U8,
U16,
U32,
U64,
U128,
F32,
F64,
Bool,
Byte,
Char,
String,
Vec(Box<DescribedType>),
Option(Box<DescribedType>),
Data(Box<Arc<dyn Data>>),
Generic(Box<Generic>),
}Variants§
Void
I8
I16
I32
I64
I128
U8
U16
U32
U64
U128
F32
F64
Bool
Byte
Char
String
Vec(Box<DescribedType>)
Option(Box<DescribedType>)
Data(Box<Arc<dyn Data>>)
Generic(Box<Generic>)
Implementations§
Source§impl DescribedType
impl DescribedType
pub fn contains_generic(&self) -> bool
pub fn contains_core(&self) -> bool
pub fn contains_data(&self) -> bool
pub fn final_type(&self) -> &DescribedType
pub fn final_type_mut(&mut self) -> &mut DescribedType
pub fn data(&self) -> Option<&Arc<dyn Data>>
pub fn data_mut(&mut self) -> Option<&mut Arc<dyn Data>>
pub fn implements(&self, data_trait: &DataTrait) -> bool
pub fn is_datatype( &self, dt: &DataType, generics: &HashMap<String, DescribedType>, ) -> bool
pub fn to_datatype( &self, generics: &HashMap<String, DescribedType>, ) -> Option<DataType>
pub fn is_compatible( &self, generics: &HashMap<String, DescribedType>, other: &DescribedType, generics_other: &HashMap<String, DescribedType>, ) -> bool
pub fn as_defined( &self, generics: &HashMap<String, DescribedType>, ) -> Option<DescribedType>
Trait Implementations§
Source§impl Clone for DescribedType
impl Clone for DescribedType
Source§fn clone(&self) -> DescribedType
fn clone(&self) -> DescribedType
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 DescribedType
impl Debug for DescribedType
Source§impl Display for DescribedType
impl Display for DescribedType
Source§impl From<&DataType> for DescribedType
impl From<&DataType> for DescribedType
Source§impl From<DataType> for DescribedType
impl From<DataType> for DescribedType
Source§impl PartialEq for DescribedType
impl PartialEq for DescribedType
impl StructuralPartialEq for DescribedType
Auto Trait Implementations§
impl !RefUnwindSafe for DescribedType
impl !UnwindSafe for DescribedType
impl Freeze for DescribedType
impl Send for DescribedType
impl Sync for DescribedType
impl Unpin for DescribedType
impl UnsafeUnpin for DescribedType
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<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.