pub trait Class: Type + Scope {
// Required methods
fn parents(&self) -> &[Vec<String>];
fn constructors(&self) -> &[Constructor];
fn constructor(&self, args: &[Rc<dyn Type>]) -> Option<&Constructor>;
fn predicates(&self) -> Vec<Rc<Predicate>>;
fn classes(&self) -> Vec<Rc<dyn Class>>;
fn instances(&self) -> Vec<Rc<Object>>;
}Expand description
Class-specific API surface layered on top of type and scope behavior.