[INFO] updating cached repository donjar/advent-of-code-2017-rust [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/donjar/advent-of-code-2017-rust [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/donjar/advent-of-code-2017-rust" "work/ex/clippy-test-run/sources/stable/gh/donjar/advent-of-code-2017-rust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/donjar/advent-of-code-2017-rust'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/donjar/advent-of-code-2017-rust" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/donjar/advent-of-code-2017-rust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/donjar/advent-of-code-2017-rust'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 5e1efeae0312bf911de91824316a9aa9a919f984 [INFO] sha for GitHub repo donjar/advent-of-code-2017-rust: 5e1efeae0312bf911de91824316a9aa9a919f984 [INFO] validating manifest of donjar/advent-of-code-2017-rust on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of donjar/advent-of-code-2017-rust on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing donjar/advent-of-code-2017-rust [INFO] finished frobbing donjar/advent-of-code-2017-rust [INFO] frobbed toml for donjar/advent-of-code-2017-rust written to work/ex/clippy-test-run/sources/stable/gh/donjar/advent-of-code-2017-rust/Cargo.toml [INFO] started frobbing donjar/advent-of-code-2017-rust [INFO] finished frobbing donjar/advent-of-code-2017-rust [INFO] frobbed toml for donjar/advent-of-code-2017-rust written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/donjar/advent-of-code-2017-rust/Cargo.toml [INFO] crate donjar/advent-of-code-2017-rust has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting donjar/advent-of-code-2017-rust against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/donjar/advent-of-code-2017-rust:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 97cd78b95590924a6fc74b0861510f7b9b9acb456cf9ca865fbe6a823ef0a189 [INFO] running `"docker" "start" "-a" "97cd78b95590924a6fc74b0861510f7b9b9acb456cf9ca865fbe6a823ef0a189"` [INFO] [stderr] Compiling unindent v0.1.2 [INFO] [stderr] Checking num-rational v0.1.40 [INFO] [stderr] Compiling indoc-impl v0.2.3 [INFO] [stderr] Checking num v0.1.41 [INFO] [stderr] Checking indoc v0.2.3 [INFO] [stderr] Checking advent_of_code_2017 v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/day19.rs:8:3 [INFO] [stderr] | [INFO] [stderr] 8 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::deprecated_cfg_attr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/day19.rs:8:3 [INFO] [stderr] | [INFO] [stderr] 8 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] | [INFO] [stderr] --> src/day20.rs:152:9 [INFO] [stderr] | [INFO] [stderr] 152 | a: a, [INFO] [stderr] | ^^^^ help: replace it with: `a` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = note: #[warn(clippy::deprecated_cfg_attr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/day20.rs:152:9 [INFO] [stderr] | [INFO] [stderr] 152 | a: a, [INFO] [stderr] | ^^^^ help: replace it with: `a` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day04.rs:64:7 [INFO] [stderr] | [INFO] [stderr] 64 | return 1; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day04.rs:86:7 [INFO] [stderr] | [INFO] [stderr] 86 | return 1; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day07.rs:189:5 [INFO] [stderr] | [INFO] [stderr] 189 | return *h.get(second).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `*h.get(second).unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day07.rs:191:5 [INFO] [stderr] | [INFO] [stderr] 191 | return *h.get(third).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `*h.get(third).unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day08.rs:135:15 [INFO] [stderr] | [INFO] [stderr] 135 | ">=" => return Ok(lhs >= rhs), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(lhs >= rhs)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day08.rs:136:14 [INFO] [stderr] | [INFO] [stderr] 136 | ">" => return Ok(lhs > rhs), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(lhs > rhs)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day08.rs:137:15 [INFO] [stderr] | [INFO] [stderr] 137 | "<=" => return Ok(lhs <= rhs), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(lhs <= rhs)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day08.rs:138:14 [INFO] [stderr] | [INFO] [stderr] 138 | "<" => return Ok(lhs < rhs), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(lhs < rhs)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day08.rs:139:15 [INFO] [stderr] | [INFO] [stderr] 139 | "==" => return Ok(lhs == rhs), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(lhs == rhs)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day08.rs:140:15 [INFO] [stderr] | [INFO] [stderr] 140 | "!=" => return Ok(lhs != rhs), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(lhs != rhs)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day08.rs:141:12 [INFO] [stderr] | [INFO] [stderr] 141 | _ => return Err(()), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day13.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | return depth * range; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `depth * range` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day13.rs:63:9 [INFO] [stderr] | [INFO] [stderr] 63 | return 0; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day13.rs:79:7 [INFO] [stderr] | [INFO] [stderr] 79 | return ((modulo - (depth % modulo)) % modulo, modulo); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `((modulo - (depth % modulo)) % modulo, modulo)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/day15.rs:63:23 [INFO] [stderr] | [INFO] [stderr] 63 | a = (a * 16807) % 2147483647; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `2_147_483_647` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/day15.rs:64:23 [INFO] [stderr] | [INFO] [stderr] 64 | b = (b * 48271) % 2147483647; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `2_147_483_647` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/day15.rs:78:23 [INFO] [stderr] | [INFO] [stderr] 78 | a = (a * 16807) % 2147483647; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `2_147_483_647` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/day15.rs:79:23 [INFO] [stderr] | [INFO] [stderr] 79 | b = (b * 48271) % 2147483647; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `2_147_483_647` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/day15.rs:82:25 [INFO] [stderr] | [INFO] [stderr] 82 | a = (a * 16807) % 2147483647; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `2_147_483_647` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/day15.rs:85:25 [INFO] [stderr] | [INFO] [stderr] 85 | b = (b * 48271) % 2147483647; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `2_147_483_647` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/day20.rs:64:7 [INFO] [stderr] | [INFO] [stderr] 64 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/day20.rs:63:17 [INFO] [stderr] | [INFO] [stderr] 63 | let res = Equation::sum(x, y, z); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/day22.rs:49:15 [INFO] [stderr] | [INFO] [stderr] 49 | run2(input, 10000000) [INFO] [stderr] | ^^^^^^^^ help: consider: `10_000_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/day23.rs:36:22 [INFO] [stderr] | [INFO] [stderr] 36 | let b = 99 * 100 + 100000; [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/day24.rs:135:7 [INFO] [stderr] | [INFO] [stderr] 135 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/day24.rs:134:17 [INFO] [stderr] | [INFO] [stderr] 134 | let res = Some((1 + rest.0, pin_sum + rest.1)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:51:10 [INFO] [stderr] | [INFO] [stderr] 51 | (01, 1) => println!("{}", day01::no1()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::zero_prefixed_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 51 | (1, 1) => println!("{}", day01::no1()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 51 | (0o1, 1) => println!("{}", day01::no1()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:52:10 [INFO] [stderr] | [INFO] [stderr] 52 | (01, 2) => println!("{}", day01::no2()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 52 | (1, 2) => println!("{}", day01::no2()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 52 | (0o1, 2) => println!("{}", day01::no2()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:53:10 [INFO] [stderr] | [INFO] [stderr] 53 | (02, 1) => println!("{}", day02::no1()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 53 | (2, 1) => println!("{}", day02::no1()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 53 | (0o2, 1) => println!("{}", day02::no1()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:54:10 [INFO] [stderr] | [INFO] [stderr] 54 | (02, 2) => println!("{}", day02::no2()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 54 | (2, 2) => println!("{}", day02::no2()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 54 | (0o2, 2) => println!("{}", day02::no2()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:55:10 [INFO] [stderr] | [INFO] [stderr] 55 | (03, 1) => println!("{}", day03::no1()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 55 | (3, 1) => println!("{}", day03::no1()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 55 | (0o3, 1) => println!("{}", day03::no1()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:56:10 [INFO] [stderr] | [INFO] [stderr] 56 | (03, 2) => println!("{}", day03::no2()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 56 | (3, 2) => println!("{}", day03::no2()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 56 | (0o3, 2) => println!("{}", day03::no2()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:57:10 [INFO] [stderr] | [INFO] [stderr] 57 | (04, 1) => println!("{}", day04::no1()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 57 | (4, 1) => println!("{}", day04::no1()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 57 | (0o4, 1) => println!("{}", day04::no1()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:58:10 [INFO] [stderr] | [INFO] [stderr] 58 | (04, 2) => println!("{}", day04::no2()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 58 | (4, 2) => println!("{}", day04::no2()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 58 | (0o4, 2) => println!("{}", day04::no2()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:59:10 [INFO] [stderr] | [INFO] [stderr] 59 | (05, 1) => println!("{}", day05::no1()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 59 | (5, 1) => println!("{}", day05::no1()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 59 | (0o5, 1) => println!("{}", day05::no1()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:60:10 [INFO] [stderr] | [INFO] [stderr] 60 | (05, 2) => println!("{}", day05::no2()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 60 | (5, 2) => println!("{}", day05::no2()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 60 | (0o5, 2) => println!("{}", day05::no2()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:61:10 [INFO] [stderr] | [INFO] [stderr] 61 | (06, 1) => println!("{}", day06::no1()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 61 | (6, 1) => println!("{}", day06::no1()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 61 | (0o6, 1) => println!("{}", day06::no1()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:62:10 [INFO] [stderr] | [INFO] [stderr] 62 | (06, 2) => println!("{}", day06::no2()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 62 | (6, 2) => println!("{}", day06::no2()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 62 | (0o6, 2) => println!("{}", day06::no2()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:63:10 [INFO] [stderr] | [INFO] [stderr] 63 | (07, 1) => println!("{}", day07::no1()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 63 | (7, 1) => println!("{}", day07::no1()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 63 | (0o7, 1) => println!("{}", day07::no1()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:64:10 [INFO] [stderr] | [INFO] [stderr] 64 | (07, 2) => println!("{}", day07::no2()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 64 | (7, 2) => println!("{}", day07::no2()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 64 | (0o7, 2) => println!("{}", day07::no2()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:65:10 [INFO] [stderr] | [INFO] [stderr] 65 | (08, 1) => println!("{}", day08::no1()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 65 | (8, 1) => println!("{}", day08::no1()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 65 | (0o8, 1) => println!("{}", day08::no1()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:66:10 [INFO] [stderr] | [INFO] [stderr] 66 | (08, 2) => println!("{}", day08::no2()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 66 | (8, 2) => println!("{}", day08::no2()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 66 | (0o8, 2) => println!("{}", day08::no2()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:67:10 [INFO] [stderr] | [INFO] [stderr] 67 | (09, 1) => println!("{}", day09::no1()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 67 | (9, 1) => println!("{}", day09::no1()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 67 | (0o9, 1) => println!("{}", day09::no1()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:68:10 [INFO] [stderr] | [INFO] [stderr] 68 | (09, 2) => println!("{}", day09::no2()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 68 | (9, 2) => println!("{}", day09::no2()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 68 | (0o9, 2) => println!("{}", day09::no2()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/day03.rs:31:16 [INFO] [stderr] | [INFO] [stderr] 31 | assert_eq!(330785, no2()); [INFO] [stderr] | ^^^^^^ help: consider: `330_785` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day04.rs:64:7 [INFO] [stderr] | [INFO] [stderr] 64 | return 1; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day04.rs:86:7 [INFO] [stderr] | [INFO] [stderr] 86 | return 1; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/day05.rs:21:16 [INFO] [stderr] | [INFO] [stderr] 21 | assert_eq!(381680, no1()); [INFO] [stderr] | ^^^^^^ help: consider: `381_680` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/day05.rs:26:16 [INFO] [stderr] | [INFO] [stderr] 26 | assert_eq!(29717847, no2()); [INFO] [stderr] | ^^^^^^^^ help: consider: `29_717_847` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day07.rs:189:5 [INFO] [stderr] | [INFO] [stderr] 189 | return *h.get(second).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `*h.get(second).unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day07.rs:191:5 [INFO] [stderr] | [INFO] [stderr] 191 | return *h.get(third).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `*h.get(third).unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day08.rs:135:15 [INFO] [stderr] | [INFO] [stderr] 135 | ">=" => return Ok(lhs >= rhs), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(lhs >= rhs)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day08.rs:136:14 [INFO] [stderr] | [INFO] [stderr] 136 | ">" => return Ok(lhs > rhs), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(lhs > rhs)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day08.rs:137:15 [INFO] [stderr] | [INFO] [stderr] 137 | "<=" => return Ok(lhs <= rhs), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(lhs <= rhs)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day08.rs:138:14 [INFO] [stderr] | [INFO] [stderr] 138 | "<" => return Ok(lhs < rhs), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(lhs < rhs)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day08.rs:139:15 [INFO] [stderr] | [INFO] [stderr] 139 | "==" => return Ok(lhs == rhs), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(lhs == rhs)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day08.rs:140:15 [INFO] [stderr] | [INFO] [stderr] 140 | "!=" => return Ok(lhs != rhs), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(lhs != rhs)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day08.rs:141:12 [INFO] [stderr] | [INFO] [stderr] 141 | _ => return Err(()), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/day13.rs:36:16 [INFO] [stderr] | [INFO] [stderr] 36 | assert_eq!(3833504, no2()); [INFO] [stderr] | ^^^^^^^ help: consider: `3_833_504` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day13.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | return depth * range; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `depth * range` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day13.rs:63:9 [INFO] [stderr] | [INFO] [stderr] 63 | return 0; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/day13.rs:79:7 [INFO] [stderr] | [INFO] [stderr] 79 | return ((modulo - (depth % modulo)) % modulo, modulo); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `((modulo - (depth % modulo)) % modulo, modulo)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/day15.rs:63:23 [INFO] [stderr] | [INFO] [stderr] 63 | a = (a * 16807) % 2147483647; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `2_147_483_647` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/day15.rs:64:23 [INFO] [stderr] | [INFO] [stderr] 64 | b = (b * 48271) % 2147483647; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `2_147_483_647` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/day15.rs:78:23 [INFO] [stderr] | [INFO] [stderr] 78 | a = (a * 16807) % 2147483647; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `2_147_483_647` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/day15.rs:79:23 [INFO] [stderr] | [INFO] [stderr] 79 | b = (b * 48271) % 2147483647; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `2_147_483_647` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/day15.rs:82:25 [INFO] [stderr] | [INFO] [stderr] 82 | a = (a * 16807) % 2147483647; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `2_147_483_647` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/day15.rs:85:25 [INFO] [stderr] | [INFO] [stderr] 85 | b = (b * 48271) % 2147483647; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `2_147_483_647` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/day17.rs:22:16 [INFO] [stderr] | [INFO] [stderr] 22 | assert_eq!(27361412, no2()); [INFO] [stderr] | ^^^^^^^^ help: consider: `27_361_412` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/day20.rs:64:7 [INFO] [stderr] | [INFO] [stderr] 64 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/day20.rs:63:17 [INFO] [stderr] | [INFO] [stderr] 63 | let res = Equation::sum(x, y, z); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/day21.rs:24:16 [INFO] [stderr] | [INFO] [stderr] 24 | assert_eq!(2204099, no2()); [INFO] [stderr] | ^^^^^^^ help: consider: `2_204_099` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/day22.rs:28:16 [INFO] [stderr] | [INFO] [stderr] 28 | assert_eq!(2511944, run2(input, 10000000)); [INFO] [stderr] | ^^^^^^^ help: consider: `2_511_944` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/day22.rs:28:37 [INFO] [stderr] | [INFO] [stderr] 28 | assert_eq!(2511944, run2(input, 10000000)); [INFO] [stderr] | ^^^^^^^^ help: consider: `10_000_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/day22.rs:38:16 [INFO] [stderr] | [INFO] [stderr] 38 | assert_eq!(2511702, no2()); [INFO] [stderr] | ^^^^^^^ help: consider: `2_511_702` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/day22.rs:49:15 [INFO] [stderr] | [INFO] [stderr] 49 | run2(input, 10000000) [INFO] [stderr] | ^^^^^^^^ help: consider: `10_000_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/day23.rs:36:22 [INFO] [stderr] | [INFO] [stderr] 36 | let b = 99 * 100 + 100000; [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/day24.rs:135:7 [INFO] [stderr] | [INFO] [stderr] 135 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/day24.rs:134:17 [INFO] [stderr] | [INFO] [stderr] 134 | let res = Some((1 + rest.0, pin_sum + rest.1)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:51:10 [INFO] [stderr] | [INFO] [stderr] 51 | (01, 1) => println!("{}", day01::no1()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::zero_prefixed_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 51 | (1, 1) => println!("{}", day01::no1()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 51 | (0o1, 1) => println!("{}", day01::no1()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:52:10 [INFO] [stderr] | [INFO] [stderr] 52 | (01, 2) => println!("{}", day01::no2()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 52 | (1, 2) => println!("{}", day01::no2()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 52 | (0o1, 2) => println!("{}", day01::no2()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:53:10 [INFO] [stderr] | [INFO] [stderr] 53 | (02, 1) => println!("{}", day02::no1()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 53 | (2, 1) => println!("{}", day02::no1()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 53 | (0o2, 1) => println!("{}", day02::no1()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:54:10 [INFO] [stderr] | [INFO] [stderr] 54 | (02, 2) => println!("{}", day02::no2()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 54 | (2, 2) => println!("{}", day02::no2()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 54 | (0o2, 2) => println!("{}", day02::no2()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:55:10 [INFO] [stderr] | [INFO] [stderr] 55 | (03, 1) => println!("{}", day03::no1()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 55 | (3, 1) => println!("{}", day03::no1()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 55 | (0o3, 1) => println!("{}", day03::no1()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:56:10 [INFO] [stderr] | [INFO] [stderr] 56 | (03, 2) => println!("{}", day03::no2()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 56 | (3, 2) => println!("{}", day03::no2()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 56 | (0o3, 2) => println!("{}", day03::no2()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:57:10 [INFO] [stderr] | [INFO] [stderr] 57 | (04, 1) => println!("{}", day04::no1()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 57 | (4, 1) => println!("{}", day04::no1()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 57 | (0o4, 1) => println!("{}", day04::no1()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:58:10 [INFO] [stderr] | [INFO] [stderr] 58 | (04, 2) => println!("{}", day04::no2()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 58 | (4, 2) => println!("{}", day04::no2()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 58 | (0o4, 2) => println!("{}", day04::no2()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:59:10 [INFO] [stderr] | [INFO] [stderr] 59 | (05, 1) => println!("{}", day05::no1()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 59 | (5, 1) => println!("{}", day05::no1()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 59 | (0o5, 1) => println!("{}", day05::no1()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:60:10 [INFO] [stderr] | [INFO] [stderr] 60 | (05, 2) => println!("{}", day05::no2()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 60 | (5, 2) => println!("{}", day05::no2()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 60 | (0o5, 2) => println!("{}", day05::no2()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:61:10 [INFO] [stderr] | [INFO] [stderr] 61 | (06, 1) => println!("{}", day06::no1()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 61 | (6, 1) => println!("{}", day06::no1()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 61 | (0o6, 1) => println!("{}", day06::no1()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:62:10 [INFO] [stderr] | [INFO] [stderr] 62 | (06, 2) => println!("{}", day06::no2()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 62 | (6, 2) => println!("{}", day06::no2()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 62 | (0o6, 2) => println!("{}", day06::no2()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:63:10 [INFO] [stderr] | [INFO] [stderr] 63 | (07, 1) => println!("{}", day07::no1()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 63 | (7, 1) => println!("{}", day07::no1()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 63 | (0o7, 1) => println!("{}", day07::no1()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:64:10 [INFO] [stderr] | [INFO] [stderr] 64 | (07, 2) => println!("{}", day07::no2()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 64 | (7, 2) => println!("{}", day07::no2()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 64 | (0o7, 2) => println!("{}", day07::no2()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:65:10 [INFO] [stderr] | [INFO] [stderr] 65 | (08, 1) => println!("{}", day08::no1()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 65 | (8, 1) => println!("{}", day08::no1()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 65 | (0o8, 1) => println!("{}", day08::no1()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:66:10 [INFO] [stderr] | [INFO] [stderr] 66 | (08, 2) => println!("{}", day08::no2()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 66 | (8, 2) => println!("{}", day08::no2()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 66 | (0o8, 2) => println!("{}", day08::no2()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:67:10 [INFO] [stderr] | [INFO] [stderr] 67 | (09, 1) => println!("{}", day09::no1()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 67 | (9, 1) => println!("{}", day09::no1()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 67 | (0o9, 1) => println!("{}", day09::no1()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/main.rs:68:10 [INFO] [stderr] | [INFO] [stderr] 68 | (09, 2) => println!("{}", day09::no2()), [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 68 | (9, 2) => println!("{}", day09::no2()), [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 68 | (0o9, 2) => println!("{}", day09::no2()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/helper.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 45 | fn knot<'a, I>( [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/day01.rs:48:18 [INFO] [stderr] | [INFO] [stderr] 48 | return s + (byte - b'0') as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(byte - b'0')` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/day04.rs:57:33 [INFO] [stderr] | [INFO] [stderr] 57 | for w in passphrase.split(" ") { [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/day04.rs:76:33 [INFO] [stderr] | [INFO] [stderr] 76 | for w in passphrase.split(" ") { [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/day06.rs:73:12 [INFO] [stderr] | [INFO] [stderr] 73 | for i in 1..(max + 1) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use: `1..=max` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day07.rs:104:18 [INFO] [stderr] | [INFO] [stderr] 104 | let val = *hash.get(&c).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `&hash[&c]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/day08.rs:107:32 [INFO] [stderr] | [INFO] [stderr] 107 | self.run_raw(register, -1 * dec, condition); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::neg_multiply)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/day08.rs:129:12 [INFO] [stderr] | [INFO] [stderr] 129 | if let Err(_) = captures[3].parse::() { [INFO] [stderr] | _____- ^^^^^^ [INFO] [stderr] 130 | | return Err(()); [INFO] [stderr] 131 | | } [INFO] [stderr] | |_____- help: try this: `if captures[3].parse::().is_err()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/day10.rs:43:28 [INFO] [stderr] | [INFO] [stderr] 43 | let lens = lengths.split(",").filter_map(|i| i.parse().ok()); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/day10.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | fn knot<'a, I>( [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/day11.rs:45:25 [INFO] [stderr] | [INFO] [stderr] 45 | let dirs = path.split(","); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/day11.rs:57:25 [INFO] [stderr] | [INFO] [stderr] 57 | let dirs = path.split(","); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/day12.rs:78:54 [INFO] [stderr] | [INFO] [stderr] 78 | let component = get_component(&adj_list_mapping, String::from(next)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `next` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/day16.rs:43:15 [INFO] [stderr] | [INFO] [stderr] 43 | line.push(('a' as u8) + i); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::char_lit_as_u8)] on by default [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/day16.rs:55:15 [INFO] [stderr] | [INFO] [stderr] 55 | line.push(('a' as u8) + i); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day16.rs:63:14 [INFO] [stderr] | [INFO] [stderr] 63 | line = iteration_map.get(&(amount % i)).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&iteration_map[&(amount % i)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/day16.rs:121:15 [INFO] [stderr] | [INFO] [stderr] 121 | *elem = second_u8.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*second_u8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/day16.rs:123:15 [INFO] [stderr] | [INFO] [stderr] 123 | *elem = first_u8.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*first_u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/day17.rs:62:12 [INFO] [stderr] | [INFO] [stderr] 62 | for i in 1..(iterations + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use: `1..=iterations` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/day18.rs:83:26 [INFO] [stderr] | [INFO] [stderr] 83 | .map(|l| l.split(" ").map(String::from).collect()) [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: Matching on `Some` with `ok()` is redundant [INFO] [stderr] --> src/day18.rs:138:5 [INFO] [stderr] | [INFO] [stderr] 138 | / if let Some(val) = argument.parse().ok() { [INFO] [stderr] 139 | | val [INFO] [stderr] 140 | | } else { [INFO] [stderr] 141 | | *self.registers.get(&argument).unwrap() [INFO] [stderr] 142 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::if_let_some_result)] on by default [INFO] [stderr] = help: Consider matching on `Ok(val)` and removing the call to `ok` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_let_some_result [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day18.rs:141:8 [INFO] [stderr] | [INFO] [stderr] 141 | *self.registers.get(&argument).unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.registers[&argument]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/day18.rs:172:26 [INFO] [stderr] | [INFO] [stderr] 172 | .map(|l| l.split(" ").map(String::from).collect()) [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/day18.rs:185:21 [INFO] [stderr] | [INFO] [stderr] 185 | let counter = self.current_counter().clone() as usize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.current_counter()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: Matching on `Some` with `ok()` is redundant [INFO] [stderr] --> src/day18.rs:245:5 [INFO] [stderr] | [INFO] [stderr] 245 | / if let Some(val) = argument.parse().ok() { [INFO] [stderr] 246 | | val [INFO] [stderr] 247 | | } else { [INFO] [stderr] 248 | | *self.current_registers().get(&argument).unwrap() [INFO] [stderr] 249 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: Consider matching on `Ok(val)` and removing the call to `ok` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_let_some_result [INFO] [stderr] [INFO] [stderr] warning: called `filter(p).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(p)` instead. [INFO] [stderr] --> src/day19.rs:65:21 [INFO] [stderr] | [INFO] [stderr] 65 | direction = Direction::all() [INFO] [stderr] | _____________________^ [INFO] [stderr] 66 | | .into_iter() [INFO] [stderr] 67 | | .filter(|&d| { [INFO] [stderr] 68 | | let c = next(current, d); [INFO] [stderr] 69 | | d != direction.reverse() && matrix[c.x][c.y] != ' ' [INFO] [stderr] 70 | | }) [INFO] [stderr] 71 | | .next() [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::filter_next)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/day20.rs:74:22 [INFO] [stderr] | [INFO] [stderr] 74 | let mut particles: Vec<((i32, i32, i32), (i32, i32, i32), (i32, i32, i32))> = [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/day20.rs:99:14 [INFO] [stderr] | [INFO] [stderr] 99 | particles: &mut Vec<((i32, i32, i32), (i32, i32, i32), (i32, i32, i32))>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/day20.rs:125:14 [INFO] [stderr] | [INFO] [stderr] 125 | particles: &mut Vec<((i32, i32, i32), (i32, i32, i32), (i32, i32, i32))>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/day20.rs:158:12 [INFO] [stderr] | [INFO] [stderr] 158 | a: -1 * a, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/day20.rs:159:12 [INFO] [stderr] | [INFO] [stderr] 159 | b: -1 * (2 * v + a), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/day21.rs:87:41 [INFO] [stderr] | [INFO] [stderr] 87 | .map(|ref c| self.transform(c.clone().clone())) [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::clone_double_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 87 | .map(|ref c| self.transform(&(*c).clone().clone())) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 87 | .map(|ref c| self.transform(&day21::Component::clone(c).clone())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `components`. [INFO] [stderr] --> src/day21.rs:144:14 [INFO] [stderr] | [INFO] [stderr] 144 | for i in 0..components.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 144 | for in &components { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/day21.rs:193:13 [INFO] [stderr] | [INFO] [stderr] 193 | matrix: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `matrix`. [INFO] [stderr] --> src/day21.rs:200:14 [INFO] [stderr] | [INFO] [stderr] 200 | for i in xmin..xmax { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 200 | for in matrix.iter().take(xmax).skip(xmin) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/day21.rs:240:14 [INFO] [stderr] | [INFO] [stderr] 240 | .split("/") [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `matrix` [INFO] [stderr] --> src/day22.rs:89:14 [INFO] [stderr] | [INFO] [stderr] 89 | for i in 0..height { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 89 | for (i, ) in matrix.iter().enumerate().take(height) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/day22.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 114 | / if self.status.contains_key(&self.position) { [INFO] [stderr] 115 | | // Uninfect and turn right [INFO] [stderr] 116 | | self.status.remove(&self.position); [INFO] [stderr] 117 | | self.direction = self.direction.right(); [INFO] [stderr] ... | [INFO] [stderr] 124 | | self.count_infected += 1; [INFO] [stderr] 125 | | } [INFO] [stderr] | |_____^ help: consider using: `self.status.entry(self.position)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_entry)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/day23.rs:89:26 [INFO] [stderr] | [INFO] [stderr] 89 | .map(|l| l.split(" ").map(String::from).collect()) [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: Matching on `Some` with `ok()` is redundant [INFO] [stderr] --> src/day23.rs:136:5 [INFO] [stderr] | [INFO] [stderr] 136 | / if let Some(val) = argument.parse().ok() { [INFO] [stderr] 137 | | val [INFO] [stderr] 138 | | } else { [INFO] [stderr] 139 | | *self.registers.get(&argument).unwrap() [INFO] [stderr] 140 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: Consider matching on `Ok(val)` and removing the call to `ok` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_let_some_result [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day23.rs:139:8 [INFO] [stderr] | [INFO] [stderr] 139 | *self.registers.get(&argument).unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.registers[&argument]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/day24.rs:64:28 [INFO] [stderr] | [INFO] [stderr] 64 | let mut sp = l.split("/"); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/day24.rs:82:28 [INFO] [stderr] | [INFO] [stderr] 82 | let mut sp = l.split("/"); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/day25.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | / loop { [INFO] [stderr] 85 | | if let Some(curr_state) = Machine::capture_next_line( [INFO] [stderr] 86 | | &mut lines, [INFO] [stderr] 87 | | r"^In state (.):$", [INFO] [stderr] ... | [INFO] [stderr] 128 | | } [INFO] [stderr] 129 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 84 | while let Some(curr_state) = Machine::capture_next_line( [INFO] [stderr] 85 | &mut lines, [INFO] [stderr] 86 | r"^In state (.):$", [INFO] [stderr] 87 | ).map(|i| i.chars().next().unwrap()) { .. } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/day25.rs:90:9 [INFO] [stderr] | [INFO] [stderr] 90 | / loop { [INFO] [stderr] 91 | | if let Some(curr_value) = Machine::capture_next_line( [INFO] [stderr] 92 | | &mut lines, [INFO] [stderr] 93 | | r"^ If the current value is (\d+):$", [INFO] [stderr] ... | [INFO] [stderr] 124 | | } [INFO] [stderr] 125 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 90 | while let Some(curr_value) = Machine::capture_next_line( [INFO] [stderr] 91 | &mut lines, [INFO] [stderr] 92 | r"^ If the current value is (\d+):$", [INFO] [stderr] 93 | ).map(|i| i == "1") { .. } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Matching on `Some` with `ok()` is redundant [INFO] [stderr] --> src/main.rs:48:3 [INFO] [stderr] | [INFO] [stderr] 48 | / if let Some(day) = args[1].parse::().ok() { [INFO] [stderr] 49 | | if let Some(no) = args[2].parse::().ok() { [INFO] [stderr] 50 | | match (day, no) { [INFO] [stderr] 51 | | (01, 1) => println!("{}", day01::no1()), [INFO] [stderr] ... | [INFO] [stderr] 108 | | exit(1); [INFO] [stderr] 109 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: Consider matching on `Ok(day)` and removing the call to `ok` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_let_some_result [INFO] [stderr] [INFO] [stderr] warning: Matching on `Some` with `ok()` is redundant [INFO] [stderr] --> src/main.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | / if let Some(no) = args[2].parse::().ok() { [INFO] [stderr] 50 | | match (day, no) { [INFO] [stderr] 51 | | (01, 1) => println!("{}", day01::no1()), [INFO] [stderr] 52 | | (01, 2) => println!("{}", day01::no2()), [INFO] [stderr] ... | [INFO] [stderr] 104 | | exit(1); [INFO] [stderr] 105 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: Consider matching on `Ok(no)` and removing the call to `ok` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_let_some_result [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `advent_of_code_2017`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/helper.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 45 | fn knot<'a, I>( [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/day01.rs:48:18 [INFO] [stderr] | [INFO] [stderr] 48 | return s + (byte - b'0') as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(byte - b'0')` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/day04.rs:57:33 [INFO] [stderr] | [INFO] [stderr] 57 | for w in passphrase.split(" ") { [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/day04.rs:76:33 [INFO] [stderr] | [INFO] [stderr] 76 | for w in passphrase.split(" ") { [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/day06.rs:73:12 [INFO] [stderr] | [INFO] [stderr] 73 | for i in 1..(max + 1) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use: `1..=max` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day07.rs:104:18 [INFO] [stderr] | [INFO] [stderr] 104 | let val = *hash.get(&c).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `&hash[&c]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/day08.rs:107:32 [INFO] [stderr] | [INFO] [stderr] 107 | self.run_raw(register, -1 * dec, condition); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::neg_multiply)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/day08.rs:129:12 [INFO] [stderr] | [INFO] [stderr] 129 | if let Err(_) = captures[3].parse::() { [INFO] [stderr] | _____- ^^^^^^ [INFO] [stderr] 130 | | return Err(()); [INFO] [stderr] 131 | | } [INFO] [stderr] | |_____- help: try this: `if captures[3].parse::().is_err()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/day10.rs:43:28 [INFO] [stderr] | [INFO] [stderr] 43 | let lens = lengths.split(",").filter_map(|i| i.parse().ok()); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/day10.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | fn knot<'a, I>( [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/day11.rs:45:25 [INFO] [stderr] | [INFO] [stderr] 45 | let dirs = path.split(","); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/day11.rs:57:25 [INFO] [stderr] | [INFO] [stderr] 57 | let dirs = path.split(","); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/day12.rs:78:54 [INFO] [stderr] | [INFO] [stderr] 78 | let component = get_component(&adj_list_mapping, String::from(next)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `next` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/day16.rs:43:15 [INFO] [stderr] | [INFO] [stderr] 43 | line.push(('a' as u8) + i); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::char_lit_as_u8)] on by default [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/day16.rs:55:15 [INFO] [stderr] | [INFO] [stderr] 55 | line.push(('a' as u8) + i); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day16.rs:63:14 [INFO] [stderr] | [INFO] [stderr] 63 | line = iteration_map.get(&(amount % i)).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&iteration_map[&(amount % i)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/day16.rs:121:15 [INFO] [stderr] | [INFO] [stderr] 121 | *elem = second_u8.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*second_u8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/day16.rs:123:15 [INFO] [stderr] | [INFO] [stderr] 123 | *elem = first_u8.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*first_u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/day17.rs:62:12 [INFO] [stderr] | [INFO] [stderr] 62 | for i in 1..(iterations + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use: `1..=iterations` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/day18.rs:83:26 [INFO] [stderr] | [INFO] [stderr] 83 | .map(|l| l.split(" ").map(String::from).collect()) [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: Matching on `Some` with `ok()` is redundant [INFO] [stderr] --> src/day18.rs:138:5 [INFO] [stderr] | [INFO] [stderr] 138 | / if let Some(val) = argument.parse().ok() { [INFO] [stderr] 139 | | val [INFO] [stderr] 140 | | } else { [INFO] [stderr] 141 | | *self.registers.get(&argument).unwrap() [INFO] [stderr] 142 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::if_let_some_result)] on by default [INFO] [stderr] = help: Consider matching on `Ok(val)` and removing the call to `ok` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_let_some_result [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day18.rs:141:8 [INFO] [stderr] | [INFO] [stderr] 141 | *self.registers.get(&argument).unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.registers[&argument]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/day18.rs:172:26 [INFO] [stderr] | [INFO] [stderr] 172 | .map(|l| l.split(" ").map(String::from).collect()) [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/day18.rs:185:21 [INFO] [stderr] | [INFO] [stderr] 185 | let counter = self.current_counter().clone() as usize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.current_counter()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: Matching on `Some` with `ok()` is redundant [INFO] [stderr] --> src/day18.rs:245:5 [INFO] [stderr] | [INFO] [stderr] 245 | / if let Some(val) = argument.parse().ok() { [INFO] [stderr] 246 | | val [INFO] [stderr] 247 | | } else { [INFO] [stderr] 248 | | *self.current_registers().get(&argument).unwrap() [INFO] [stderr] 249 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: Consider matching on `Ok(val)` and removing the call to `ok` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_let_some_result [INFO] [stderr] [INFO] [stderr] warning: called `filter(p).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(p)` instead. [INFO] [stderr] --> src/day19.rs:65:21 [INFO] [stderr] | [INFO] [stderr] 65 | direction = Direction::all() [INFO] [stderr] | _____________________^ [INFO] [stderr] 66 | | .into_iter() [INFO] [stderr] 67 | | .filter(|&d| { [INFO] [stderr] 68 | | let c = next(current, d); [INFO] [stderr] 69 | | d != direction.reverse() && matrix[c.x][c.y] != ' ' [INFO] [stderr] 70 | | }) [INFO] [stderr] 71 | | .next() [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::filter_next)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/day20.rs:74:22 [INFO] [stderr] | [INFO] [stderr] 74 | let mut particles: Vec<((i32, i32, i32), (i32, i32, i32), (i32, i32, i32))> = [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/day20.rs:99:14 [INFO] [stderr] | [INFO] [stderr] 99 | particles: &mut Vec<((i32, i32, i32), (i32, i32, i32), (i32, i32, i32))>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/day20.rs:125:14 [INFO] [stderr] | [INFO] [stderr] 125 | particles: &mut Vec<((i32, i32, i32), (i32, i32, i32), (i32, i32, i32))>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/day20.rs:158:12 [INFO] [stderr] | [INFO] [stderr] 158 | a: -1 * a, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/day20.rs:159:12 [INFO] [stderr] | [INFO] [stderr] 159 | b: -1 * (2 * v + a), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/day21.rs:87:41 [INFO] [stderr] | [INFO] [stderr] 87 | .map(|ref c| self.transform(c.clone().clone())) [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::clone_double_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 87 | .map(|ref c| self.transform(&(*c).clone().clone())) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 87 | .map(|ref c| self.transform(&day21::Component::clone(c).clone())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `components`. [INFO] [stderr] --> src/day21.rs:144:14 [INFO] [stderr] | [INFO] [stderr] 144 | for i in 0..components.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 144 | for in &components { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/day21.rs:193:13 [INFO] [stderr] | [INFO] [stderr] 193 | matrix: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `matrix`. [INFO] [stderr] --> src/day21.rs:200:14 [INFO] [stderr] | [INFO] [stderr] 200 | for i in xmin..xmax { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 200 | for in matrix.iter().take(xmax).skip(xmin) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/day21.rs:240:14 [INFO] [stderr] | [INFO] [stderr] 240 | .split("/") [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `matrix` [INFO] [stderr] --> src/day22.rs:89:14 [INFO] [stderr] | [INFO] [stderr] 89 | for i in 0..height { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 89 | for (i, ) in matrix.iter().enumerate().take(height) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/day22.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 114 | / if self.status.contains_key(&self.position) { [INFO] [stderr] 115 | | // Uninfect and turn right [INFO] [stderr] 116 | | self.status.remove(&self.position); [INFO] [stderr] 117 | | self.direction = self.direction.right(); [INFO] [stderr] ... | [INFO] [stderr] 124 | | self.count_infected += 1; [INFO] [stderr] 125 | | } [INFO] [stderr] | |_____^ help: consider using: `self.status.entry(self.position)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_entry)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/day23.rs:89:26 [INFO] [stderr] | [INFO] [stderr] 89 | .map(|l| l.split(" ").map(String::from).collect()) [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: Matching on `Some` with `ok()` is redundant [INFO] [stderr] --> src/day23.rs:136:5 [INFO] [stderr] | [INFO] [stderr] 136 | / if let Some(val) = argument.parse().ok() { [INFO] [stderr] 137 | | val [INFO] [stderr] 138 | | } else { [INFO] [stderr] 139 | | *self.registers.get(&argument).unwrap() [INFO] [stderr] 140 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: Consider matching on `Ok(val)` and removing the call to `ok` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_let_some_result [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/day23.rs:139:8 [INFO] [stderr] | [INFO] [stderr] 139 | *self.registers.get(&argument).unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.registers[&argument]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/day24.rs:64:28 [INFO] [stderr] | [INFO] [stderr] 64 | let mut sp = l.split("/"); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/day24.rs:82:28 [INFO] [stderr] | [INFO] [stderr] 82 | let mut sp = l.split("/"); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/day25.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | / loop { [INFO] [stderr] 85 | | if let Some(curr_state) = Machine::capture_next_line( [INFO] [stderr] 86 | | &mut lines, [INFO] [stderr] 87 | | r"^In state (.):$", [INFO] [stderr] ... | [INFO] [stderr] 128 | | } [INFO] [stderr] 129 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 84 | while let Some(curr_state) = Machine::capture_next_line( [INFO] [stderr] 85 | &mut lines, [INFO] [stderr] 86 | r"^In state (.):$", [INFO] [stderr] 87 | ).map(|i| i.chars().next().unwrap()) { .. } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/day25.rs:90:9 [INFO] [stderr] | [INFO] [stderr] 90 | / loop { [INFO] [stderr] 91 | | if let Some(curr_value) = Machine::capture_next_line( [INFO] [stderr] 92 | | &mut lines, [INFO] [stderr] 93 | | r"^ If the current value is (\d+):$", [INFO] [stderr] ... | [INFO] [stderr] 124 | | } [INFO] [stderr] 125 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 90 | while let Some(curr_value) = Machine::capture_next_line( [INFO] [stderr] 91 | &mut lines, [INFO] [stderr] 92 | r"^ If the current value is (\d+):$", [INFO] [stderr] 93 | ).map(|i| i == "1") { .. } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Matching on `Some` with `ok()` is redundant [INFO] [stderr] --> src/main.rs:48:3 [INFO] [stderr] | [INFO] [stderr] 48 | / if let Some(day) = args[1].parse::().ok() { [INFO] [stderr] 49 | | if let Some(no) = args[2].parse::().ok() { [INFO] [stderr] 50 | | match (day, no) { [INFO] [stderr] 51 | | (01, 1) => println!("{}", day01::no1()), [INFO] [stderr] ... | [INFO] [stderr] 108 | | exit(1); [INFO] [stderr] 109 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: Consider matching on `Ok(day)` and removing the call to `ok` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_let_some_result [INFO] [stderr] [INFO] [stderr] warning: Matching on `Some` with `ok()` is redundant [INFO] [stderr] --> src/main.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | / if let Some(no) = args[2].parse::().ok() { [INFO] [stderr] 50 | | match (day, no) { [INFO] [stderr] 51 | | (01, 1) => println!("{}", day01::no1()), [INFO] [stderr] 52 | | (01, 2) => println!("{}", day01::no2()), [INFO] [stderr] ... | [INFO] [stderr] 104 | | exit(1); [INFO] [stderr] 105 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: Consider matching on `Ok(no)` and removing the call to `ok` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_let_some_result [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `advent_of_code_2017`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "97cd78b95590924a6fc74b0861510f7b9b9acb456cf9ca865fbe6a823ef0a189"` [INFO] running `"docker" "rm" "-f" "97cd78b95590924a6fc74b0861510f7b9b9acb456cf9ca865fbe6a823ef0a189"` [INFO] [stdout] 97cd78b95590924a6fc74b0861510f7b9b9acb456cf9ca865fbe6a823ef0a189