diff --git a/aoc2018/src/day03.rs b/aoc2018/src/day03.rs index f68012b..8bcf6dd 100644 --- a/aoc2018/src/day03.rs +++ b/aoc2018/src/day03.rs @@ -1,7 +1,6 @@ use std::collections::HashMap; use std::collections::HashSet; use std::error::Error; -use std::fmt; use super::err; use super::Result; @@ -63,10 +62,10 @@ fn parse(line: &str) -> Option { fn part1(input: &str) -> Result { let mut res = 0; - let mut map: HashMap<(usize, usize), u64> = HashMap::default(); + let mut map: HashMap<(usize, usize), u64> = HashMap::new(); for line in input.lines() { - let claim = parse(line).ok_or(err!("Couldn't parse line: {}", line))?; + let claim = parse(line).ok_or_else(|| err!("Couldn't parse line: {}", line))?; for i in 0..claim.width { for j in 0..claim.height { @@ -89,11 +88,11 @@ fn part1(input: &str) -> Result { } fn part2(input: &str) -> Result { - let mut map: HashMap<(usize, usize), Vec> = HashMap::default(); + let mut map: HashMap<(usize, usize), Vec> = HashMap::new(); let mut set = HashSet::new(); for line in input.lines() { - let claim = parse(line).ok_or(err!("Couldn't parse line: {}", line))?; + let claim = parse(line).ok_or_else(|| err!("Couldn't parse line: {}", line))?; set.insert(claim.id); for i in 0..claim.width { diff --git a/aoc2018/src/main.rs b/aoc2018/src/main.rs index cc96e70..c86e787 100644 --- a/aoc2018/src/main.rs +++ b/aoc2018/src/main.rs @@ -20,7 +20,7 @@ fn main() -> Result<()> { None => { for (i, day) in days.iter().enumerate() { println!("day{}: ", i); - day().expect(&format!("error running day {}", i)); + day().unwrap_or_else(|e| panic!("error running day {}: {}", i, e)); println!(); } }