[INFO] updating cached repository https://github.com/Aidiakapi/advent_of_code_2018
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] 4c6e8ca88a138a857b66e7b2c010da5230e950ec
[INFO] checking Aidiakapi/advent_of_code_2018 against master#209b2be09fcaff937480d1fbbe8b31646e361c7a for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAidiakapi%2Fadvent_of_code_2018" "/workspace/builds/worker-11/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-11/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Aidiakapi/advent_of_code_2018 on toolchain 209b2be09fcaff937480d1fbbe8b31646e361c7a
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/Aidiakapi/advent_of_code_2018
[INFO] finished tweaking git repo https://github.com/Aidiakapi/advent_of_code_2018
[INFO] tweaked toml for git repo https://github.com/Aidiakapi/advent_of_code_2018 written to /workspace/builds/worker-11/source/Cargo.toml
[INFO] crate git repo https://github.com/Aidiakapi/advent_of_code_2018 already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 2942ca7621dbb311b31baacdbd649d8b70edbe281e500ce97332d2249322950c
[INFO] running `"docker" "start" "-a" "2942ca7621dbb311b31baacdbd649d8b70edbe281e500ce97332d2249322950c"`
[INFO] [stderr]    Compiling libc v0.2.44
[INFO] [stderr]     Checking lazy_static v1.2.0
[INFO] [stderr]    Compiling serde v1.0.84
[INFO] [stderr]    Compiling openssl v0.10.15
[INFO] [stderr]     Checking indexmap v1.0.2
[INFO] [stderr]     Checking string v0.1.2
[INFO] [stderr]    Compiling native-tls v0.2.2
[INFO] [stderr]    Compiling ryu v0.2.7
[INFO] [stderr]    Compiling gcc v0.3.55
[INFO] [stderr]    Compiling encoding_rs v0.8.12
[INFO] [stderr]    Compiling regex v1.1.0
[INFO] [stderr]     Checking unchecked-index v0.2.2
[INFO] [stderr]     Checking fixedbitset v0.1.9
[INFO] [stderr]     Checking permutohedron v0.2.4
[INFO] [stderr]     Checking log v0.4.6
[INFO] [stderr]     Checking crossbeam-utils v0.6.1
[INFO] [stderr]     Checking rand_xorshift v0.1.0
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]    Compiling memchr v2.1.1
[INFO] [stderr]     Checking base64 v0.10.0
[INFO] [stderr]    Compiling openssl-sys v0.9.39
[INFO] [stderr]     Checking arrayvec v0.4.8
[INFO] [stderr]     Checking itertools v0.8.0
[INFO] [stderr]     Checking regex-syntax v0.6.3
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking colored v1.7.0
[INFO] [stderr]     Checking want v0.0.6
[INFO] [stderr]     Checking smallvec v0.6.7
[INFO] [stderr]     Checking tokio-timer v0.2.8
[INFO] [stderr]     Checking tokio-current-thread v0.1.4
[INFO] [stderr]    Compiling rand_pcg v0.1.1
[INFO] [stderr]    Compiling rand_chacha v0.1.0
[INFO] [stderr]    Compiling rand v0.6.1
[INFO] [stderr]     Checking url v1.7.2
[INFO] [stderr]     Checking libflate v0.1.18
[INFO] [stderr]     Checking crossbeam-epoch v0.6.1
[INFO] [stderr]     Checking crossbeam-deque v0.6.2
[INFO] [stderr]    Compiling rust-crypto v0.2.36
[INFO] [stderr]     Checking pathfinding v1.1.10
[INFO] [stderr]     Checking iovec v0.1.2
[INFO] [stderr]     Checking rand v0.5.5
[INFO] [stderr]     Checking num_cpus v1.8.0
[INFO] [stderr]     Checking net2 v0.2.33
[INFO] [stderr]     Checking time v0.1.40
[INFO] [stderr]     Checking rand v0.4.3
[INFO] [stderr]     Checking bytes v0.4.11
[INFO] [stderr]     Checking futures-cpupool v0.1.8
[INFO] [stderr]     Checking mio v0.6.16
[INFO] [stderr]     Checking aho-corasick v0.6.9
[INFO] [stderr]     Checking twoway v0.2.0
[INFO] [stderr]     Checking tokio-io v0.1.10
[INFO] [stderr]     Checking http v0.1.14
[INFO] [stderr]     Checking rand v0.3.22
[INFO] [stderr]     Checking tokio-threadpool v0.1.9
[INFO] [stderr]     Checking parking_lot_core v0.3.1
[INFO] [stderr]     Checking uuid v0.7.1
[INFO] [stderr]    Compiling phf_generator v0.7.23
[INFO] [stderr]    Compiling phf_codegen v0.7.23
[INFO] [stderr]     Checking parking_lot v0.6.4
[INFO] [stderr]    Compiling mime_guess v2.0.0-alpha.6
[INFO] [stderr]     Checking tokio-reactor v0.1.7
[INFO] [stderr]     Checking tokio-tcp v0.1.2
[INFO] [stderr]     Checking tokio v0.1.14
[INFO] [stderr]     Checking h2 v0.1.13
[INFO] [stderr]     Checking serde_json v1.0.34
[INFO] [stderr]     Checking serde_urlencoded v0.5.4
[INFO] [stderr]     Checking bincode v1.0.1
[INFO] [stderr]     Checking hyper v0.12.20
[INFO] [stderr]     Checking hyper-tls v0.3.1
[INFO] [stderr]     Checking reqwest v0.9.8
[INFO] [stderr]     Checking advent_of_code_2018 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] error[E0425]: cannot find function `enable_ansi_support` in crate `ansi_term`
[INFO] [stderr]    --> src/main.rs:42:45
[INFO] [stderr]     |
[INFO] [stderr] 42  |               if cfg!(windows) && !ansi_term::enable_ansi_support().is_ok() {
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^ not found in `ansi_term`
[INFO] [stderr] ...
[INFO] [stderr] 86  | / main!(
[INFO] [stderr] 87  | |     day01,
[INFO] [stderr] 88  | |     day02,
[INFO] [stderr] 89  | |     day03,
[INFO] [stderr] ...   |
[INFO] [stderr] 111 | |     day25,
[INFO] [stderr] 112 | | );
[INFO] [stderr]     | |__- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day01.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day01,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/1/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day01.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day01,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/1/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day02.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day02,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/2/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day02.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day02,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/2/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day03.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day03,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/3/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day03.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day03,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/3/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day04.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day04,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/4/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day04.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day04,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/4/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day05.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day05,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/5/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day05.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day05,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/5/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day06.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day06,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/6/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day06.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day06,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/6/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day07.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day07,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/7/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day07.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day07,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/7/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day08.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day08,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/8/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day08.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day08,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/8/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day09.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day09,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/9/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day09.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day09,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/9/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day10.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day10,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/10/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day10.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day10,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/10/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day11.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day11,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/11/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day11.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day11,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/11/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day12.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day12,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/12/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day12.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day12,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/12/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day13.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day13,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/13/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day13.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day13,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/13/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day14.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day14,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/14/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day14.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day14,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/14/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day15.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day15,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/15/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day15.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day15,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/15/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day16.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day16,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/16/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day16.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day16,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/16/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day17.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day17,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/17/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day17.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day17,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/17/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day18.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day18,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/18/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day18.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day18,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/18/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day19.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day19,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/19/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day19.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day19,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/19/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day20.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day20,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/20/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day20.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day20,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/20/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day21.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day21,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/21/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day21.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day21,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/21/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day22.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day22,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/22/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day22.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day22,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/22/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day23.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day23,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/23/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day23.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day23,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/23/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day24.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day24,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/24/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day24.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day24,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/24/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day25.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day25,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/25/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     !
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function `enable_ansi_support` in crate `ansi_term`
[INFO] [stderr]    --> src/main.rs:42:45
[INFO] [stderr]     |
[INFO] [stderr] 42  |               if cfg!(windows) && !ansi_term::enable_ansi_support().is_ok() {
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^ not found in `ansi_term`
[INFO] [stderr] ...
[INFO] [stderr] 86  | / main!(
[INFO] [stderr] 87  | |     day01,
[INFO] [stderr] 88  | |     day02,
[INFO] [stderr] 89  | |     day03,
[INFO] [stderr] ...   |
[INFO] [stderr] 111 | |     day25,
[INFO] [stderr] 112 | | );
[INFO] [stderr]     | |__- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day01.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day01,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/1/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day01.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day01,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/1/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> src/framework.rs:32:11
[INFO] [stderr]    |
[INFO] [stderr] 32 |           )+;
[INFO] [stderr]    |             ^ help: remove this semicolon
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day01.rs:45:5
[INFO] [stderr]    |
[INFO] [stderr] 45 | /     assert_results!(part1,
[INFO] [stderr] 46 | |         "+1, +1, +1" => 3,
[INFO] [stderr] 47 | |         "+1, +1, -2" => 0,
[INFO] [stderr] 48 | |         "-1, -2, -3" => -6,
[INFO] [stderr] 49 | |     );
[INFO] [stderr]    | |______- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> src/framework.rs:32:11
[INFO] [stderr]    |
[INFO] [stderr] 32 |           )+;
[INFO] [stderr]    |             ^ help: remove this semicolon
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day01.rs:50:5
[INFO] [stderr]    |
[INFO] [stderr] 50 | /     assert_results!(part2,
[INFO] [stderr] 51 | |         "+1, -1" => 0,
[INFO] [stderr] 52 | |         "+3, +3, +4, -2, -4" => 10,
[INFO] [stderr] 53 | |         "-6, +3, +8, +5, -6" => 5,
[INFO] [stderr] 54 | |         "+7, +7, -2, -7, -4" => 14,
[INFO] [stderr] 55 | |     );
[INFO] [stderr]    | |______- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day02.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day02,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/2/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day02.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day02,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/2/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> src/framework.rs:32:11
[INFO] [stderr]    |
[INFO] [stderr] 32 |           )+;
[INFO] [stderr]    |             ^ help: remove this semicolon
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day02.rs:62:5
[INFO] [stderr]    |
[INFO] [stderr] 62 | /     assert_results!(part1,
[INFO] [stderr] 63 | |         "abcdef
[INFO] [stderr] 64 | | bababc
[INFO] [stderr] 65 | | abbcde
[INFO] [stderr] ...  |
[INFO] [stderr] 69 | | ababab" => 12,
[INFO] [stderr] 70 | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> src/framework.rs:32:11
[INFO] [stderr]    |
[INFO] [stderr] 32 |           )+;
[INFO] [stderr]    |             ^ help: remove this semicolon
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day02.rs:71:5
[INFO] [stderr]    |
[INFO] [stderr] 71 | /     assert_results!(part2,
[INFO] [stderr] 72 | |         "abcde
[INFO] [stderr] 73 | | fghij
[INFO] [stderr] 74 | | klmno
[INFO] [stderr] ...  |
[INFO] [stderr] 78 | | wvxyz" => "fgij",
[INFO] [stderr] 79 | |     );
[INFO] [stderr]    | |______- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day03.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day03,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/3/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day03.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day03,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/3/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |         )+;
[INFO] [stderr]     |           ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day03.rs:100:5
[INFO] [stderr]     |
[INFO] [stderr] 100 |     assert_results!(part1, EXAMPLE => 4);
[INFO] [stderr]     |     ------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |         )+;
[INFO] [stderr]     |           ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day03.rs:101:5
[INFO] [stderr]     |
[INFO] [stderr] 101 |     assert_results!(part2, EXAMPLE => 3);
[INFO] [stderr]     |     ------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day04.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day04,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/4/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day04.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day04,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/4/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |         )+;
[INFO] [stderr]     |           ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day04.rs:345:5
[INFO] [stderr]     |
[INFO] [stderr] 345 |     assert_results!(part1, EXAMPLE => 240);
[INFO] [stderr]     |     --------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |         )+;
[INFO] [stderr]     |           ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day04.rs:346:5
[INFO] [stderr]     |
[INFO] [stderr] 346 |     assert_results!(part2, EXAMPLE => 4455);
[INFO] [stderr]     |     ---------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day05.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day05,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/5/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day05.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day05,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/5/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |         )+;
[INFO] [stderr]     |           ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day05.rs:166:5
[INFO] [stderr]     |
[INFO] [stderr] 166 |     assert_results!(part1, "dabAcCaCBAcCcaDA" => 10);
[INFO] [stderr]     |     ------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |         )+;
[INFO] [stderr]     |           ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day05.rs:167:5
[INFO] [stderr]     |
[INFO] [stderr] 167 |     assert_results!(part2, "dabAcCaCBAcCcaDA" => 4);
[INFO] [stderr]     |     ------------------------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day06.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day06,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/6/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day06.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day06,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/6/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |         )+;
[INFO] [stderr]     |           ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day06.rs:142:5
[INFO] [stderr]     |
[INFO] [stderr] 142 |     assert_results!(part1, EXAMPLE => 17);
[INFO] [stderr]     |     -------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |         )+;
[INFO] [stderr]     |           ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day06.rs:143:5
[INFO] [stderr]     |
[INFO] [stderr] 143 |     assert_results!(part2_test, EXAMPLE => 16);
[INFO] [stderr]     |     ------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day07.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day07,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/7/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day07.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day07,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/7/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |         )+;
[INFO] [stderr]     |           ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day07.rs:143:5
[INFO] [stderr]     |
[INFO] [stderr] 143 |     assert_results!(part1, EXAMPLE => "CABDFE");
[INFO] [stderr]     |     -------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |         )+;
[INFO] [stderr]     |           ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day07.rs:144:5
[INFO] [stderr]     |
[INFO] [stderr] 144 |     assert_results!(part2_test, EXAMPLE => 15);
[INFO] [stderr]     |     ------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day08.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day08,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/8/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day08.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day08,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/8/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> src/framework.rs:32:11
[INFO] [stderr]    |
[INFO] [stderr] 32 |         )+;
[INFO] [stderr]    |           ^ help: remove this semicolon
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day08.rs:71:5
[INFO] [stderr]    |
[INFO] [stderr] 71 |     assert_results!(part1, "2 3 0 3 10 11 12 1 1 0 1 99 2 1 1 2" => 138);
[INFO] [stderr]    |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> src/framework.rs:32:11
[INFO] [stderr]    |
[INFO] [stderr] 32 |         )+;
[INFO] [stderr]    |           ^ help: remove this semicolon
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day08.rs:72:5
[INFO] [stderr]    |
[INFO] [stderr] 72 |     assert_results!(part2, "2 3 0 3 10 11 12 1 1 0 1 99 2 1 1 2" => 66);
[INFO] [stderr]    |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day09.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day09,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/9/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day09.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day09,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/9/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |           )+;
[INFO] [stderr]     |             ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day09.rs:141:5
[INFO] [stderr]     |
[INFO] [stderr] 141 | /     assert_results!(test_both,
[INFO] [stderr] 142 | |         "9 players; last marble is worth 25 points"    => 32,
[INFO] [stderr] 143 | |         "10 players; last marble is worth 1618 points" => 8317,
[INFO] [stderr] 144 | |         "13 players; last marble is worth 7999 points" => 146373,
[INFO] [stderr] ...   |
[INFO] [stderr] 147 | |         "30 players; last marble is worth 5807 points" => 37305,
[INFO] [stderr] 148 | |     );
[INFO] [stderr]     | |______- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day10.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day10,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/10/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day10.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day10,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/10/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |         )+;
[INFO] [stderr]     |           ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day10.rs:186:5
[INFO] [stderr]     |
[INFO] [stderr] 186 |     assert_results!(part1, EXAMPLE => OUTPUT);
[INFO] [stderr]     |     ------------------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |         )+;
[INFO] [stderr]     |           ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day10.rs:187:5
[INFO] [stderr]     |
[INFO] [stderr] 187 |     assert_results!(part2, EXAMPLE => 3);
[INFO] [stderr]     |     ------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day11.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day11,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/11/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day11.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day11,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/11/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |           )+;
[INFO] [stderr]     |             ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day11.rs:117:5
[INFO] [stderr]     |
[INFO] [stderr] 117 | /     assert_results!(part1,
[INFO] [stderr] 118 | |         "18" => Vec2i::new(33, 45),
[INFO] [stderr] 119 | |         "42" => Vec2i::new(21, 61),
[INFO] [stderr] 120 | |     );
[INFO] [stderr]     | |______- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |           )+;
[INFO] [stderr]     |             ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day11.rs:122:5
[INFO] [stderr]     |
[INFO] [stderr] 122 | /     assert_results!(part2,
[INFO] [stderr] 123 | |         "18" => "90,269,16",
[INFO] [stderr] 124 | |         "42" => "232,251,12",
[INFO] [stderr] 125 | |     );
[INFO] [stderr]     | |______- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day12.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day12,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/12/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day12.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day12,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/12/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |         )+;
[INFO] [stderr]     |           ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day12.rs:245:5
[INFO] [stderr]     |
[INFO] [stderr] 245 |     assert_results!(part1, EXAMPLE => 325);
[INFO] [stderr]     |     --------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day13.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day13,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/13/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day13.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day13,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/13/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |         )+;
[INFO] [stderr]     |           ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day13.rs:253:5
[INFO] [stderr]     |
[INFO] [stderr] 253 |     assert_results!(part1, EXAMPLE_PT1 => Vec2us::new(7, 3));
[INFO] [stderr]     |     --------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |         )+;
[INFO] [stderr]     |           ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day13.rs:254:5
[INFO] [stderr]     |
[INFO] [stderr] 254 |     assert_results!(part2, EXAMPLE_PT2 => Vec2us::new(6, 4));
[INFO] [stderr]     |     --------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day14.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day14,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/14/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day14.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day14,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/14/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> src/framework.rs:32:11
[INFO] [stderr]    |
[INFO] [stderr] 32 |           )+;
[INFO] [stderr]    |             ^ help: remove this semicolon
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day14.rs:94:5
[INFO] [stderr]    |
[INFO] [stderr] 94 | /     assert_results!(part1,
[INFO] [stderr] 95 | |         "9"    => "5158916779",
[INFO] [stderr] 96 | |         "5"    => "0124515891",
[INFO] [stderr] 97 | |         "18"   => "9251071085",
[INFO] [stderr] 98 | |         "2018" => "5941429882",
[INFO] [stderr] 99 | |     );
[INFO] [stderr]    | |______- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |           )+;
[INFO] [stderr]     |             ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day14.rs:100:5
[INFO] [stderr]     |
[INFO] [stderr] 100 | /     assert_results!(part2,
[INFO] [stderr] 101 | |         "51589" => 9,
[INFO] [stderr] 102 | |         "01245" => 5,
[INFO] [stderr] 103 | |         "92510" => 18,
[INFO] [stderr] 104 | |         "59414" => 2018,
[INFO] [stderr] 105 | |     );
[INFO] [stderr]     | |______- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day15.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day15,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/15/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day15.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day15,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/15/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |           )+;
[INFO] [stderr]     |             ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day15.rs:741:5
[INFO] [stderr]     |
[INFO] [stderr] 741 | /     assert_results!(part1,
[INFO] [stderr] 742 | | "#######
[INFO] [stderr] 743 | | #.G...#
[INFO] [stderr] 744 | | #...EG#
[INFO] [stderr] ...   |
[INFO] [stderr] 784 | | #.....G.#
[INFO] [stderr] 785 | | #########" => "20 * 937 = 18740");
[INFO] [stderr]     | |__________________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |           )+;
[INFO] [stderr]     |             ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day15.rs:787:5
[INFO] [stderr]     |
[INFO] [stderr] 787 | /     assert_results!(part2,
[INFO] [stderr] 788 | | "#######
[INFO] [stderr] 789 | | #.G...#
[INFO] [stderr] 790 | | #...EG#
[INFO] [stderr] ...   |
[INFO] [stderr] 824 | | #########" => "30 * 38 = 1140 (34 attack power)"
[INFO] [stderr] 825 | | );
[INFO] [stderr]     | |__- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day16.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day16,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/16/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day16.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day16,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/16/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day17.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day17,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/17/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day17.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day17,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/17/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |         )+;
[INFO] [stderr]     |           ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day17.rs:324:5
[INFO] [stderr]     |
[INFO] [stderr] 324 |     assert_results!(part1, EXAMPLE => 57);
[INFO] [stderr]     |     -------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |         )+;
[INFO] [stderr]     |           ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day17.rs:325:5
[INFO] [stderr]     |
[INFO] [stderr] 325 |     assert_results!(part2, EXAMPLE => 29);
[INFO] [stderr]     |     -------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day18.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day18,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/18/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day18.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day18,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/18/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |         )+;
[INFO] [stderr]     |           ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day18.rs:253:5
[INFO] [stderr]     |
[INFO] [stderr] 253 |     assert_results!(part1, EXAMPLE => "37 * 31 = 1147");
[INFO] [stderr]     |     ---------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day19.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day19,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/19/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day19.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day19,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/19/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |         )+;
[INFO] [stderr]     |           ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day19.rs:381:5
[INFO] [stderr]     |
[INFO] [stderr] 381 |     assert_results!(part1, EXAMPLE => 6);
[INFO] [stderr]     |     ------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day20.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day20,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/20/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day20.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day20,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/20/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |           )+;
[INFO] [stderr]     |             ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day20.rs:205:5
[INFO] [stderr]     |
[INFO] [stderr] 205 | /     assert_results!(part1,
[INFO] [stderr] 206 | |         "^ENNWSWW(NEWS|)SSSEEN(WNSE|)EE(SWEN|)NNN$"                         => 18,
[INFO] [stderr] 207 | |         "^ESSWWN(E|NNENN(EESS(WNSE|)SSS|WWWSSSSE(SW|NNNE)))$"               => 23,
[INFO] [stderr] 208 | |         "^WSSEESWWWNW(S|NENNEEEENN(ESSSSW(NWSW|SSEN)|WSWWN(E|WWS(E|SS))))$" => 31,
[INFO] [stderr] 209 | |     );
[INFO] [stderr]     | |______- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day21.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day21,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/21/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day21.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day21,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/21/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |         )+;
[INFO] [stderr]     |           ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day21.rs:167:5
[INFO] [stderr]     |
[INFO] [stderr] 167 |     assert_results!(part1, EXAMPLE => 8797248);
[INFO] [stderr]     |     ------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |         )+;
[INFO] [stderr]     |           ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day21.rs:168:5
[INFO] [stderr]     |
[INFO] [stderr] 168 |     assert_results!(part2, EXAMPLE => 3007673);
[INFO] [stderr]     |     ------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day22.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day22,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/22/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day22.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day22,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/22/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |         )+;
[INFO] [stderr]     |           ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day22.rs:296:5
[INFO] [stderr]     |
[INFO] [stderr] 296 |     assert_results!(part1, "depth: 510\ntarget: 10,10" => 114);
[INFO] [stderr]     |     ----------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |         )+;
[INFO] [stderr]     |           ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day22.rs:297:5
[INFO] [stderr]     |
[INFO] [stderr] 297 |     assert_results!(part2, "depth: 510\ntarget: 10,10" => 45);
[INFO] [stderr]     |     ---------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day23.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day23,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/23/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day23.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day23,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/23/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |           )+;
[INFO] [stderr]     |             ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day23.rs:198:5
[INFO] [stderr]     |
[INFO] [stderr] 198 | /     assert_results!(part1, "\
[INFO] [stderr] 199 | | pos=<0,0,0>, r=4
[INFO] [stderr] 200 | | pos=<1,0,0>, r=1
[INFO] [stderr] 201 | | pos=<4,0,0>, r=3
[INFO] [stderr] ...   |
[INFO] [stderr] 206 | | pos=<1,1,2>, r=1
[INFO] [stderr] 207 | | pos=<1,3,1>, r=1" => 7);
[INFO] [stderr]     | |________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |           )+;
[INFO] [stderr]     |             ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day23.rs:208:5
[INFO] [stderr]     |
[INFO] [stderr] 208 | /     assert_results!(part2, "\
[INFO] [stderr] 209 | | pos=<10,12,12>, r=2
[INFO] [stderr] 210 | | pos=<12,14,12>, r=2
[INFO] [stderr] 211 | | pos=<16,12,12>, r=4
[INFO] [stderr] 212 | | pos=<14,14,14>, r=6
[INFO] [stderr] 213 | | pos=<50,50,50>, r=200
[INFO] [stderr] 214 | | pos=<10,10,10>, r=5" => 36);
[INFO] [stderr]     | |____________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day24.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day24,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/24/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day24.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day24,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/24/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     part2
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |         )+;
[INFO] [stderr]     |           ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day24.rs:362:5
[INFO] [stderr]     |
[INFO] [stderr] 362 |     assert_results!(part1, EXAMPLE => 5216);
[INFO] [stderr]     |     ---------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |         )+;
[INFO] [stderr]     |           ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day24.rs:363:5
[INFO] [stderr]     |
[INFO] [stderr] 363 |     assert_results!(part2, EXAMPLE => "1570 => 51");
[INFO] [stderr]     |     ------------------------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/framework.rs:20:67
[INFO] [stderr]    |
[INFO] [stderr] 20 |           Some((|input| $callback(input).map(|x| x.to_string())) as (fn(&str) -> Result<String>))
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/day25.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / day!(
[INFO] [stderr] 2  | |     day25,
[INFO] [stderr] 3  | |     "https://adventofcode.com/2018/day/25/input",
[INFO] [stderr] 4  | |     part1,
[INFO] [stderr] 5  | |     !
[INFO] [stderr] 6  | | );
[INFO] [stderr]    | |__- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/framework.rs:32:11
[INFO] [stderr]     |
[INFO] [stderr] 32  |           )+;
[INFO] [stderr]     |             ^ help: remove this semicolon
[INFO] [stderr]     | 
[INFO] [stderr]    ::: src/day25.rs:136:5
[INFO] [stderr]     |
[INFO] [stderr] 136 | /     assert_results!(part1, "\
[INFO] [stderr] 137 | | 0,0,0,0
[INFO] [stderr] 138 | | 3,0,0,0
[INFO] [stderr] 139 | | 0,3,0,0
[INFO] [stderr] ...   |
[INFO] [stderr] 182 | | 1,2,2,0
[INFO] [stderr] 183 | | -1,-2,0,-2" => 8);
[INFO] [stderr]     | |__________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to previous error
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0425`.
[INFO] [stderr] error: could not compile `advent_of_code_2018`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: aborting due to previous error
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0425`.
[INFO] [stderr] error: could not compile `advent_of_code_2018`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "2942ca7621dbb311b31baacdbd649d8b70edbe281e500ce97332d2249322950c"`
[INFO] running `"docker" "rm" "-f" "2942ca7621dbb311b31baacdbd649d8b70edbe281e500ce97332d2249322950c"`
[INFO] [stdout] 2942ca7621dbb311b31baacdbd649d8b70edbe281e500ce97332d2249322950c
