use crate::qintr::*; pub struct Project { emit: ProjectEmitter, } impl Drop for Project { fn drop(&mut self) { eprintln!("drop Project"); } } impl ProjectTrait for Project { fn new(emit: ProjectEmitter) -> Project { eprintln!("new Project"); Project{emit} } fn emit(&mut self) -> &mut ProjectEmitter { &mut self.emit } fn open(&mut self, fname: String) { println!("opening project: {}", fname); } } // EOF