From fcd7f65d715b947cfd5f55d6ffc5a6721785f1fc Mon Sep 17 00:00:00 2001 From: Alpha Chen Date: Sun, 27 Dec 2015 21:30:41 -0800 Subject: [PATCH] Move Day trait into its own file --- rust/src/day.rs | 6 ++++++ rust/src/lib.rs | 13 ++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) create mode 100644 rust/src/day.rs diff --git a/rust/src/day.rs b/rust/src/day.rs new file mode 100644 index 0000000..9e3439a --- /dev/null +++ b/rust/src/day.rs @@ -0,0 +1,6 @@ +use std::io; + +pub trait Day { + fn new(String) -> Self; + fn solve(self) -> io::Result; +} diff --git a/rust/src/lib.rs b/rust/src/lib.rs index 378c1e1..0d90e1b 100644 --- a/rust/src/lib.rs +++ b/rust/src/lib.rs @@ -1,21 +1,20 @@ -use std::io::Error; +use std::io; use std::str::Chars; -pub trait Day { - fn new(String) -> Self; - fn solve(self) -> Result; -} +pub use day::Day; + +mod day; pub struct Day01 { input: String, } -impl Day for Day01 { +impl day::Day for Day01 { fn new(input: String) -> Day01 { Day01 { input: input } } - fn solve(self) -> Result { + fn solve(self) -> io::Result { let elevator = Elevator::new(self.input); Ok(1 + elevator.run().position(|f| f == -1).unwrap_or(0) as i32) }