1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
use std::io;
use std::io::Read;
extern crate advent_of_code_2016;
use advent_of_code_2016::*;
use advent_of_code_2016::errors::*;
fn main() {
run(|| {
let mut input = String::new();
io::stdin().read_to_string(&mut input).ok();
let solution = day_11::solve(&input)?;
println!("{}", solution);
Ok(())
});
}
fn run<F>(f: F)
where F: Fn() -> Result<()>
{
if let Err(error) = f() {
for error in error.iter() {
println!("{}", error);
}
std::process::exit(1);
}
}