#[derive(Copy, Clone, Debug, PartialEq)] pub enum RunMode { FirstCase, SecondCase, } #[derive(Copy, Clone, Debug, PartialEq)] pub enum DataSet { Test, TestAlt, //BALLS, Full, } pub trait Solver { // TODO: Remove this function. Right now it just shows a "static" trait method. fn print_test() { println!("SOLVER BASE PRINT TEST"); } fn init(self: &mut Self, data_set: DataSet, run_mode: RunMode, enable_debug_prints: bool); fn solve(self: &mut Self) -> String; }