[INFO] fetching crate cifra 0.9.3+post3... [INFO] testing cifra-0.9.3+post3 against 1.60.0 for beta-1.61-1 [INFO] extracting crate cifra 0.9.3+post3 into /workspace/builds/worker-39/source [INFO] validating manifest of crates.io crate cifra 0.9.3+post3 on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate cifra 0.9.3+post3 [INFO] finished tweaking crates.io crate cifra 0.9.3+post3 [INFO] tweaked toml for crates.io crate cifra 0.9.3+post3 written to /workspace/builds/worker-39/source/Cargo.toml [INFO] crate crates.io crate cifra 0.9.3+post3 already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded test_common v1.4.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-39/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-39/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 092534bbbfb658396c3a877b03f96b2c4d6cd77af9006e40d8e01cceddc8b027 [INFO] running `Command { std: "docker" "start" "-a" "092534bbbfb658396c3a877b03f96b2c4d6cd77af9006e40d8e01cceddc8b027", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "092534bbbfb658396c3a877b03f96b2c4d6cd77af9006e40d8e01cceddc8b027", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "092534bbbfb658396c3a877b03f96b2c4d6cd77af9006e40d8e01cceddc8b027", kill_on_drop: false }` [INFO] [stdout] 092534bbbfb658396c3a877b03f96b2c4d6cd77af9006e40d8e01cceddc8b027 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-39/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-39/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a8910d6445a6b72ee01d1c1cc60f2d04201147aafcf8aad9641da39bcc2e0a2c [INFO] running `Command { std: "docker" "start" "-a" "a8910d6445a6b72ee01d1c1cc60f2d04201147aafcf8aad9641da39bcc2e0a2c", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.112 [INFO] [stderr] Compiling proc-macro2 v1.0.34 [INFO] [stderr] Compiling syn v1.0.82 [INFO] [stderr] Compiling crossbeam-utils v0.8.5 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Compiling crossbeam-epoch v0.9.5 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling cc v1.0.72 [INFO] [stderr] Compiling rayon-core v1.9.1 [INFO] [stderr] Compiling adler v1.0.2 [INFO] [stderr] Compiling version_check v0.9.3 [INFO] [stderr] Compiling gimli v0.26.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.15 [INFO] [stderr] Compiling rustc-demangle v0.1.21 [INFO] [stderr] Compiling unicode-segmentation v1.8.0 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling dotenv v0.15.0 [INFO] [stderr] Compiling linked-hash-map v0.5.4 [INFO] [stderr] Compiling strum v0.21.0 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling indexmap v1.7.0 [INFO] [stderr] Compiling rayon v1.5.1 [INFO] [stderr] Compiling libsqlite3-sys v0.22.2 [INFO] [stderr] Compiling object v0.27.1 [INFO] [stderr] Compiling heck v0.3.3 [INFO] [stderr] Compiling error-chain v0.12.4 [INFO] [stderr] Compiling crossbeam-channel v0.5.1 [INFO] [stderr] Compiling quote v1.0.10 [INFO] [stderr] Compiling crossbeam-deque v0.8.1 [INFO] [stderr] Compiling backtrace v0.3.63 [INFO] [stderr] Compiling num_cpus v1.13.0 [INFO] [stderr] Compiling dirs-sys v0.3.6 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling clap v3.0.0-rc.5 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling dirs v4.0.0 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling addr2line v0.17.0 [INFO] [stderr] Compiling diesel_derives v1.4.1 [INFO] [stderr] Compiling strum_macros v0.21.1 [INFO] [stderr] Compiling diesel v1.4.8 [INFO] [stderr] Compiling migrations_internals v1.4.1 [INFO] [stderr] Compiling migrations_macros v1.4.2 [INFO] [stderr] Compiling diesel_migrations v1.4.0 [INFO] [stderr] Compiling cifra v0.9.3+post3 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `OsStr` [INFO] [stdout] --> src/attack/database.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | use std::ffi::{OsStr, OsString}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/attack/database.rs:11:43 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::{ErrorKind, Result, ResultExt, Error}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `DATABASE_STANDARD_PATH` should have an upper camel case name [INFO] [stdout] --> src/attack/database.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | struct DATABASE_STANDARD_PATH; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DatabaseStandardPath` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cipher` [INFO] [stdout] --> src/attack/frequency.rs:5:48 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::cipher::vigenere::{DEFAULT_CHARSET, cipher, decipher}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Error`, `ResultExt` [INFO] [stdout] --> src/cipher/substitution.rs:2:32 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::{ErrorKind, Result, ResultExt, Error}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `E` [INFO] [stdout] --> src/attack/simple_attacks.rs:165:25 [INFO] [stdout] | [INFO] [stdout] 165 | Err(E) => return None [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_E` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `char` [INFO] [stdout] --> src/attack/frequency.rs:256:13 [INFO] [stdout] | [INFO] [stdout] 256 | for (i, char) in char_string.chars().enumerate() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_char` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/attack/frequency.rs:383:21 [INFO] [stdout] | [INFO] [stdout] 383 | .map(|(key, value)| key) [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/attack/frequency.rs:126:28 [INFO] [stdout] | [INFO] [stdout] 126 | .filter(|(&key, &_value)| _value == *value) [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/attack/frequency.rs:157:25 [INFO] [stdout] | [INFO] [stdout] 157 | .map(|(key, value)| key) [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/attack/frequency.rs:164:25 [INFO] [stdout] | [INFO] [stdout] 164 | .map(|(key, value)| key) [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ciphered_text` [INFO] [stdout] --> src/attack/vigenere.rs:36:26 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn brute_force(ciphered_text: T, charset: U, testing: bool)-> Result [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ciphered_text` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `charset` [INFO] [stdout] --> src/attack/vigenere.rs:36:44 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn brute_force(ciphered_text: T, charset: U, testing: bool)-> Result [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_charset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `testing` [INFO] [stdout] --> src/attack/vigenere.rs:36:56 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn brute_force(ciphered_text: T, charset: U, testing: bool)-> Result [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_testing` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ciphered_text` [INFO] [stdout] --> src/attack/vigenere.rs:47:23 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn brute_force_mp(ciphered_text: &str, charset: &str, testing: bool)-> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ciphered_text` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `charset` [INFO] [stdout] --> src/attack/vigenere.rs:47:44 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn brute_force_mp(ciphered_text: &str, charset: &str, testing: bool)-> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_charset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `testing` [INFO] [stdout] --> src/attack/vigenere.rs:47:59 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn brute_force_mp(ciphered_text: &str, charset: &str, testing: bool)-> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_testing` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `offset_char` is never read [INFO] [stdout] --> src/cipher/vigenere.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | let mut offset_char = String::new(); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/attack/frequency.rs:269:28 [INFO] [stdout] | [INFO] [stdout] 269 | let mut values = sequences.get_mut(sequence_to_find).unwrap(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_best_result` [INFO] [stdout] --> src/attack/caesar.rs:114:4 [INFO] [stdout] | [INFO] [stdout] 114 | fn get_best_result(identified_languages: &Vec<(usize, IdentifiedLanguage)>)-> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `database_path` [INFO] [stdout] --> src/attack/database.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | database_path: String [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `candidates` [INFO] [stdout] --> src/attack/dictionaries.rs:410:5 [INFO] [stdout] | [INFO] [stdout] 410 | candidates: HashMap [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `start` [INFO] [stdout] --> src/attack/simple_attacks.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 89 | start: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/attack/simple_attacks.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | fn new(start: usize, end: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `cifra` due to 3 previous errors; 53 warnings emitted [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/attack/simple_attacks.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn new() -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `create_new_single_entry` [INFO] [stdout] --> src/attack/substitution.rs:723:8 [INFO] [stdout] | [INFO] [stdout] 723 | fn create_new_single_entry(&mut self, key: char, value: char) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `LetterHistogram` [INFO] [stdout] --> src/attack/frequency.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | struct LetterHistogram { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `from_text` [INFO] [stdout] --> src/attack/frequency.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | fn from_text(text: T, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `from_dict` [INFO] [stdout] --> src/attack/frequency.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | fn from_dict(letters: HashMap, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `setup_for_matching` [INFO] [stdout] --> src/attack/frequency.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | fn setup_for_matching(self, letter_counter: Counter, width: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `create_ordered_dict` [INFO] [stdout] --> src/attack/frequency.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | fn create_ordered_dict(mut self, letter_counter: Counter) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_matching_width` [INFO] [stdout] --> src/attack/frequency.rs:155:8 [INFO] [stdout] | [INFO] [stdout] 155 | fn set_matching_width(mut self, width: usize) -> Self{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `frequency` [INFO] [stdout] --> src/attack/frequency.rs:181:8 [INFO] [stdout] | [INFO] [stdout] 181 | fn frequency(&self, key: T) -> Result [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `letters` [INFO] [stdout] --> src/attack/frequency.rs:190:8 [INFO] [stdout] | [INFO] [stdout] 190 | fn letters(&self) -> linked_hash_map::Keys { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `match_score` [INFO] [stdout] --> src/attack/frequency.rs:208:8 [INFO] [stdout] | [INFO] [stdout] 208 | fn match_score(one: &LetterHistogram, other: &LetterHistogram) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `find_repeated_sequences` [INFO] [stdout] --> src/attack/frequency.rs:230:8 [INFO] [stdout] | [INFO] [stdout] 230 | pub fn find_repeated_sequences(text: T, length: usize) -> HashMap> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `find_adjacent_separations` [INFO] [stdout] --> src/attack/frequency.rs:247:4 [INFO] [stdout] | [INFO] [stdout] 247 | fn find_adjacent_separations(text: T, length: usize) -> HashMap> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `find_not_adjacent_separations` [INFO] [stdout] --> src/attack/frequency.rs:292:4 [INFO] [stdout] | [INFO] [stdout] 292 | fn find_not_adjacent_separations(sequences: &mut HashMap>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_substrings` [INFO] [stdout] --> src/attack/frequency.rs:327:8 [INFO] [stdout] | [INFO] [stdout] 327 | pub fn get_substrings(ciphertext: T, step: usize) -> Vec [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `match_substring` [INFO] [stdout] --> src/attack/frequency.rs:353:4 [INFO] [stdout] | [INFO] [stdout] 353 | fn match_substring(substring: T, reference_histogram: &LetterHistogram) -> u8 [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `find_most_likely_subkeys` [INFO] [stdout] --> src/attack/frequency.rs:370:4 [INFO] [stdout] | [INFO] [stdout] 370 | fn find_most_likely_subkeys(substring: T, reference_histogram: &LetterHistogram) -> Result> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `MultiplyingKeyBelowZero` [INFO] [stdout] --> src/cipher/affine.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | MultiplyingKeyBelowZero, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `WrongAffineKeyCauses` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/cipher/affine.rs:15:10 [INFO] [stdout] | [INFO] [stdout] 15 | #[derive(Debug, Copy, Clone)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `AddingKeyBelowZero` [INFO] [stdout] --> src/cipher/affine.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | AddingKeyBelowZero, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `WrongAffineKeyCauses` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/cipher/affine.rs:15:10 [INFO] [stdout] | [INFO] [stdout] 15 | #[derive(Debug, Copy, Clone)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel [INFO] [stdout] --> src/lib.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(trace_macros)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel [INFO] [stdout] --> src/lib.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | #![feature(iter_advance_by)] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait method `fromStr` should have a snake case name [INFO] [stdout] --> src/lib.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | fn fromStr(s: T) -> Self; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `from_str` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait method `findFromIndex` should have a snake case name [INFO] [stdout] --> src/lib.rs:106:8 [INFO] [stdout] | [INFO] [stdout] 106 | fn findFromIndex(text: &T, text_to_find: U, index: usize) -> Option; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `find_from_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/attack/database.rs:129:13 [INFO] [stdout] | [INFO] [stdout] 129 | create_folder_path(database_folder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `E` should have a snake case name [INFO] [stdout] --> src/attack/simple_attacks.rs:165:25 [INFO] [stdout] | [INFO] [stdout] 165 | Err(E) => return None [INFO] [stdout] | ^ help: convert the identifier to snake case: `e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `item_A` should have a snake case name [INFO] [stdout] --> src/attack/frequency.rs:122:34 [INFO] [stdout] | [INFO] [stdout] 122 | values_ordered.sort_by(|&item_A, &item_B| item_B.cmp(item_A)); [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `item_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `item_B` should have a snake case name [INFO] [stdout] --> src/attack/frequency.rs:122:43 [INFO] [stdout] | [INFO] [stdout] 122 | values_ordered.sort_by(|&item_A, &item_B| item_B.cmp(item_A)); [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `item_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/attack/frequency.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | ordered_dict_iter.advance_by(self.ordered_dict.len()-width); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/attack/frequency.rs:334:9 [INFO] [stdout] | [INFO] [stdout] 334 | ciphered_stream_iter.advance_by(i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `item_A` should have a snake case name [INFO] [stdout] --> src/cipher/common.rs:186:25 [INFO] [stdout] | [INFO] [stdout] 186 | items.sort_by(|&item_A, &item_B| item_B.1.cmp(item_A.1)); [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `item_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `item_B` should have a snake case name [INFO] [stdout] --> src/cipher/common.rs:186:34 [INFO] [stdout] | [INFO] [stdout] 186 | items.sort_by(|&item_A, &item_B| item_B.1.cmp(item_A.1)); [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `item_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 53 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0554`. [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "a8910d6445a6b72ee01d1c1cc60f2d04201147aafcf8aad9641da39bcc2e0a2c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a8910d6445a6b72ee01d1c1cc60f2d04201147aafcf8aad9641da39bcc2e0a2c", kill_on_drop: false }` [INFO] [stdout] a8910d6445a6b72ee01d1c1cc60f2d04201147aafcf8aad9641da39bcc2e0a2c