[INFO] cloning repository https://github.com/tripped/matasano-crypto [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tripped/matasano-crypto" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftripped%2Fmatasano-crypto", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftripped%2Fmatasano-crypto'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 642511e252f33d93595b2608494fe57efd1b68e4 [INFO] checking tripped/matasano-crypto against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftripped%2Fmatasano-crypto" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/tripped/matasano-crypto on toolchain 1f12b9b0fdbe735968ac002792a720f0ba4faca6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/tripped/matasano-crypto [INFO] finished tweaking git repo https://github.com/tripped/matasano-crypto [INFO] tweaked toml for git repo https://github.com/tripped/matasano-crypto written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/tripped/matasano-crypto 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" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "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] [stderr] Downloading crates ... [INFO] [stderr] Downloaded itertools v0.4.13 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0d447c117c31e4e77d8b78ab253d39eaf49e3b22860e00a9afa4c470b73f2f1a [INFO] running `Command { std: "docker" "start" "-a" "0d447c117c31e4e77d8b78ab253d39eaf49e3b22860e00a9afa4c470b73f2f1a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0d447c117c31e4e77d8b78ab253d39eaf49e3b22860e00a9afa4c470b73f2f1a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0d447c117c31e4e77d8b78ab253d39eaf49e3b22860e00a9afa4c470b73f2f1a", kill_on_drop: false }` [INFO] [stdout] 0d447c117c31e4e77d8b78ab253d39eaf49e3b22860e00a9afa4c470b73f2f1a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6a349d5cf7e146d115f5a727f46216927e87ad548877a29871e8c867e659e507 [INFO] running `Command { std: "docker" "start" "-a" "6a349d5cf7e146d115f5a727f46216927e87ad548877a29871e8c867e659e507", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Checking itertools v0.4.13 [INFO] [stderr] Checking matasano-crypto v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/main.rs:99:17 [INFO] [stdout] | [INFO] [stdout] 99 | '!' ... '/' => { score -= 1; }, [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/main.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | '0' ... '9' => { score += 0; }, [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] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/main.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | ':' ... '@' => { score -= 2; }, [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] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/main.rs:102:17 [INFO] [stdout] | [INFO] [stdout] 102 | 'A' ... 'Z' => { score -= 1; }, [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] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/main.rs:103:17 [INFO] [stdout] | [INFO] [stdout] 103 | '[' ... '`' => { score -= 2; }, [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] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/main.rs:104:17 [INFO] [stdout] | [INFO] [stdout] 104 | 'a' ... 'z' => { score += 2; }, [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] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/main.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | '{' ... '~' => { score -= 1; }, [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] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/main.rs:147:13 [INFO] [stdout] | [INFO] [stdout] 147 | let f = try!(File::open(input_filename)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/main.rs:275:13 [INFO] [stdout] | [INFO] [stdout] 275 | let f = try!(File::open(filename)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `iter_arith` has been stable since 1.11.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | #![feature(iter_arith)] [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/main.rs:99:17 [INFO] [stdout] | [INFO] [stdout] 99 | '!' ... '/' => { score -= 1; }, [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/main.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | '0' ... '9' => { score += 0; }, [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] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/main.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | ':' ... '@' => { score -= 2; }, [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] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/main.rs:102:17 [INFO] [stdout] | [INFO] [stdout] 102 | 'A' ... 'Z' => { score -= 1; }, [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] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/main.rs:103:17 [INFO] [stdout] | [INFO] [stdout] 103 | '[' ... '`' => { score -= 2; }, [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] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/main.rs:104:17 [INFO] [stdout] | [INFO] [stdout] 104 | 'a' ... 'z' => { score += 2; }, [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] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/main.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | '{' ... '~' => { score -= 1; }, [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] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/main.rs:147:13 [INFO] [stdout] | [INFO] [stdout] 147 | let f = try!(File::open(input_filename)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/main.rs:275:13 [INFO] [stdout] | [INFO] [stdout] 275 | let f = try!(File::open(filename)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `iter_arith` has been stable since 1.11.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | #![feature(iter_arith)] [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BytesToChars` is never constructed [INFO] [stdout] --> src/main.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | struct BytesToChars { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `BytesToCharsExt` is never used [INFO] [stdout] --> src/main.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | trait BytesToCharsExt: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hex_to_base64` is never used [INFO] [stdout] --> src/main.rs:51:4 [INFO] [stdout] | [INFO] [stdout] 51 | fn hex_to_base64(s: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `xor` is never used [INFO] [stdout] --> src/main.rs:67:4 [INFO] [stdout] | [INFO] [stdout] 67 | fn xor(a: &str, b: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `score` is never used [INFO] [stdout] --> src/main.rs:90:4 [INFO] [stdout] | [INFO] [stdout] 90 | fn score(plaintext: &str) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decrypt_single_xor` is never used [INFO] [stdout] --> src/main.rs:112:4 [INFO] [stdout] | [INFO] [stdout] 112 | fn decrypt_single_xor(ciphertext: &str) -> (i32, String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_single_char_xor` is never used [INFO] [stdout] --> src/main.rs:145:4 [INFO] [stdout] | [INFO] [stdout] 145 | fn find_single_char_xor(input_filename: &str) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bytes_to_hex` is never used [INFO] [stdout] --> src/main.rs:176:4 [INFO] [stdout] | [INFO] [stdout] 176 | fn bytes_to_hex>(iter: I) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `repeating_key_xor` is never used [INFO] [stdout] --> src/main.rs:203:4 [INFO] [stdout] | [INFO] [stdout] 203 | fn repeating_key_xor(text: &str, key: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hamming_distance` is never used [INFO] [stdout] --> src/main.rs:227:4 [INFO] [stdout] | [INFO] [stdout] 227 | fn hamming_distance(a: A, b: B) -> usize [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hamming_distance_str` is never used [INFO] [stdout] --> src/main.rs:245:4 [INFO] [stdout] | [INFO] [stdout] 245 | fn hamming_distance_str(a: &str, b: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_key_lengths` is never used [INFO] [stdout] --> src/main.rs:257:4 [INFO] [stdout] | [INFO] [stdout] 257 | fn find_key_lengths(data: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_key_lengths_for_file` is never used [INFO] [stdout] --> src/main.rs:274:4 [INFO] [stdout] | [INFO] [stdout] 274 | fn find_key_lengths_for_file(filename: &str) -> std::io::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `hexbytes` is never used [INFO] [stdout] --> src/hex.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub trait HexToBytesExt: Sized { [INFO] [stdout] | ------------- method in this trait [INFO] [stdout] 22 | fn hexbytes(self) -> HexToBytes; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `base64` is never used [INFO] [stdout] --> src/base64.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub trait Base64Ext: Sized { [INFO] [stdout] | --------- method in this trait [INFO] [stdout] 60 | fn base64(self) -> Base64; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `b64encode` is never used [INFO] [stdout] --> src/base64.rs:70:4 [INFO] [stdout] | [INFO] [stdout] 70 | fn b64encode(data: &[u8]) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `xor` is never used [INFO] [stdout] --> src/xor.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub trait XorExt: Sized { [INFO] [stdout] | ------ method in this trait [INFO] [stdout] 26 | fn xor(self, other: Y) -> Xor; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.41s [INFO] running `Command { std: "docker" "inspect" "6a349d5cf7e146d115f5a727f46216927e87ad548877a29871e8c867e659e507", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6a349d5cf7e146d115f5a727f46216927e87ad548877a29871e8c867e659e507", kill_on_drop: false }` [INFO] [stdout] 6a349d5cf7e146d115f5a727f46216927e87ad548877a29871e8c867e659e507 [INFO] checking tripped/matasano-crypto against try#f9935d29d867449445ee008640ccca1bf1ae0889+rustflags=-Dtail_expr_drop_order for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftripped%2Fmatasano-crypto" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/tripped/matasano-crypto on toolchain f9935d29d867449445ee008640ccca1bf1ae0889 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/tripped/matasano-crypto [INFO] finished tweaking git repo https://github.com/tripped/matasano-crypto [INFO] tweaked toml for git repo https://github.com/tripped/matasano-crypto written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/tripped/matasano-crypto 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" "+f9935d29d867449445ee008640ccca1bf1ae0889" "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-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+f9935d29d867449445ee008640ccca1bf1ae0889" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a6ce9ff62d5c8a2e7ebb9cea80ae7342e3cff8f3bc768e16f235417f12b64aa0 [INFO] running `Command { std: "docker" "start" "-a" "a6ce9ff62d5c8a2e7ebb9cea80ae7342e3cff8f3bc768e16f235417f12b64aa0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a6ce9ff62d5c8a2e7ebb9cea80ae7342e3cff8f3bc768e16f235417f12b64aa0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a6ce9ff62d5c8a2e7ebb9cea80ae7342e3cff8f3bc768e16f235417f12b64aa0", kill_on_drop: false }` [INFO] [stdout] a6ce9ff62d5c8a2e7ebb9cea80ae7342e3cff8f3bc768e16f235417f12b64aa0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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 -Dtail_expr_drop_order" "-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" "+f9935d29d867449445ee008640ccca1bf1ae0889" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 09163a7853535ca55b9ff66d49f9bae8b5e7612f1b69d449cc00ee303d4140ad [INFO] running `Command { std: "docker" "start" "-a" "09163a7853535ca55b9ff66d49f9bae8b5e7612f1b69d449cc00ee303d4140ad", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Checking itertools v0.4.13 [INFO] [stderr] Checking matasano-crypto v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/main.rs:99:17 [INFO] [stdout] | [INFO] [stdout] 99 | '!' ... '/' => { score -= 1; }, [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/main.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | '0' ... '9' => { score += 0; }, [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] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/main.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | ':' ... '@' => { score -= 2; }, [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] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/main.rs:102:17 [INFO] [stdout] | [INFO] [stdout] 102 | 'A' ... 'Z' => { score -= 1; }, [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] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/main.rs:103:17 [INFO] [stdout] | [INFO] [stdout] 103 | '[' ... '`' => { score -= 2; }, [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] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/main.rs:104:17 [INFO] [stdout] | [INFO] [stdout] 104 | 'a' ... 'z' => { score += 2; }, [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] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/main.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | '{' ... '~' => { score -= 1; }, [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] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/main.rs:147:13 [INFO] [stdout] | [INFO] [stdout] 147 | let f = try!(File::open(input_filename)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/main.rs:275:13 [INFO] [stdout] | [INFO] [stdout] 275 | let f = try!(File::open(filename)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `iter_arith` has been stable since 1.11.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | #![feature(iter_arith)] [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/main.rs:99:17 [INFO] [stdout] | [INFO] [stdout] 99 | '!' ... '/' => { score -= 1; }, [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/main.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | '0' ... '9' => { score += 0; }, [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] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/main.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | ':' ... '@' => { score -= 2; }, [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] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/main.rs:102:17 [INFO] [stdout] | [INFO] [stdout] 102 | 'A' ... 'Z' => { score -= 1; }, [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] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/main.rs:103:17 [INFO] [stdout] | [INFO] [stdout] 103 | '[' ... '`' => { score -= 2; }, [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] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/main.rs:104:17 [INFO] [stdout] | [INFO] [stdout] 104 | 'a' ... 'z' => { score += 2; }, [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] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/main.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | '{' ... '~' => { score -= 1; }, [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] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/main.rs:147:13 [INFO] [stdout] | [INFO] [stdout] 147 | let f = try!(File::open(input_filename)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/main.rs:275:13 [INFO] [stdout] | [INFO] [stdout] 275 | let f = try!(File::open(filename)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `iter_arith` has been stable since 1.11.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | #![feature(iter_arith)] [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BytesToChars` is never constructed [INFO] [stdout] --> src/main.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | struct BytesToChars { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `BytesToCharsExt` is never used [INFO] [stdout] --> src/main.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | trait BytesToCharsExt: Sized { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hex_to_base64` is never used [INFO] [stdout] --> src/main.rs:51:4 [INFO] [stdout] | [INFO] [stdout] 51 | fn hex_to_base64(s: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `xor` is never used [INFO] [stdout] --> src/main.rs:67:4 [INFO] [stdout] | [INFO] [stdout] 67 | fn xor(a: &str, b: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `score` is never used [INFO] [stdout] --> src/main.rs:90:4 [INFO] [stdout] | [INFO] [stdout] 90 | fn score(plaintext: &str) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decrypt_single_xor` is never used [INFO] [stdout] --> src/main.rs:112:4 [INFO] [stdout] | [INFO] [stdout] 112 | fn decrypt_single_xor(ciphertext: &str) -> (i32, String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_single_char_xor` is never used [INFO] [stdout] --> src/main.rs:145:4 [INFO] [stdout] | [INFO] [stdout] 145 | fn find_single_char_xor(input_filename: &str) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bytes_to_hex` is never used [INFO] [stdout] --> src/main.rs:176:4 [INFO] [stdout] | [INFO] [stdout] 176 | fn bytes_to_hex>(iter: I) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `repeating_key_xor` is never used [INFO] [stdout] --> src/main.rs:203:4 [INFO] [stdout] | [INFO] [stdout] 203 | fn repeating_key_xor(text: &str, key: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hamming_distance` is never used [INFO] [stdout] --> src/main.rs:227:4 [INFO] [stdout] | [INFO] [stdout] 227 | fn hamming_distance(a: A, b: B) -> usize [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hamming_distance_str` is never used [INFO] [stdout] --> src/main.rs:245:4 [INFO] [stdout] | [INFO] [stdout] 245 | fn hamming_distance_str(a: &str, b: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_key_lengths` is never used [INFO] [stdout] --> src/main.rs:257:4 [INFO] [stdout] | [INFO] [stdout] 257 | fn find_key_lengths(data: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_key_lengths_for_file` is never used [INFO] [stdout] --> src/main.rs:274:4 [INFO] [stdout] | [INFO] [stdout] 274 | fn find_key_lengths_for_file(filename: &str) -> std::io::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `hexbytes` is never used [INFO] [stdout] --> src/hex.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub trait HexToBytesExt: Sized { [INFO] [stdout] | ------------- method in this trait [INFO] [stdout] 22 | fn hexbytes(self) -> HexToBytes; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `base64` is never used [INFO] [stdout] --> src/base64.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub trait Base64Ext: Sized { [INFO] [stdout] | --------- method in this trait [INFO] [stdout] 60 | fn base64(self) -> Base64; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `b64encode` is never used [INFO] [stdout] --> src/base64.rs:70:4 [INFO] [stdout] | [INFO] [stdout] 70 | fn b64encode(data: &[u8]) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `xor` is never used [INFO] [stdout] --> src/xor.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub trait XorExt: Sized { [INFO] [stdout] | ------ method in this trait [INFO] [stdout] 26 | fn xor(self, other: Y) -> Xor; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/main.rs:177:5 [INFO] [stdout] | [INFO] [stdout] 176 | fn bytes_to_hex>(iter: I) -> String { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 177 | / itertools::Unfold::new((iter, None), |state| { [INFO] [stdout] 178 | | let (ref mut iter, ref mut leftover) = *state; [INFO] [stdout] 179 | | match *leftover { [INFO] [stdout] 180 | | Some(nybble) => { [INFO] [stdout] ... | [INFO] [stdout] 193 | | } [INFO] [stdout] 194 | | }).collect() [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/main.rs:241:5 [INFO] [stdout] | [INFO] [stdout] 227 | fn hamming_distance(a: A, b: B) -> usize [INFO] [stdout] | ---- ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 241 | a.zip(b).map(dist).sum() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `matasano-crypto` (bin "matasano-crypto") due to 3 previous errors; 27 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/main.rs:177:5 [INFO] [stdout] | [INFO] [stdout] 176 | fn bytes_to_hex>(iter: I) -> String { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 177 | / itertools::Unfold::new((iter, None), |state| { [INFO] [stdout] 178 | | let (ref mut iter, ref mut leftover) = *state; [INFO] [stdout] 179 | | match *leftover { [INFO] [stdout] 180 | | Some(nybble) => { [INFO] [stdout] ... | [INFO] [stdout] 193 | | } [INFO] [stdout] 194 | | }).collect() [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/main.rs:241:5 [INFO] [stdout] | [INFO] [stdout] 227 | fn hamming_distance(a: A, b: B) -> usize [INFO] [stdout] | ---- ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 241 | a.zip(b).map(dist).sum() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `matasano-crypto` (bin "matasano-crypto" test) due to 3 previous errors; 10 warnings emitted [INFO] running `Command { std: "docker" "inspect" "09163a7853535ca55b9ff66d49f9bae8b5e7612f1b69d449cc00ee303d4140ad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "09163a7853535ca55b9ff66d49f9bae8b5e7612f1b69d449cc00ee303d4140ad", kill_on_drop: false }` [INFO] [stdout] 09163a7853535ca55b9ff66d49f9bae8b5e7612f1b69d449cc00ee303d4140ad