pub trait MetaType {
    // Required method
    fn meta_type() -> AlgebraicType;
}
Expand description

Rust types which represent components of the SATS type system and can themselves be represented as algebraic objects will implement MetaType.

A type’s meta-type is an AlgebraicType which can store the data associated with a definition of that type.

For example, the MetaType of ProductType is

AlgebraicType::product([(
    "elements",
    AlgebraicType::array(ProductTypeElement::meta_type()),
)])

Required Methods§

source

fn meta_type() -> AlgebraicType

Returns the type structure of this type as an AlgebraicType.

Object Safety§

This trait is not object safe.

Implementors§