pub trait Environment {
// Required methods
fn generate(pop: Vec<Box<dyn Agent>>) -> Result<Box<Self>, &'static str>
where Self: Sized;
fn collect(&self) -> Result<String, &'static str>;
fn tick(&mut self) -> Result<(), &'static str>;
fn add_agent(&mut self, agent: Box<dyn Agent>) -> Result<(), &'static str>;
fn add_agents(
&mut self,
agents: Vec<Box<dyn Agent>>,
) -> Result<(), &'static str>;
}Required Methods§
fn add_agent(&mut self, agent: Box<dyn Agent>) -> Result<(), &'static str>
fn add_agents( &mut self, agents: Vec<Box<dyn Agent>>, ) -> Result<(), &'static str>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".