[INFO] cloning repository https://github.com/EirikFA/cryptopals-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/EirikFA/cryptopals-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEirikFA%2Fcryptopals-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEirikFA%2Fcryptopals-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4458f46542257bfca0485ba554d66c81e6b053a2 [INFO] building EirikFA/cryptopals-rust against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEirikFA%2Fcryptopals-rust" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/EirikFA/cryptopals-rust on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/EirikFA/cryptopals-rust [INFO] finished tweaking git repo https://github.com/EirikFA/cryptopals-rust [INFO] tweaked toml for git repo https://github.com/EirikFA/cryptopals-rust written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/EirikFA/cryptopals-rust 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" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7457976241e83da0afc77fde0be8f4e958be4860b3b83cd6452f9be60af649b7 [INFO] running `Command { std: "docker" "start" "-a" "7457976241e83da0afc77fde0be8f4e958be4860b3b83cd6452f9be60af649b7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7457976241e83da0afc77fde0be8f4e958be4860b3b83cd6452f9be60af649b7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7457976241e83da0afc77fde0be8f4e958be4860b3b83cd6452f9be60af649b7", kill_on_drop: false }` [INFO] [stdout] 7457976241e83da0afc77fde0be8f4e958be4860b3b83cd6452f9be60af649b7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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 -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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f030237651a42b3dedca1d9201ddad66e8875c2f464d069f447e94602c2f6adf [INFO] running `Command { std: "docker" "start" "-a" "f030237651a42b3dedca1d9201ddad66e8875c2f464d069f447e94602c2f6adf", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.140 [INFO] [stderr] Compiling cpufeatures v0.2.6 [INFO] [stderr] Compiling base64 v0.21.0 [INFO] [stderr] Compiling generic-array v0.14.6 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling inout v0.1.3 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling getrandom v0.2.8 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling aes v0.8.2 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling cryptopals v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: function `edit_distance` is never used [INFO] [stdout] --> src/basics.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn edit_distance(a: &[u8], b: &[u8]) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `average_edit_distance` is never used [INFO] [stdout] --> src/basics.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn average_edit_distance(chunks: Vec<&[u8]>) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `transpose_chunks` is never used [INFO] [stdout] --> src/basics.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn transpose_chunks(chunks: Vec<&[u8]>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_rand_bytes` is never used [INFO] [stdout] --> src/basics.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn gen_rand_bytes(count: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `relative_unique_chunks` is never used [INFO] [stdout] --> src/basics/cipher.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn relative_unique_chunks(bytes: &[u8]) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_aes_ecb` is never used [INFO] [stdout] --> src/basics/cipher.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn detect_aes_ecb(ciphertexts: Vec>) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode` is never used [INFO] [stdout] --> src/basics/hex.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn decode(hex: &str) -> std::result::Result, ParseIntError> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encode` is never used [INFO] [stdout] --> src/basics/hex.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn encode(bytes: &[u8]) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_base64` is never used [INFO] [stdout] --> src/basics/hex.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn to_base64(hex: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `into_character_map`, `from_text`, `from_file`, `from_sample_file`, and `eval_text` are never used [INFO] [stdout] --> src/basics/linguistics.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 9 | impl LanguageAnalyzer { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 10 | pub fn into_character_map(text: &str) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn from_text(text: &str) -> LanguageAnalyzer { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn from_file(path: PathBuf) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn from_sample_file() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn eval_text(&self, text: &str) -> f32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `XorGuess` is never constructed [INFO] [stdout] --> src/basics/xor.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct XorGuess(pub f32, pub u8, pub String); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `XorGuess` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `xor` is never used [INFO] [stdout] --> src/basics/xor.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn xor(a: &[u8], b: &[u8]) -> Vec { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hex_xor` is never used [INFO] [stdout] --> src/basics/xor.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn hex_xor(hex_a: &str, hex_b: &str) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `guess_xor` is never used [INFO] [stdout] --> src/basics/xor.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn guess_xor(bytes: &[u8], analyzer: &LanguageAnalyzer) -> XorGuess { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `guess_xor_multiple` is never used [INFO] [stdout] --> src/basics/xor.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn guess_xor_multiple(strings: Vec) -> (String, XorGuess) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `xor_with_repeating_key` is never used [INFO] [stdout] --> src/basics/xor.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn xor_with_repeating_key(bytes: &[u8], key: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `guess_repeating_key_size` is never used [INFO] [stdout] --> src/basics/xor.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn guess_repeating_key_size(bytes: &[u8], range: Range) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `guess_repeating_key` is never used [INFO] [stdout] --> src/basics/xor.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn guess_repeating_key(bytes: &[u8], key_size_range: Range) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decrypt_aes_128_ecb` is never used [INFO] [stdout] --> src/block_crypto.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn decrypt_aes_128_ecb(data: &[u8], key: &[u8]) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encrypt_aes_128_ecb` is never used [INFO] [stdout] --> src/block_crypto.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn encrypt_aes_128_ecb(data: &[u8], key: &[u8]) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encrypt_aes_128_cbc` is never used [INFO] [stdout] --> src/block_crypto.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn encrypt_aes_128_cbc(data: &[u8], key: &[u8], iv: &[u8]) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decrypt_aes_128_cbc` is never used [INFO] [stdout] --> src/block_crypto.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn decrypt_aes_128_cbc(data: &[u8], key: &[u8], iv: &[u8]) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_mode` is never used [INFO] [stdout] --> src/block_crypto.rs:77:8 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn detect_mode(data: &[u8]) -> EncryptionMode { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNKNOWN_KEY` is never used [INFO] [stdout] --> src/block_crypto/ecb_bruteforce.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const UNKNOWN_KEY: &str = "YELLOW SUBMARINE"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `APPEND` is never used [INFO] [stdout] --> src/block_crypto/ecb_bruteforce.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | const APPEND: &str = "Um9sbGluJyBpbiBteSA1LjAKV2l0aCBteSByYWctdG9wIGRvd24gc28gbXkgaGFpciBjYW4gYmxvdwpUaGUgZ2lybGllcyBvbiBzdGFuZGJ5IHdhdml... [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `oracle_encrypt` is never used [INFO] [stdout] --> src/block_crypto/ecb_bruteforce.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn oracle_encrypt(data: &[u8]) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_block_size` is never used [INFO] [stdout] --> src/block_crypto/ecb_bruteforce.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn find_block_size() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Ecb` and `Cbc` are never constructed [INFO] [stdout] --> src/block_crypto/util.rs:8:3 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum EncryptionMode { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] 8 | Ecb, [INFO] [stdout] | ^^^ [INFO] [stdout] 9 | Cbc, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EncryptionMode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pad_bytes` is never used [INFO] [stdout] --> src/block_crypto/util.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn pad_bytes(bytes: &[u8], target_size: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unpad_bytes` is never used [INFO] [stdout] --> src/block_crypto/util.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn unpad_bytes(bytes: &[u8]) -> &[u8] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_aes_128_inputs` is never used [INFO] [stdout] --> src/block_crypto/util.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn validate_aes_128_inputs( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bytes_to_generic_array_blocks` is never used [INFO] [stdout] --> src/block_crypto/util.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn bytes_to_generic_array_blocks>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encrypt_random` is never used [INFO] [stdout] --> src/block_crypto/util.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn encrypt_random(data: &[u8]) -> Result<(Vec, EncryptionMode)> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/block_crypto.rs:42:60 [INFO] [stdout] | [INFO] [stdout] 42 | let previous: &[u8] = encrypted_chunks.last().map_or(iv.clone(), |c| c.as_slice()); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Clone`, so calling `clone` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.76s [INFO] running `Command { std: "docker" "inspect" "f030237651a42b3dedca1d9201ddad66e8875c2f464d069f447e94602c2f6adf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f030237651a42b3dedca1d9201ddad66e8875c2f464d069f447e94602c2f6adf", kill_on_drop: false }` [INFO] [stdout] f030237651a42b3dedca1d9201ddad66e8875c2f464d069f447e94602c2f6adf [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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 -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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 99e47c5292a19fc24f738e6d059c9f3095f0f49a7dfb90c4a5665bc24fc7e25a [INFO] running `Command { std: "docker" "start" "-a" "99e47c5292a19fc24f738e6d059c9f3095f0f49a7dfb90c4a5665bc24fc7e25a", kill_on_drop: false }` [INFO] [stderr] Compiling cryptopals v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/block_crypto.rs:42:60 [INFO] [stdout] | [INFO] [stdout] 42 | let previous: &[u8] = encrypted_chunks.last().map_or(iv.clone(), |c| c.as_slice()); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Clone`, so calling `clone` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.49s [INFO] running `Command { std: "docker" "inspect" "99e47c5292a19fc24f738e6d059c9f3095f0f49a7dfb90c4a5665bc24fc7e25a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "99e47c5292a19fc24f738e6d059c9f3095f0f49a7dfb90c4a5665bc24fc7e25a", kill_on_drop: false }` [INFO] [stdout] 99e47c5292a19fc24f738e6d059c9f3095f0f49a7dfb90c4a5665bc24fc7e25a