[INFO] cloning repository https://github.com/onesk/aoc2018 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/onesk/aoc2018" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fonesk%2Faoc2018", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fonesk%2Faoc2018'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b6d09c9b38d7e8a6b0653e13a929e2661253ac31 [INFO] checking onesk/aoc2018 against master#22572d0994593197593e2a1b7b18d720a9a349a7 for pr-126452-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fonesk%2Faoc2018" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/onesk/aoc2018 on toolchain 22572d0994593197593e2a1b7b18d720a9a349a7 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+22572d0994593197593e2a1b7b18d720a9a349a7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/onesk/aoc2018 [INFO] finished tweaking git repo https://github.com/onesk/aoc2018 [INFO] tweaked toml for git repo https://github.com/onesk/aoc2018 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/onesk/aoc2018 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+22572d0994593197593e2a1b7b18d720a9a349a7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+22572d0994593197593e2a1b7b18d720a9a349a7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] bfae05d9978026809859b884320906525a523e301a0cddf0ef0a55152a36f2a1 [INFO] running `Command { std: "docker" "start" "-a" "bfae05d9978026809859b884320906525a523e301a0cddf0ef0a55152a36f2a1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bfae05d9978026809859b884320906525a523e301a0cddf0ef0a55152a36f2a1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bfae05d9978026809859b884320906525a523e301a0cddf0ef0a55152a36f2a1", kill_on_drop: false }` [INFO] [stdout] bfae05d9978026809859b884320906525a523e301a0cddf0ef0a55152a36f2a1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+22572d0994593197593e2a1b7b18d720a9a349a7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fe6c9a4fff0682eb3a1700302d5571b24f300b7fc755f53d946cb8302a37e237 [INFO] running `Command { std: "docker" "start" "-a" "fe6c9a4fff0682eb3a1700302d5571b24f300b7fc755f53d946cb8302a37e237", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Compiling libc v0.2.44 [INFO] [stderr] Compiling num-traits v0.2.6 [INFO] [stderr] Compiling version_check v0.1.5 [INFO] [stderr] Compiling num-integer v0.1.39 [INFO] [stderr] Compiling num-complex v0.2.1 [INFO] [stderr] Checking cfg-if v0.1.6 [INFO] [stderr] Compiling matrixmultiply v0.1.15 [INFO] [stderr] Checking lazy_static v1.2.0 [INFO] [stderr] Compiling regex v1.1.0 [INFO] [stderr] Checking rawpointer v0.1.0 [INFO] [stderr] Checking either v1.5.0 [INFO] [stderr] Compiling ndarray v0.12.1 [INFO] [stderr] Checking ucd-util v0.1.3 [INFO] [stderr] Checking utf8-ranges v1.0.2 [INFO] [stderr] Checking thread_local v0.3.6 [INFO] [stderr] Checking itertools v0.7.11 [INFO] [stderr] Checking regex-syntax v0.6.4 [INFO] [stderr] Compiling memchr v2.1.1 [INFO] [stderr] Checking time v0.1.40 [INFO] [stderr] Checking aho-corasick v0.6.9 [INFO] [stderr] Checking chrono v0.4.6 [INFO] [stderr] Checking aoc2018 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/bin/7.rs:26:26 [INFO] [stdout] | [INFO] [stdout] 26 | Some(ch @ 'A'...'Z') => Some(Letter(ch as u8 - 'A' as u8)), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `date` is never read [INFO] [stdout] --> src/bin/4.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 62 | struct Span { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 63 | date: NaiveDate, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Span` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `re_prefix` should have an upper case name [INFO] [stdout] --> src/bin/4.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | static ref re_prefix: Regex = Regex::new(RE_PREFIX).expect("regex should compile"); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper case: `RE_PREFIX` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `re_guard` should have an upper case name [INFO] [stdout] --> src/bin/4.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | static ref re_guard: Regex = Regex::new(RE_GUARD).expect("regex should compile"); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `RE_GUARD` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `re_sleep` should have an upper case name [INFO] [stdout] --> src/bin/4.rs:20:16 [INFO] [stdout] | [INFO] [stdout] 20 | static ref re_sleep: Regex = Regex::new(RE_SLEEP).expect("regex should compile"); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `RE_SLEEP` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `re_awake` should have an upper case name [INFO] [stdout] --> src/bin/4.rs:21:16 [INFO] [stdout] | [INFO] [stdout] 21 | static ref re_awake: Regex = Regex::new(RE_AWAKE).expect("regex should compile"); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `RE_AWAKE` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&usize` instead of cloning the inner type [INFO] [stdout] --> src/bin/4.rs:129:95 [INFO] [stdout] | [INFO] [stdout] 129 | let (best_minute, _) = stats[best_guard_id].freqs.iter().enumerate().max_by_key(|(_, f)| f.clone()).expect("max freq exists"); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&usize` instead of cloning the inner type [INFO] [stdout] --> src/bin/4.rs:138:104 [INFO] [stdout] | [INFO] [stdout] 138 | .map(|(guard_id, Stats{ freqs, .. })| (guard_id, freqs.iter().enumerate().max_by_key(|(_, f)| f.clone()).expect("max freq exists"))) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&usize` instead of cloning the inner type [INFO] [stdout] --> src/bin/4.rs:139:36 [INFO] [stdout] | [INFO] [stdout] 139 | .max_by_key(|(_, (_, f))| f.clone()).expect("best guard exists"); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `line_re` should have an upper case name [INFO] [stdout] --> src/bin/7.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | static ref line_re: Regex = Regex::new("Step (.) must be finished before step (.) can begin.") [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper case: `LINE_RE` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/bin/7.rs:26:26 [INFO] [stdout] | [INFO] [stdout] 26 | Some(ch @ 'A'...'Z') => Some(Letter(ch as u8 - 'A' as u8)), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `date` is never read [INFO] [stdout] --> src/bin/4.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 62 | struct Span { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 63 | date: NaiveDate, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Span` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `re_prefix` should have an upper case name [INFO] [stdout] --> src/bin/4.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | static ref re_prefix: Regex = Regex::new(RE_PREFIX).expect("regex should compile"); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper case: `RE_PREFIX` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `re_guard` should have an upper case name [INFO] [stdout] --> src/bin/4.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | static ref re_guard: Regex = Regex::new(RE_GUARD).expect("regex should compile"); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `RE_GUARD` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `re_sleep` should have an upper case name [INFO] [stdout] --> src/bin/4.rs:20:16 [INFO] [stdout] | [INFO] [stdout] 20 | static ref re_sleep: Regex = Regex::new(RE_SLEEP).expect("regex should compile"); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `RE_SLEEP` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `re_awake` should have an upper case name [INFO] [stdout] --> src/bin/4.rs:21:16 [INFO] [stdout] | [INFO] [stdout] 21 | static ref re_awake: Regex = Regex::new(RE_AWAKE).expect("regex should compile"); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `RE_AWAKE` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&usize` instead of cloning the inner type [INFO] [stdout] --> src/bin/4.rs:129:95 [INFO] [stdout] | [INFO] [stdout] 129 | let (best_minute, _) = stats[best_guard_id].freqs.iter().enumerate().max_by_key(|(_, f)| f.clone()).expect("max freq exists"); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&usize` instead of cloning the inner type [INFO] [stdout] --> src/bin/4.rs:138:104 [INFO] [stdout] | [INFO] [stdout] 138 | .map(|(guard_id, Stats{ freqs, .. })| (guard_id, freqs.iter().enumerate().max_by_key(|(_, f)| f.clone()).expect("max freq exists"))) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&usize` instead of cloning the inner type [INFO] [stdout] --> src/bin/4.rs:139:36 [INFO] [stdout] | [INFO] [stdout] 139 | .max_by_key(|(_, (_, f))| f.clone()).expect("best guard exists"); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `line_re` should have an upper case name [INFO] [stdout] --> src/bin/7.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | static ref line_re: Regex = Regex::new("Step (.) must be finished before step (.) can begin.") [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper case: `LINE_RE` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.56s [INFO] running `Command { std: "docker" "inspect" "fe6c9a4fff0682eb3a1700302d5571b24f300b7fc755f53d946cb8302a37e237", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fe6c9a4fff0682eb3a1700302d5571b24f300b7fc755f53d946cb8302a37e237", kill_on_drop: false }` [INFO] [stdout] fe6c9a4fff0682eb3a1700302d5571b24f300b7fc755f53d946cb8302a37e237 [INFO] checking onesk/aoc2018 against try#6289438dbad80b1a0029c66dd3f6abf57c2c51be for pr-126452-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fonesk%2Faoc2018" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/onesk/aoc2018 on toolchain 6289438dbad80b1a0029c66dd3f6abf57c2c51be [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6289438dbad80b1a0029c66dd3f6abf57c2c51be" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/onesk/aoc2018 [INFO] finished tweaking git repo https://github.com/onesk/aoc2018 [INFO] tweaked toml for git repo https://github.com/onesk/aoc2018 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/onesk/aoc2018 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6289438dbad80b1a0029c66dd3f6abf57c2c51be" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+6289438dbad80b1a0029c66dd3f6abf57c2c51be" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f5ade7efaf9fde497969bc691f958a8f8ff4413a11aa91a91a0f25364a9a0612 [INFO] running `Command { std: "docker" "start" "-a" "f5ade7efaf9fde497969bc691f958a8f8ff4413a11aa91a91a0f25364a9a0612", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f5ade7efaf9fde497969bc691f958a8f8ff4413a11aa91a91a0f25364a9a0612", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f5ade7efaf9fde497969bc691f958a8f8ff4413a11aa91a91a0f25364a9a0612", kill_on_drop: false }` [INFO] [stdout] f5ade7efaf9fde497969bc691f958a8f8ff4413a11aa91a91a0f25364a9a0612 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+6289438dbad80b1a0029c66dd3f6abf57c2c51be" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0ca4ec9eec5f23402712d54c385fd4a02dfbe702751f88fdd4bc0c31eef3364d [INFO] running `Command { std: "docker" "start" "-a" "0ca4ec9eec5f23402712d54c385fd4a02dfbe702751f88fdd4bc0c31eef3364d", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Compiling libc v0.2.44 [INFO] [stderr] Compiling num-traits v0.2.6 [INFO] [stderr] Compiling version_check v0.1.5 [INFO] [stderr] Compiling num-integer v0.1.39 [INFO] [stderr] Compiling matrixmultiply v0.1.15 [INFO] [stderr] Checking cfg-if v0.1.6 [INFO] [stderr] Compiling num-complex v0.2.1 [INFO] [stderr] Compiling regex v1.1.0 [INFO] [stderr] Checking rawpointer v0.1.0 [INFO] [stderr] Checking either v1.5.0 [INFO] [stderr] Checking lazy_static v1.2.0 [INFO] [stderr] Checking ucd-util v0.1.3 [INFO] [stderr] Compiling ndarray v0.12.1 [INFO] [stderr] Checking utf8-ranges v1.0.2 [INFO] [stderr] Checking thread_local v0.3.6 [INFO] [stderr] Checking regex-syntax v0.6.4 [INFO] [stderr] Checking itertools v0.7.11 [INFO] [stderr] Compiling memchr v2.1.1 [INFO] [stderr] Checking time v0.1.40 [INFO] [stderr] Checking aho-corasick v0.6.9 [INFO] [stderr] Checking chrono v0.4.6 [INFO] [stderr] Checking aoc2018 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/bin/7.rs:26:26 [INFO] [stdout] | [INFO] [stdout] 26 | Some(ch @ 'A'...'Z') => Some(Letter(ch as u8 - 'A' as u8)), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/bin/7.rs:26:26 [INFO] [stdout] | [INFO] [stdout] 26 | Some(ch @ 'A'...'Z') => Some(Letter(ch as u8 - 'A' as u8)), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `line_re` should have an upper case name [INFO] [stdout] --> src/bin/7.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | static ref line_re: Regex = Regex::new("Step (.) must be finished before step (.) can begin.") [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper case: `LINE_RE` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `line_re` should have an upper case name [INFO] [stdout] --> src/bin/7.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | static ref line_re: Regex = Regex::new("Step (.) must be finished before step (.) can begin.") [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper case: `LINE_RE` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `date` is never read [INFO] [stdout] --> src/bin/4.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 62 | struct Span { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 63 | date: NaiveDate, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Span` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `re_prefix` should have an upper case name [INFO] [stdout] --> src/bin/4.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | static ref re_prefix: Regex = Regex::new(RE_PREFIX).expect("regex should compile"); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper case: `RE_PREFIX` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `re_guard` should have an upper case name [INFO] [stdout] --> src/bin/4.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | static ref re_guard: Regex = Regex::new(RE_GUARD).expect("regex should compile"); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `RE_GUARD` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `re_sleep` should have an upper case name [INFO] [stdout] --> src/bin/4.rs:20:16 [INFO] [stdout] | [INFO] [stdout] 20 | static ref re_sleep: Regex = Regex::new(RE_SLEEP).expect("regex should compile"); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `RE_SLEEP` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `re_awake` should have an upper case name [INFO] [stdout] --> src/bin/4.rs:21:16 [INFO] [stdout] | [INFO] [stdout] 21 | static ref re_awake: Regex = Regex::new(RE_AWAKE).expect("regex should compile"); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `RE_AWAKE` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&usize` instead of cloning the inner type [INFO] [stdout] --> src/bin/4.rs:129:95 [INFO] [stdout] | [INFO] [stdout] 129 | let (best_minute, _) = stats[best_guard_id].freqs.iter().enumerate().max_by_key(|(_, f)| f.clone()).expect("max freq exists"); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&usize` instead of cloning the inner type [INFO] [stdout] --> src/bin/4.rs:138:104 [INFO] [stdout] | [INFO] [stdout] 138 | .map(|(guard_id, Stats{ freqs, .. })| (guard_id, freqs.iter().enumerate().max_by_key(|(_, f)| f.clone()).expect("max freq exists"))) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&usize` instead of cloning the inner type [INFO] [stdout] --> src/bin/4.rs:139:36 [INFO] [stdout] | [INFO] [stdout] 139 | .max_by_key(|(_, (_, f))| f.clone()).expect("best guard exists"); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `date` is never read [INFO] [stdout] --> src/bin/4.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 62 | struct Span { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 63 | date: NaiveDate, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Span` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `re_prefix` should have an upper case name [INFO] [stdout] --> src/bin/4.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | static ref re_prefix: Regex = Regex::new(RE_PREFIX).expect("regex should compile"); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper case: `RE_PREFIX` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `re_guard` should have an upper case name [INFO] [stdout] --> src/bin/4.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | static ref re_guard: Regex = Regex::new(RE_GUARD).expect("regex should compile"); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `RE_GUARD` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `re_sleep` should have an upper case name [INFO] [stdout] --> src/bin/4.rs:20:16 [INFO] [stdout] | [INFO] [stdout] 20 | static ref re_sleep: Regex = Regex::new(RE_SLEEP).expect("regex should compile"); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `RE_SLEEP` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `re_awake` should have an upper case name [INFO] [stdout] --> src/bin/4.rs:21:16 [INFO] [stdout] | [INFO] [stdout] 21 | static ref re_awake: Regex = Regex::new(RE_AWAKE).expect("regex should compile"); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `RE_AWAKE` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&usize` instead of cloning the inner type [INFO] [stdout] --> src/bin/4.rs:129:95 [INFO] [stdout] | [INFO] [stdout] 129 | let (best_minute, _) = stats[best_guard_id].freqs.iter().enumerate().max_by_key(|(_, f)| f.clone()).expect("max freq exists"); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&usize` instead of cloning the inner type [INFO] [stdout] --> src/bin/4.rs:138:104 [INFO] [stdout] | [INFO] [stdout] 138 | .map(|(guard_id, Stats{ freqs, .. })| (guard_id, freqs.iter().enumerate().max_by_key(|(_, f)| f.clone()).expect("max freq exists"))) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&usize` instead of cloning the inner type [INFO] [stdout] --> src/bin/4.rs:139:36 [INFO] [stdout] | [INFO] [stdout] 139 | .max_by_key(|(_, (_, f))| f.clone()).expect("best guard exists"); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.66s [INFO] running `Command { std: "docker" "inspect" "0ca4ec9eec5f23402712d54c385fd4a02dfbe702751f88fdd4bc0c31eef3364d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0ca4ec9eec5f23402712d54c385fd4a02dfbe702751f88fdd4bc0c31eef3364d", kill_on_drop: false }` [INFO] [stdout] 0ca4ec9eec5f23402712d54c385fd4a02dfbe702751f88fdd4bc0c31eef3364d