pub trait Class: Type + Scope {
// Required methods
fn parents(&self) -> &[Vec<String>];
fn constructors(&self) -> Vec<Rc<Constructor>>;
fn constructor(&self, args: &[Rc<dyn Type>]) -> Option<Rc<Constructor>>;
fn predicates(&self) -> Vec<Rc<Predicate>>;
fn classes(&self) -> Vec<Rc<dyn Class>>;
fn instances(&self) -> Vec<ObjectId>;
}Expand description
Class-specific API surface layered on top of type and scope behavior.
Required Methods§
fn parents(&self) -> &[Vec<String>]
fn constructors(&self) -> Vec<Rc<Constructor>>
fn constructor(&self, args: &[Rc<dyn Type>]) -> Option<Rc<Constructor>>
fn predicates(&self) -> Vec<Rc<Predicate>>
fn classes(&self) -> Vec<Rc<dyn Class>>
fn instances(&self) -> Vec<ObjectId>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".