[INFO] fetching crate cifra 0.9.2+post7... [INFO] testing cifra-0.9.2+post7 against master#a77da2d454e6caa227a85b16410b95f93495e7e0 for pr-91031 [INFO] extracting crate cifra 0.9.2+post7 into /workspace/builds/worker-97/source [INFO] validating manifest of crates.io crate cifra 0.9.2+post7 on toolchain a77da2d454e6caa227a85b16410b95f93495e7e0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate cifra 0.9.2+post7 [INFO] finished tweaking crates.io crate cifra 0.9.2+post7 [INFO] tweaked toml for crates.io crate cifra 0.9.2+post7 written to /workspace/builds/worker-97/source/Cargo.toml [INFO] crate crates.io crate cifra 0.9.2+post7 already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-97/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-97/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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7ad0883ba22e6348d95e64b4f02a586f1f2a96f5afbe6ee15e61a1c75046bf9d [INFO] running `Command { std: "docker" "start" "-a" "7ad0883ba22e6348d95e64b4f02a586f1f2a96f5afbe6ee15e61a1c75046bf9d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7ad0883ba22e6348d95e64b4f02a586f1f2a96f5afbe6ee15e61a1c75046bf9d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7ad0883ba22e6348d95e64b4f02a586f1f2a96f5afbe6ee15e61a1c75046bf9d", kill_on_drop: false }` [INFO] [stdout] 7ad0883ba22e6348d95e64b4f02a586f1f2a96f5afbe6ee15e61a1c75046bf9d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-97/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-97/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" "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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0d87b374d3cdd159cd2dac6c94f5ab08692c25010b66bcc73439f0c64eaf2a77 [INFO] running `Command { std: "docker" "start" "-a" "0d87b374d3cdd159cd2dac6c94f5ab08692c25010b66bcc73439f0c64eaf2a77", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling libc v0.2.107 [INFO] [stderr] Compiling proc-macro2 v1.0.32 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling syn v1.0.81 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.5 [INFO] [stderr] Compiling crossbeam-epoch v0.9.5 [INFO] [stderr] Compiling rayon-core v1.9.1 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling unicode-segmentation v1.8.0 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling cc v1.0.71 [INFO] [stderr] Compiling gimli v0.26.1 [INFO] [stderr] Compiling rustc-demangle v0.1.21 [INFO] [stderr] Compiling unicode-width v0.1.9 [INFO] [stderr] Compiling ppv-lite86 v0.2.15 [INFO] [stderr] Compiling hashbrown v0.11.2 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling termcolor v1.1.2 [INFO] [stderr] Compiling regex-syntax v0.6.25 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Compiling strum v0.21.0 [INFO] [stderr] Compiling dotenv v0.15.0 [INFO] [stderr] Compiling libsqlite3-sys v0.22.2 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling unicase v2.6.0 [INFO] [stderr] Compiling error-chain v0.12.4 [INFO] [stderr] Compiling textwrap v0.14.2 [INFO] [stderr] Compiling heck v0.3.3 [INFO] [stderr] Compiling memoffset v0.6.4 [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 crossbeam-channel v0.5.1 [INFO] [stderr] Compiling object v0.27.1 [INFO] [stderr] Compiling aho-corasick v0.7.18 [INFO] [stderr] Compiling os_str_bytes v4.2.0 [INFO] [stderr] Compiling quote v1.0.10 [INFO] [stderr] Compiling backtrace v0.3.63 [INFO] [stderr] Compiling crossbeam-deque v0.8.1 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Compiling num_cpus v1.13.0 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling dirs-sys v0.3.6 [INFO] [stderr] Compiling dirs v4.0.0 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling regex v1.5.4 [INFO] [stderr] Compiling addr2line v0.17.0 [INFO] [stderr] Compiling diesel_derives v1.4.1 [INFO] [stderr] Compiling clap_derive v3.0.0-beta.5 [INFO] [stderr] Compiling strum_macros v0.21.1 [INFO] [stderr] Compiling clap v3.0.0-beta.5 [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.2+post7 (/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] [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] [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] [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] warning: 53 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/bin/main.rs:633:9 [INFO] [stdout] | [INFO] [stdout] 633 | return bail!("You tried to use attack_file function with a configuration that is not for attack mode.") [INFO] [stdout] | ^^^^^^^------------------------------------------------------------------------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/bin/main.rs:645:14 [INFO] [stdout] | [INFO] [stdout] 645 | _ => return bail!("Given algorithm does not use integer key and charset.") [INFO] [stdout] | ^^^^^^^-------------------------------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/bin/main.rs:657:14 [INFO] [stdout] | [INFO] [stdout] 657 | _ => return bail!("Given algorithm does not use string key and charset.") [INFO] [stdout] | ^^^^^^^------------------------------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/bin/main.rs:668:14 [INFO] [stdout] | [INFO] [stdout] 668 | _ => return bail!("Given algorithm does not use integer key or includes a charset.") [INFO] [stdout] | ^^^^^^^------------------------------------------------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/bin/main.rs:680:14 [INFO] [stdout] | [INFO] [stdout] 680 | _ => return bail!("Given algorithm does not use integer key and charset.") [INFO] [stdout] | ^^^^^^^-------------------------------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/bin/main.rs:692:14 [INFO] [stdout] | [INFO] [stdout] 692 | _ => return bail!("Given algorithm does not use string key and charset.") [INFO] [stdout] | ^^^^^^^------------------------------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/bin/main.rs:703:14 [INFO] [stdout] | [INFO] [stdout] 703 | _ => return bail!("Given algorithm does not use integer key or includes a charset.") [INFO] [stdout] | ^^^^^^^------------------------------------------------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/bin/main.rs:715:14 [INFO] [stdout] | [INFO] [stdout] 715 | _ => return bail!("Given algorithm does not use charset.") [INFO] [stdout] | ^^^^^^^---------------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/bin/main.rs:726:14 [INFO] [stdout] | [INFO] [stdout] 726 | _ => return bail!("Given algorithm do use string key and charset") [INFO] [stdout] | ^^^^^^^------------------------------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/bin/main.rs:737:14 [INFO] [stdout] | [INFO] [stdout] 737 | _ => return bail!("Given algorithm do use charset.") [INFO] [stdout] | ^^^^^^^---------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/bin/main.rs:748:14 [INFO] [stdout] | [INFO] [stdout] 748 | _ => return bail!("Given algorithm don't have testing mode.") [INFO] [stdout] | ^^^^^^^------------------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ciphered_file` [INFO] [stdout] --> src/bin/main.rs:427:13 [INFO] [stdout] | [INFO] [stdout] 427 | ciphered_file, charset } => { [INFO] [stdout] | ^^^^^^^^^^^^^ help: try ignoring the field: `ciphered_file: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `deciphered_file` [INFO] [stdout] --> src/bin/main.rs:465:32 [INFO] [stdout] | [INFO] [stdout] 465 | file_to_decipher , deciphered_file, charset } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try ignoring the field: `deciphered_file: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `algorithm` [INFO] [stdout] --> src/bin/main.rs:520:25 [INFO] [stdout] | [INFO] [stdout] 520 | Modes::Cipher { algorithm, key, file_to_cipher, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `algorithm: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/bin/main.rs:520:36 [INFO] [stdout] | [INFO] [stdout] 520 | Modes::Cipher { algorithm, key, file_to_cipher, [INFO] [stdout] | ^^^ help: try ignoring the field: `key: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file_to_cipher` [INFO] [stdout] --> src/bin/main.rs:520:41 [INFO] [stdout] | [INFO] [stdout] 520 | Modes::Cipher { algorithm, key, file_to_cipher, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `file_to_cipher: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `charset` [INFO] [stdout] --> src/bin/main.rs:521:28 [INFO] [stdout] | [INFO] [stdout] 521 | ciphered_file, charset } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `charset: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `algorithm` [INFO] [stdout] --> src/bin/main.rs:524:27 [INFO] [stdout] | [INFO] [stdout] 524 | Modes::Decipher { algorithm, key, file_to_decipher, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `algorithm: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/bin/main.rs:524:38 [INFO] [stdout] | [INFO] [stdout] 524 | Modes::Decipher { algorithm, key, file_to_decipher, [INFO] [stdout] | ^^^ help: try ignoring the field: `key: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file_to_decipher` [INFO] [stdout] --> src/bin/main.rs:524:43 [INFO] [stdout] | [INFO] [stdout] 524 | Modes::Decipher { algorithm, key, file_to_decipher, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try ignoring the field: `file_to_decipher: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `charset` [INFO] [stdout] --> src/bin/main.rs:525:30 [INFO] [stdout] | [INFO] [stdout] 525 | deciphered_file, charset }=> { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `charset: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `algorithm` [INFO] [stdout] --> src/bin/main.rs:528:25 [INFO] [stdout] | [INFO] [stdout] 528 | Modes::Attack { algorithm, file_to_attack, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `algorithm: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file_to_attack` [INFO] [stdout] --> src/bin/main.rs:528:36 [INFO] [stdout] | [INFO] [stdout] 528 | Modes::Attack { algorithm, file_to_attack, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `file_to_attack: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `charset` [INFO] [stdout] --> src/bin/main.rs:529:30 [INFO] [stdout] | [INFO] [stdout] 529 | deciphered_file, charset, output_recovered_key [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `charset: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_recovered_key` [INFO] [stdout] --> src/bin/main.rs:562:26 [INFO] [stdout] | [INFO] [stdout] 562 | deciphered_file, output_recovered_key, charset [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `output_recovered_key: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_string_key_algorithms` [INFO] [stdout] --> src/bin/main.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn get_string_key_algorithms()-> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_integer_key_algorithms` [INFO] [stdout] --> src/bin/main.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn get_integer_key_algorithms()-> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_string_value` [INFO] [stdout] --> src/bin/main.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn get_string_value(&self)-> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Str` should have a snake case name [INFO] [stdout] --> src/bin/main.rs:69:19 [INFO] [stdout] | [INFO] [stdout] 69 | .map(|Str| Str.clone()) [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `str` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:545:9 [INFO] [stdout] | [INFO] [stdout] 545 | write(output_file_path, output_string.as_str()); [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: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:766:17 [INFO] [stdout] | [INFO] [stdout] 766 | new_dictionary.populate(pathname); [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 `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:780:13 [INFO] [stdout] | [INFO] [stdout] 780 | dictionary.populate(pathname); [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 `Str` should have a snake case name [INFO] [stdout] --> src/bin/main.rs:812:48 [INFO] [stdout] | [INFO] [stdout] 812 | let args_str: Vec<&str> = args.iter().map(|Str| Str.as_str()).collect(); [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 33 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 30.67s [INFO] running `Command { std: "docker" "inspect" "0d87b374d3cdd159cd2dac6c94f5ab08692c25010b66bcc73439f0c64eaf2a77", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0d87b374d3cdd159cd2dac6c94f5ab08692c25010b66bcc73439f0c64eaf2a77", kill_on_drop: false }` [INFO] [stdout] 0d87b374d3cdd159cd2dac6c94f5ab08692c25010b66bcc73439f0c64eaf2a77 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-97/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-97/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" "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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 90b9a394325f991a7b614b52b6f392292f35addaf719b51af91eeb86d9be83b9 [INFO] running `Command { std: "docker" "start" "-a" "90b9a394325f991a7b614b52b6f392292f35addaf719b51af91eeb86d9be83b9", 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] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling untrusted v0.6.2 [INFO] [stderr] Compiling remove_dir_all v0.5.3 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling ring v0.14.6 [INFO] [stderr] Compiling getrandom v0.2.3 [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] [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] [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] [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] warning: 53 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling rand_core v0.6.3 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rstest v0.6.4 [INFO] [stderr] Compiling rand v0.8.4 [INFO] [stderr] Compiling float-cmp v0.8.0 [INFO] [stderr] Compiling tempfile v3.2.0 [INFO] [stderr] Compiling test_common v1.4.0 [INFO] [stderr] Compiling cifra v0.9.2+post7 (/opt/rustwide/workdir) [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/bin/main.rs:633:9 [INFO] [stdout] | [INFO] [stdout] 633 | return bail!("You tried to use attack_file function with a configuration that is not for attack mode.") [INFO] [stdout] | ^^^^^^^------------------------------------------------------------------------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/bin/main.rs:645:14 [INFO] [stdout] | [INFO] [stdout] 645 | _ => return bail!("Given algorithm does not use integer key and charset.") [INFO] [stdout] | ^^^^^^^-------------------------------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/bin/main.rs:657:14 [INFO] [stdout] | [INFO] [stdout] 657 | _ => return bail!("Given algorithm does not use string key and charset.") [INFO] [stdout] | ^^^^^^^------------------------------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/bin/main.rs:668:14 [INFO] [stdout] | [INFO] [stdout] 668 | _ => return bail!("Given algorithm does not use integer key or includes a charset.") [INFO] [stdout] | ^^^^^^^------------------------------------------------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/bin/main.rs:680:14 [INFO] [stdout] | [INFO] [stdout] 680 | _ => return bail!("Given algorithm does not use integer key and charset.") [INFO] [stdout] | ^^^^^^^-------------------------------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/bin/main.rs:692:14 [INFO] [stdout] | [INFO] [stdout] 692 | _ => return bail!("Given algorithm does not use string key and charset.") [INFO] [stdout] | ^^^^^^^------------------------------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/bin/main.rs:703:14 [INFO] [stdout] | [INFO] [stdout] 703 | _ => return bail!("Given algorithm does not use integer key or includes a charset.") [INFO] [stdout] | ^^^^^^^------------------------------------------------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/bin/main.rs:715:14 [INFO] [stdout] | [INFO] [stdout] 715 | _ => return bail!("Given algorithm does not use charset.") [INFO] [stdout] | ^^^^^^^---------------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/bin/main.rs:726:14 [INFO] [stdout] | [INFO] [stdout] 726 | _ => return bail!("Given algorithm do use string key and charset") [INFO] [stdout] | ^^^^^^^------------------------------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/bin/main.rs:737:14 [INFO] [stdout] | [INFO] [stdout] 737 | _ => return bail!("Given algorithm do use charset.") [INFO] [stdout] | ^^^^^^^---------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/bin/main.rs:748:14 [INFO] [stdout] | [INFO] [stdout] 748 | _ => return bail!("Given algorithm don't have testing mode.") [INFO] [stdout] | ^^^^^^^------------------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ciphered_file` [INFO] [stdout] --> src/bin/main.rs:427:13 [INFO] [stdout] | [INFO] [stdout] 427 | ciphered_file, charset } => { [INFO] [stdout] | ^^^^^^^^^^^^^ help: try ignoring the field: `ciphered_file: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `deciphered_file` [INFO] [stdout] --> src/bin/main.rs:465:32 [INFO] [stdout] | [INFO] [stdout] 465 | file_to_decipher , deciphered_file, charset } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try ignoring the field: `deciphered_file: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `algorithm` [INFO] [stdout] --> src/bin/main.rs:520:25 [INFO] [stdout] | [INFO] [stdout] 520 | Modes::Cipher { algorithm, key, file_to_cipher, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `algorithm: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/bin/main.rs:520:36 [INFO] [stdout] | [INFO] [stdout] 520 | Modes::Cipher { algorithm, key, file_to_cipher, [INFO] [stdout] | ^^^ help: try ignoring the field: `key: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file_to_cipher` [INFO] [stdout] --> src/bin/main.rs:520:41 [INFO] [stdout] | [INFO] [stdout] 520 | Modes::Cipher { algorithm, key, file_to_cipher, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `file_to_cipher: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `charset` [INFO] [stdout] --> src/bin/main.rs:521:28 [INFO] [stdout] | [INFO] [stdout] 521 | ciphered_file, charset } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `charset: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `algorithm` [INFO] [stdout] --> src/bin/main.rs:524:27 [INFO] [stdout] | [INFO] [stdout] 524 | Modes::Decipher { algorithm, key, file_to_decipher, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `algorithm: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/bin/main.rs:524:38 [INFO] [stdout] | [INFO] [stdout] 524 | Modes::Decipher { algorithm, key, file_to_decipher, [INFO] [stdout] | ^^^ help: try ignoring the field: `key: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file_to_decipher` [INFO] [stdout] --> src/bin/main.rs:524:43 [INFO] [stdout] | [INFO] [stdout] 524 | Modes::Decipher { algorithm, key, file_to_decipher, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try ignoring the field: `file_to_decipher: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `charset` [INFO] [stdout] --> src/bin/main.rs:525:30 [INFO] [stdout] | [INFO] [stdout] 525 | deciphered_file, charset }=> { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `charset: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `algorithm` [INFO] [stdout] --> src/bin/main.rs:528:25 [INFO] [stdout] | [INFO] [stdout] 528 | Modes::Attack { algorithm, file_to_attack, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `algorithm: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file_to_attack` [INFO] [stdout] --> src/bin/main.rs:528:36 [INFO] [stdout] | [INFO] [stdout] 528 | Modes::Attack { algorithm, file_to_attack, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `file_to_attack: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `charset` [INFO] [stdout] --> src/bin/main.rs:529:30 [INFO] [stdout] | [INFO] [stdout] 529 | deciphered_file, charset, output_recovered_key [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `charset: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_recovered_key` [INFO] [stdout] --> src/bin/main.rs:562:26 [INFO] [stdout] | [INFO] [stdout] 562 | deciphered_file, output_recovered_key, charset [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `output_recovered_key: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `full_loaded_temp_dictionaries` [INFO] [stdout] --> src/bin/main.rs:1099:54 [INFO] [stdout] | [INFO] [stdout] 1099 | fn test_cipher_caesar(temp_dir: TestEnvironment, full_loaded_temp_dictionaries: LoadedDictionaries) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_loaded_temp_dictionaries` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `full_loaded_temp_dictionaries` [INFO] [stdout] --> src/bin/main.rs:1117:56 [INFO] [stdout] | [INFO] [stdout] 1117 | fn test_decipher_caesar(temp_dir: TestEnvironment, full_loaded_temp_dictionaries: LoadedDictionaries) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_loaded_temp_dictionaries` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `full_loaded_temp_dictionaries` [INFO] [stdout] --> src/bin/main.rs:1135:60 [INFO] [stdout] | [INFO] [stdout] 1135 | fn test_cipher_substitution(temp_dir: TestEnvironment, full_loaded_temp_dictionaries: LoadedDictionaries){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_loaded_temp_dictionaries` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `full_loaded_temp_dictionaries` [INFO] [stdout] --> src/bin/main.rs:1154:62 [INFO] [stdout] | [INFO] [stdout] 1154 | fn test_decipher_substitution(temp_dir: TestEnvironment, full_loaded_temp_dictionaries: LoadedDictionaries){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_loaded_temp_dictionaries` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `full_loaded_temp_dictionaries` [INFO] [stdout] --> src/bin/main.rs:1173:54 [INFO] [stdout] | [INFO] [stdout] 1173 | fn test_attack_caesar(temp_dir: TestEnvironment, full_loaded_temp_dictionaries: LoadedDictionaries){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_loaded_temp_dictionaries` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `full_loaded_temp_dictionaries` [INFO] [stdout] --> src/bin/main.rs:1190:73 [INFO] [stdout] | [INFO] [stdout] 1190 | fn test_attack_caesar_with_recovered_key(temp_dir: TestEnvironment, full_loaded_temp_dictionaries: LoadedDictionaries){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_loaded_temp_dictionaries` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `full_loaded_temp_dictionaries` [INFO] [stdout] --> src/bin/main.rs:1209:60 [INFO] [stdout] | [INFO] [stdout] 1209 | fn test_attack_substitution(temp_dir: TestEnvironment, full_loaded_temp_dictionaries: LoadedDictionaries){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_loaded_temp_dictionaries` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `diesel::result::Error::DatabaseError` [INFO] [stdout] --> src/attack/caesar.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | use diesel::result::Error::DatabaseError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [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] [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: `std::ffi::OsStr` [INFO] [stdout] --> src/attack/database.rs:185:9 [INFO] [stdout] | [INFO] [stdout] 185 | use std::ffi::OsStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `read_to_string` [INFO] [stdout] --> src/attack/dictionaries.rs:542:50 [INFO] [stdout] | [INFO] [stdout] 542 | use std::fs::{create_dir, File, OpenOptions, read_to_string}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::OsString` [INFO] [stdout] --> src/attack/dictionaries.rs:548:9 [INFO] [stdout] | [INFO] [stdout] 548 | use std::ffi::OsString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader`, `Read` [INFO] [stdout] --> src/attack/dictionaries.rs:550:26 [INFO] [stdout] | [INFO] [stdout] 550 | use std::io::{Write, BufReader, Read}; [INFO] [stdout] | ^^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::env::temp_dir` [INFO] [stdout] --> src/attack/dictionaries.rs:552:9 [INFO] [stdout] | [INFO] [stdout] 552 | use std::env::temp_dir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [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 import: `crate::attack::dictionaries::tests::ENGLISH_TEXT_WITH_PUNCTUATIONS_MARKS` [INFO] [stdout] --> src/attack/frequency.rs:394:9 [INFO] [stdout] | [INFO] [stdout] 394 | use crate::attack::dictionaries::tests::ENGLISH_TEXT_WITH_PUNCTUATIONS_MARKS; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `F64Margin` [INFO] [stdout] --> src/attack/frequency.rs:399:31 [INFO] [stdout] | [INFO] [stdout] 399 | use float_cmp::{ApproxEq, F64Margin}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `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: associated function is never used: `get_string_key_algorithms` [INFO] [stdout] --> src/bin/main.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn get_string_key_algorithms()-> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_integer_key_algorithms` [INFO] [stdout] --> src/bin/main.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn get_integer_key_algorithms()-> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_string_value` [INFO] [stdout] --> src/bin/main.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn get_string_value(&self)-> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `temp_env` [INFO] [stdout] --> src/bin/main.rs:860:9 [INFO] [stdout] | [INFO] [stdout] 860 | temp_env: TestEnvironment, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `temp_env_var` [INFO] [stdout] --> src/bin/main.rs:861:9 [INFO] [stdout] | [INFO] [stdout] 861 | temp_env_var: TemporalEnvironmentVariable [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Str` should have a snake case name [INFO] [stdout] --> src/bin/main.rs:69:19 [INFO] [stdout] | [INFO] [stdout] 69 | .map(|Str| Str.clone()) [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `str` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:545:9 [INFO] [stdout] | [INFO] [stdout] 545 | write(output_file_path, output_string.as_str()); [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: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:766:17 [INFO] [stdout] | [INFO] [stdout] 766 | new_dictionary.populate(pathname); [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 `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:780:13 [INFO] [stdout] | [INFO] [stdout] 780 | dictionary.populate(pathname); [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 `Str` should have a snake case name [INFO] [stdout] --> src/bin/main.rs:812:48 [INFO] [stdout] | [INFO] [stdout] 812 | let args_str: Vec<&str> = args.iter().map(|Str| Str.as_str()).collect(); [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:867:13 [INFO] [stdout] | [INFO] [stdout] 867 | database::create_database(); [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 `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:871:13 [INFO] [stdout] | [INFO] [stdout] 871 | create_dir(&resources_path); [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 `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:886:17 [INFO] [stdout] | [INFO] [stdout] 886 | dictionary.populate(language_book); [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 return value of `collect` that must be used [INFO] [stdout] --> src/bin/main.rs:889:13 [INFO] [stdout] | [INFO] [stdout] 889 | LANGUAGES.iter().map(|x| _languages.push(x.to_string())).collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:1101:9 [INFO] [stdout] | [INFO] [stdout] 1101 | write(message_file.path(), CAESAR_ORIGINAL_MESSAGE); [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 `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:1119:9 [INFO] [stdout] | [INFO] [stdout] 1119 | write(message_file.path(), CAESAR_CIPHERED_MESSAGE_KEY_13); [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 `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:1137:9 [INFO] [stdout] | [INFO] [stdout] 1137 | write(message_file.path(), SUBSTITUTION_ORIGINAL_MESSAGE); [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 `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:1156:9 [INFO] [stdout] | [INFO] [stdout] 1156 | write(message_file.path(), SUBSTITUTION_CIPHERED_MESSAGE); [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 `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:1175:9 [INFO] [stdout] | [INFO] [stdout] 1175 | write(message_file.path(), CAESAR_CIPHERED_MESSAGE_KEY_13); [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 `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:1192:9 [INFO] [stdout] | [INFO] [stdout] 1192 | write(message_file.path(), CAESAR_CIPHERED_MESSAGE_KEY_13); [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 `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:1219:9 [INFO] [stdout] | [INFO] [stdout] 1219 | write(message_file.path(), ciphered_text); [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 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: unused variable: `loaded_dictionaries` [INFO] [stdout] --> src/attack/affine.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 144 | let loaded_dictionaries = LoadedDictionaries::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_dictionaries` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `loaded_dictionaries` [INFO] [stdout] --> src/attack/affine.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | let loaded_dictionaries = LoadedDictionaries::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_dictionaries` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `loaded_dictionaries` [INFO] [stdout] --> src/attack/caesar.rs:148:13 [INFO] [stdout] | [INFO] [stdout] 148 | let loaded_dictionaries = LoadedDictionaries::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_dictionaries` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `loaded_dictionaries` [INFO] [stdout] --> src/attack/caesar.rs:157:13 [INFO] [stdout] | [INFO] [stdout] 157 | let loaded_dictionaries = LoadedDictionaries::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_dictionaries` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `test_env` [INFO] [stdout] --> src/attack/database.rs:201:13 [INFO] [stdout] | [INFO] [stdout] 201 | let test_env = TemporalEnvironmentVariable::new("DATABASE_URL", absolute_pathname_to_database); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `temp_dir` [INFO] [stdout] --> src/attack/dictionaries.rs:809:14 [INFO] [stdout] | [INFO] [stdout] 809 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `temp_env_database_path` [INFO] [stdout] --> src/attack/dictionaries.rs:809:24 [INFO] [stdout] | [INFO] [stdout] 809 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_env_database_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `temp_dir` [INFO] [stdout] --> src/attack/dictionaries.rs:818:14 [INFO] [stdout] | [INFO] [stdout] 818 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `temp_env_database_path` [INFO] [stdout] --> src/attack/dictionaries.rs:818:24 [INFO] [stdout] | [INFO] [stdout] 818 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_env_database_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `temp_dir` [INFO] [stdout] --> src/attack/dictionaries.rs:835:14 [INFO] [stdout] | [INFO] [stdout] 835 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `temp_env_database_path` [INFO] [stdout] --> src/attack/dictionaries.rs:835:24 [INFO] [stdout] | [INFO] [stdout] 835 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_env_database_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `temp_dir` [INFO] [stdout] --> src/attack/dictionaries.rs:850:14 [INFO] [stdout] | [INFO] [stdout] 850 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `temp_env_database_path` [INFO] [stdout] --> src/attack/dictionaries.rs:850:24 [INFO] [stdout] | [INFO] [stdout] 850 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_env_database_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `temp_dir` [INFO] [stdout] --> src/attack/dictionaries.rs:865:14 [INFO] [stdout] | [INFO] [stdout] 865 | let (temp_dir, temp_env_database_path) = loaded_micro_dictionary_temp_dir(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `temp_env_database_path` [INFO] [stdout] --> src/attack/dictionaries.rs:865:24 [INFO] [stdout] | [INFO] [stdout] 865 | let (temp_dir, temp_env_database_path) = loaded_micro_dictionary_temp_dir(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_env_database_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `temp_env_database_path` [INFO] [stdout] --> src/attack/dictionaries.rs:902:24 [INFO] [stdout] | [INFO] [stdout] 902 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_env_database_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `temp_dir` [INFO] [stdout] --> src/attack/dictionaries.rs:944:14 [INFO] [stdout] | [INFO] [stdout] 944 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `temp_env_database_path` [INFO] [stdout] --> src/attack/dictionaries.rs:944:24 [INFO] [stdout] | [INFO] [stdout] 944 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_env_database_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `loaded_dictionaries` [INFO] [stdout] --> src/attack/dictionaries.rs:959:13 [INFO] [stdout] | [INFO] [stdout] 959 | let loaded_dictionaries = LoadedDictionaries::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_dictionaries` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `temp_dir` [INFO] [stdout] --> src/attack/dictionaries.rs:990:14 [INFO] [stdout] | [INFO] [stdout] 990 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `temp_env_database_path` [INFO] [stdout] --> src/attack/dictionaries.rs:990:24 [INFO] [stdout] | [INFO] [stdout] 990 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_env_database_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `loaded_micro_dictionary_temp_dir` [INFO] [stdout] --> src/attack/dictionaries.rs:1020:27 [INFO] [stdout] | [INFO] [stdout] 1020 | fn test_get_all_words(loaded_micro_dictionary_temp_dir: (TestEnvironment, TemporalEnvironmentVariable)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_micro_dictionary_temp_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `loaded_micro_dictionary_temp_dir` [INFO] [stdout] --> src/attack/simple_attacks.rs:281:43 [INFO] [stdout] | [INFO] [stdout] 281 | fn test_dictionary_word_key_generator(loaded_micro_dictionary_temp_dir: (TestEnvironment, TemporalEnvironmentVariable)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_micro_dictionary_temp_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `loaded_dictionaries` [INFO] [stdout] --> src/attack/substitution.rs:872:13 [INFO] [stdout] | [INFO] [stdout] 872 | let loaded_dictionaries = LoadedDictionaries::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_dictionaries` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `loaded_dictionaries` [INFO] [stdout] --> src/attack/substitution.rs:894:13 [INFO] [stdout] | [INFO] [stdout] 894 | let loaded_dictionaries = LoadedDictionaries::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_dictionaries` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `missing` [INFO] [stdout] --> src/attack/substitution.rs:1125:13 [INFO] [stdout] | [INFO] [stdout] 1125 | let missing: Vec = expected_list.iter().cloned().filter(|_mapping| !recovered_mappings.contains(&_mapping)).collect(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_missing` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `extracted_candidates` [INFO] [stdout] --> src/attack/substitution.rs:1210:38 [INFO] [stdout] | [INFO] [stdout] 1210 | let (extracted_cipherletter, extracted_candidates) = mapping.pop_item() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_extracted_candidates` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `loaded_dictionaries` [INFO] [stdout] --> src/attack/transposition.rs:100:13 [INFO] [stdout] | [INFO] [stdout] 100 | let loaded_dictionaries = LoadedDictionaries::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_dictionaries` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `loaded_dictionaries` [INFO] [stdout] --> src/attack/transposition.rs:109:13 [INFO] [stdout] | [INFO] [stdout] 109 | let loaded_dictionaries = LoadedDictionaries::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_dictionaries` [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: variable does not need to be mutable [INFO] [stdout] --> src/attack/dictionaries.rs:864:13 [INFO] [stdout] | [INFO] [stdout] 864 | let mut micro_dictionaries = get_micro_dictionaries_content(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/attack/substitution.rs:1073:13 [INFO] [stdout] | [INFO] [stdout] 1073 | let mut expected_mapping_1 = mapping!(THIS_TEST_CHARSET, {"1": {"a"}, [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/attack/substitution.rs:1078:13 [INFO] [stdout] | [INFO] [stdout] 1078 | let mut expected_mapping_2 = mapping!(THIS_TEST_CHARSET, {"1": {"a"}, [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/attack/substitution.rs:1083:13 [INFO] [stdout] | [INFO] [stdout] 1083 | let mut expected_mapping_3 = mapping!(THIS_TEST_CHARSET, {"1": {"b"}, [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/attack/substitution.rs:1088:13 [INFO] [stdout] | [INFO] [stdout] 1088 | let mut expected_mapping_4 = mapping!(THIS_TEST_CHARSET, {"1": {"b"}, [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/attack/substitution.rs:1093:13 [INFO] [stdout] | [INFO] [stdout] 1093 | let mut expected_mapping_5 = mapping!(THIS_TEST_CHARSET, {"1": {"a"}, [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/attack/substitution.rs:1098:13 [INFO] [stdout] | [INFO] [stdout] 1098 | let mut expected_mapping_6 = mapping!(THIS_TEST_CHARSET, {"1": {"a"}, [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/attack/substitution.rs:1103:13 [INFO] [stdout] | [INFO] [stdout] 1103 | let mut expected_mapping_7 = mapping!(THIS_TEST_CHARSET, {"1": {"b"}, [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/attack/substitution.rs:1108:13 [INFO] [stdout] | [INFO] [stdout] 1108 | let mut expected_mapping_8 = mapping!(THIS_TEST_CHARSET, {"1": {"b"}, [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/attack/substitution.rs:1113:13 [INFO] [stdout] | [INFO] [stdout] 1113 | let mut expected_list = vec![ [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/attack/substitution.rs:1155:13 [INFO] [stdout] | [INFO] [stdout] 1155 | let mut mapping = mapping!(TEST_CHARSET, [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cipher/transposition.rs:324:13 [INFO] [stdout] | [INFO] [stdout] 324 | let mut transposition_matrix = vec![ [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [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: `temp_env` [INFO] [stdout] --> src/attack/dictionaries.rs:659:9 [INFO] [stdout] | [INFO] [stdout] 659 | temp_env: TestEnvironment, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `temp_env_var` [INFO] [stdout] --> src/attack/dictionaries.rs:660:9 [INFO] [stdout] | [INFO] [stdout] 660 | temp_env_var: TemporalEnvironmentVariable [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `text_file` [INFO] [stdout] --> src/attack/dictionaries.rs:752:9 [INFO] [stdout] | [INFO] [stdout] 752 | pub text_file: File, [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: `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: field is never read: `language` [INFO] [stdout] --> src/attack/substitution.rs:817:9 [INFO] [stdout] | [INFO] [stdout] 817 | language: &'static str, [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: 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] [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] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/attack/substitution.rs:877:43 [INFO] [stdout] | [INFO] [stdout] 877 | Err(E) => {assert!(false, E); String::new()} [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 877 | Err(E) => {assert!(false, "{}", E); String::new()} [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/attack/substitution.rs:899:43 [INFO] [stdout] | [INFO] [stdout] 899 | Err(E) => {assert!(false, E); String::new()} [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 899 | Err(E) => {assert!(false, "{}", E); String::new()} [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/attack/substitution.rs:913:39 [INFO] [stdout] | [INFO] [stdout] 913 | Err(E) => {assert!(false, E); PathBuf::new()} [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 913 | Err(E) => {assert!(false, "{}", E); PathBuf::new()} [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/attack/substitution.rs:918:39 [INFO] [stdout] | [INFO] [stdout] 918 | Err(E) => {assert!(false, E); File::create("/tmp").unwrap()} [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 918 | Err(E) => {assert!(false, "{}", E); File::create("/tmp").unwrap()} [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/attack/substitution.rs:923:39 [INFO] [stdout] | [INFO] [stdout] 923 | Err(E) => {assert!(false, E); ()} [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 923 | Err(E) => {assert!(false, "{}", E); ()} [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/attack/substitution.rs:939:39 [INFO] [stdout] | [INFO] [stdout] 939 | Err(E) => {assert!(false, E); String::new()} [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 939 | Err(E) => {assert!(false, "{}", E); String::new()} [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/attack/substitution.rs:1213:17 [INFO] [stdout] | [INFO] [stdout] 1213 | format!("Extracted key {} was not among original ones.", &extracted_cipherletter)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 1213 - format!("Extracted key {} was not among original ones.", &extracted_cipherletter)); [INFO] [stdout] 1213 + "Extracted key {} was not among original ones.", &extracted_cipherletter); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/attack/substitution.rs:1223:17 [INFO] [stdout] | [INFO] [stdout] 1223 | format!("Extracted cipherletter {} was not removed from mapping", &extracted_cipherletter)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 1223 - format!("Extracted cipherletter {} was not removed from mapping", &extracted_cipherletter)); [INFO] [stdout] 1223 + "Extracted cipherletter {} was not removed from mapping", &extracted_cipherletter); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/attack/substitution.rs:1232:41 [INFO] [stdout] | [INFO] [stdout] 1232 | error => assert!(false, format!("Raised error was not the one \ [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 1233 | | we were expecting but {} instead", error)) [INFO] [stdout] | |___________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 1232 ~ error => assert!(false, "Raised error was not the one \ [INFO] [stdout] 1233 ~ we were expecting but {} instead", error) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/cipher/substitution.rs:171:32 [INFO] [stdout] | [INFO] [stdout] 171 | assert!(false, format!("Error happened: {}", E)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 171 - assert!(false, format!("Error happened: {}", E)) [INFO] [stdout] 171 + assert!(false, "Error happened: {}", E) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/cipher/substitution.rs:183:32 [INFO] [stdout] | [INFO] [stdout] 183 | assert!(false, format!("Error happened: {}", E)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 183 - assert!(false, format!("Error happened: {}", E)) [INFO] [stdout] 183 + assert!(false, "Error happened: {}", E) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/cipher/substitution.rs:195:41 [INFO] [stdout] | [INFO] [stdout] 195 | error => assert!(false, format!("Raised error was not the one \ [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 196 | | we were expecting but {} instead", error)) [INFO] [stdout] | |___________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 195 ~ error => assert!(false, "Raised error was not the one \ [INFO] [stdout] 196 ~ we were expecting but {} instead", error) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/cipher/substitution.rs:208:41 [INFO] [stdout] | [INFO] [stdout] 208 | error => assert!(false, format!("Raised error was not the one \ [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 209 | | we were expecting but {} instead", error)) [INFO] [stdout] | |___________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 208 ~ error => assert!(false, "Raised error was not the one \ [INFO] [stdout] 209 ~ we were expecting but {} instead", error) [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] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/attack/database.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | create_database(); [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/database.rs:213:9 [INFO] [stdout] | [INFO] [stdout] 213 | create_folder_path(database_folder); [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/dictionaries.rs:666:13 [INFO] [stdout] | [INFO] [stdout] 666 | database::create_database(); [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/dictionaries.rs:670:13 [INFO] [stdout] | [INFO] [stdout] 670 | create_dir(&resources_path); [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/dictionaries.rs:685:17 [INFO] [stdout] | [INFO] [stdout] 685 | dictionary.populate(language_book); [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 return value of `std::iter::Iterator::collect` that must be used [INFO] [stdout] --> src/attack/dictionaries.rs:688:13 [INFO] [stdout] | [INFO] [stdout] 688 | LANGUAGES.iter().map(|x| _languages.push(x.to_string())).collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/attack/dictionaries.rs:731:9 [INFO] [stdout] | [INFO] [stdout] 731 | database::create_database(); [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 return value of `std::iter::Iterator::collect` that must be used [INFO] [stdout] --> src/attack/dictionaries.rs:737:13 [INFO] [stdout] | [INFO] [stdout] 737 | _words.iter().map(|_word| language_dictionary.add_word(_word)).collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/attack/dictionaries.rs:772:13 [INFO] [stdout] | [INFO] [stdout] 772 | text_file.write_all(text.as_ref().as_bytes()); [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/dictionaries.rs:819:9 [INFO] [stdout] | [INFO] [stdout] 819 | database::create_database(); [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/dictionaries.rs:822:13 [INFO] [stdout] | [INFO] [stdout] 822 | Dictionary::new("english", true); [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/dictionaries.rs:836:9 [INFO] [stdout] | [INFO] [stdout] 836 | database::create_database(); [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/dictionaries.rs:867:9 [INFO] [stdout] | [INFO] [stdout] 867 | Dictionary::remove_dictionary(language_to_remove); [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 return value of `std::iter::Iterator::collect` that must be used [INFO] [stdout] --> src/attack/dictionaries.rs:889:13 [INFO] [stdout] | [INFO] [stdout] 889 | ... temporary_text.normalized_text.to_lowercase().split_ascii_whitespace().map(|_word| expected_set.insert(_word.to_string())).collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/attack/dictionaries.rs:903:9 [INFO] [stdout] | [INFO] [stdout] 903 | database::create_database(); [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 return value of `std::iter::Iterator::collect` that must be used [INFO] [stdout] --> src/attack/dictionaries.rs:911:9 [INFO] [stdout] | [INFO] [stdout] 911 | expected_lowercase_content.split_ascii_whitespace().map(|x| expected_set.insert(x)).collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/attack/dictionaries.rs:915:13 [INFO] [stdout] | [INFO] [stdout] 915 | dictionary.populate(temporary_text_file.temp_filename.as_path()); [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 return value of `std::iter::Iterator::collect` that must be used [INFO] [stdout] --> src/attack/dictionaries.rs:929:13 [INFO] [stdout] | [INFO] [stdout] 929 | test_tuple.2.to_lowercase().split_ascii_whitespace().map(|_word| expected_set.insert(_word.to_string())).collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/attack/dictionaries.rs:945:9 [INFO] [stdout] | [INFO] [stdout] 945 | database::create_database(); [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 return value of `std::iter::Iterator::collect` that must be used [INFO] [stdout] --> src/attack/dictionaries.rs:949:9 [INFO] [stdout] | [INFO] [stdout] 949 | micro_dictionaries[_language].iter().map(|_word| words_to_add.insert(_word.clone())).collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/attack/dictionaries.rs:991:9 [INFO] [stdout] | [INFO] [stdout] 991 | database::create_database(); [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 `E` should have a snake case name [INFO] [stdout] --> src/attack/substitution.rs:877:21 [INFO] [stdout] | [INFO] [stdout] 877 | Err(E) => {assert!(false, E); String::new()} [INFO] [stdout] | ^ help: convert the identifier to snake case: `e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `E` should have a snake case name [INFO] [stdout] --> src/attack/substitution.rs:899:21 [INFO] [stdout] | [INFO] [stdout] 899 | Err(E) => {assert!(false, E); String::new()} [INFO] [stdout] | ^ help: convert the identifier to snake case: `e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `E` should have a snake case name [INFO] [stdout] --> src/attack/substitution.rs:913:17 [INFO] [stdout] | [INFO] [stdout] 913 | Err(E) => {assert!(false, E); PathBuf::new()} [INFO] [stdout] | ^ help: convert the identifier to snake case: `e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `E` should have a snake case name [INFO] [stdout] --> src/attack/substitution.rs:918:17 [INFO] [stdout] | [INFO] [stdout] 918 | Err(E) => {assert!(false, E); File::create("/tmp").unwrap()} [INFO] [stdout] | ^ help: convert the identifier to snake case: `e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `E` should have a snake case name [INFO] [stdout] --> src/attack/substitution.rs:923:17 [INFO] [stdout] | [INFO] [stdout] 923 | Err(E) => {assert!(false, E); ()} [INFO] [stdout] | ^ help: convert the identifier to snake case: `e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `E` should have a snake case name [INFO] [stdout] --> src/attack/substitution.rs:939:17 [INFO] [stdout] | [INFO] [stdout] 939 | Err(E) => {assert!(false, E); String::new()} [INFO] [stdout] | ^ help: convert the identifier to snake case: `e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `THIS_TEST_CHARSET` should have a snake case name [INFO] [stdout] --> src/attack/substitution.rs:1065:13 [INFO] [stdout] | [INFO] [stdout] 1065 | let THIS_TEST_CHARSET = "12345"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `this_test_charset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `E` should have a snake case name [INFO] [stdout] --> src/attack/substitution.rs:1229:20 [INFO] [stdout] | [INFO] [stdout] 1229 | if let Err(E) = mapping.pop_item() { [INFO] [stdout] | ^ help: convert the identifier to snake case: `e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `E` should have a snake case name [INFO] [stdout] --> src/cipher/substitution.rs:170:17 [INFO] [stdout] | [INFO] [stdout] 170 | Err(E) => { [INFO] [stdout] | ^ help: convert the identifier to snake case: `e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `E` should have a snake case name [INFO] [stdout] --> src/cipher/substitution.rs:182:17 [INFO] [stdout] | [INFO] [stdout] 182 | Err(E) => { [INFO] [stdout] | ^ help: convert the identifier to snake case: `e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `E` should have a snake case name [INFO] [stdout] --> src/cipher/substitution.rs:192:20 [INFO] [stdout] | [INFO] [stdout] 192 | if let Err(E) = cipher("", wrong_key, test_charset) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `E` should have a snake case name [INFO] [stdout] --> src/cipher/substitution.rs:205:20 [INFO] [stdout] | [INFO] [stdout] 205 | if let Err(E) = cipher("", wrong_key, test_charset) { [INFO] [stdout] | ^ help: convert the identifier to snake case: `e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 53 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 136 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 11.96s [INFO] running `Command { std: "docker" "inspect" "90b9a394325f991a7b614b52b6f392292f35addaf719b51af91eeb86d9be83b9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "90b9a394325f991a7b614b52b6f392292f35addaf719b51af91eeb86d9be83b9", kill_on_drop: false }` [INFO] [stdout] 90b9a394325f991a7b614b52b6f392292f35addaf719b51af91eeb86d9be83b9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-97/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-97/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" "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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 478f7770cb929863a852dab0eeee4350257481ec67b9f539827c6727303955aa [INFO] running `Command { std: "docker" "start" "-a" "478f7770cb929863a852dab0eeee4350257481ec67b9f539827c6727303955aa", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: unused import: `OsStr` [INFO] [stderr] --> src/attack/database.rs:6:16 [INFO] [stderr] | [INFO] [stderr] 6 | use std::ffi::{OsStr, OsString}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Error` [INFO] [stderr] --> src/attack/database.rs:11:43 [INFO] [stderr] | [INFO] [stderr] 11 | use crate::{ErrorKind, Result, ResultExt, Error}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `DATABASE_STANDARD_PATH` should have an upper camel case name [INFO] [stderr] --> src/attack/database.rs:31:8 [INFO] [stderr] | [INFO] [stderr] 31 | struct DATABASE_STANDARD_PATH; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DatabaseStandardPath` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `cipher` [INFO] [stderr] --> src/attack/frequency.rs:5:48 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::cipher::vigenere::{DEFAULT_CHARSET, cipher, decipher}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Error`, `ResultExt` [INFO] [stderr] --> src/cipher/substitution.rs:2:32 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::{ErrorKind, Result, ResultExt, Error}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `E` [INFO] [stderr] --> src/attack/simple_attacks.rs:165:25 [INFO] [stderr] | [INFO] [stderr] 165 | Err(E) => return None [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_E` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `char` [INFO] [stderr] --> src/attack/frequency.rs:256:13 [INFO] [stderr] | [INFO] [stderr] 256 | for (i, char) in char_string.chars().enumerate() { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_char` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/attack/frequency.rs:383:21 [INFO] [stderr] | [INFO] [stderr] 383 | .map(|(key, value)| key) [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/attack/frequency.rs:126:28 [INFO] [stderr] | [INFO] [stderr] 126 | .filter(|(&key, &_value)| _value == *value) [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/attack/frequency.rs:157:25 [INFO] [stderr] | [INFO] [stderr] 157 | .map(|(key, value)| key) [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/attack/frequency.rs:164:25 [INFO] [stderr] | [INFO] [stderr] 164 | .map(|(key, value)| key) [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ciphered_text` [INFO] [stderr] --> src/attack/vigenere.rs:36:26 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn brute_force(ciphered_text: T, charset: U, testing: bool)-> Result [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ciphered_text` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `charset` [INFO] [stderr] --> src/attack/vigenere.rs:36:44 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn brute_force(ciphered_text: T, charset: U, testing: bool)-> Result [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_charset` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `testing` [INFO] [stderr] --> src/attack/vigenere.rs:36:56 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn brute_force(ciphered_text: T, charset: U, testing: bool)-> Result [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_testing` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ciphered_text` [INFO] [stderr] --> src/attack/vigenere.rs:47:23 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn brute_force_mp(ciphered_text: &str, charset: &str, testing: bool)-> Result { [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ciphered_text` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `charset` [INFO] [stderr] --> src/attack/vigenere.rs:47:44 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn brute_force_mp(ciphered_text: &str, charset: &str, testing: bool)-> Result { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_charset` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `testing` [INFO] [stderr] --> src/attack/vigenere.rs:47:59 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn brute_force_mp(ciphered_text: &str, charset: &str, testing: bool)-> Result { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_testing` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `offset_char` is never read [INFO] [stderr] --> src/cipher/vigenere.rs:101:17 [INFO] [stderr] | [INFO] [stderr] 101 | let mut offset_char = String::new(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/attack/frequency.rs:269:28 [INFO] [stderr] | [INFO] [stderr] 269 | let mut values = sequences.get_mut(sequence_to_find).unwrap(); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_best_result` [INFO] [stderr] --> src/attack/caesar.rs:114:4 [INFO] [stderr] | [INFO] [stderr] 114 | fn get_best_result(identified_languages: &Vec<(usize, IdentifiedLanguage)>)-> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field is never read: `database_path` [INFO] [stderr] --> src/attack/database.rs:98:5 [INFO] [stderr] | [INFO] [stderr] 98 | database_path: String [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `candidates` [INFO] [stderr] --> src/attack/dictionaries.rs:410:5 [INFO] [stderr] | [INFO] [stderr] 410 | candidates: HashMap [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `start` [INFO] [stderr] --> src/attack/simple_attacks.rs:89:5 [INFO] [stderr] | [INFO] [stderr] 89 | start: usize, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/attack/simple_attacks.rs:95:8 [INFO] [stderr] | [INFO] [stderr] 95 | fn new(start: usize, end: usize) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/attack/simple_attacks.rs:129:12 [INFO] [stderr] | [INFO] [stderr] 129 | pub fn new() -> Result { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `create_new_single_entry` [INFO] [stderr] --> src/attack/substitution.rs:723:8 [INFO] [stderr] | [INFO] [stderr] 723 | fn create_new_single_entry(&mut self, key: char, value: char) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `LetterHistogram` [INFO] [stderr] --> src/attack/frequency.rs:14:8 [INFO] [stderr] | [INFO] [stderr] 14 | struct LetterHistogram { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `from_text` [INFO] [stderr] --> src/attack/frequency.rs:37:8 [INFO] [stderr] | [INFO] [stderr] 37 | fn from_text(text: T, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `from_dict` [INFO] [stderr] --> src/attack/frequency.rs:67:8 [INFO] [stderr] | [INFO] [stderr] 67 | fn from_dict(letters: HashMap, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `setup_for_matching` [INFO] [stderr] --> src/attack/frequency.rs:89:8 [INFO] [stderr] | [INFO] [stderr] 89 | fn setup_for_matching(self, letter_counter: Counter, width: usize) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `create_ordered_dict` [INFO] [stderr] --> src/attack/frequency.rs:103:8 [INFO] [stderr] | [INFO] [stderr] 103 | fn create_ordered_dict(mut self, letter_counter: Counter) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `set_matching_width` [INFO] [stderr] --> src/attack/frequency.rs:155:8 [INFO] [stderr] | [INFO] [stderr] 155 | fn set_matching_width(mut self, width: usize) -> Self{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `frequency` [INFO] [stderr] --> src/attack/frequency.rs:181:8 [INFO] [stderr] | [INFO] [stderr] 181 | fn frequency(&self, key: T) -> Result [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `letters` [INFO] [stderr] --> src/attack/frequency.rs:190:8 [INFO] [stderr] | [INFO] [stderr] 190 | fn letters(&self) -> linked_hash_map::Keys { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `match_score` [INFO] [stderr] --> src/attack/frequency.rs:208:8 [INFO] [stderr] | [INFO] [stderr] 208 | fn match_score(one: &LetterHistogram, other: &LetterHistogram) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `find_repeated_sequences` [INFO] [stderr] --> src/attack/frequency.rs:230:8 [INFO] [stderr] | [INFO] [stderr] 230 | pub fn find_repeated_sequences(text: T, length: usize) -> HashMap> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `find_adjacent_separations` [INFO] [stderr] --> src/attack/frequency.rs:247:4 [INFO] [stderr] | [INFO] [stderr] 247 | fn find_adjacent_separations(text: T, length: usize) -> HashMap> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `find_not_adjacent_separations` [INFO] [stderr] --> src/attack/frequency.rs:292:4 [INFO] [stderr] | [INFO] [stderr] 292 | fn find_not_adjacent_separations(sequences: &mut HashMap>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_substrings` [INFO] [stderr] --> src/attack/frequency.rs:327:8 [INFO] [stderr] | [INFO] [stderr] 327 | pub fn get_substrings(ciphertext: T, step: usize) -> Vec [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `match_substring` [INFO] [stderr] --> src/attack/frequency.rs:353:4 [INFO] [stderr] | [INFO] [stderr] 353 | fn match_substring(substring: T, reference_histogram: &LetterHistogram) -> u8 [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `find_most_likely_subkeys` [INFO] [stderr] --> src/attack/frequency.rs:370:4 [INFO] [stderr] | [INFO] [stderr] 370 | fn find_most_likely_subkeys(substring: T, reference_histogram: &LetterHistogram) -> Result> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `MultiplyingKeyBelowZero` [INFO] [stderr] --> src/cipher/affine.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | MultiplyingKeyBelowZero, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `AddingKeyBelowZero` [INFO] [stderr] --> src/cipher/affine.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | AddingKeyBelowZero, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait method `fromStr` should have a snake case name [INFO] [stderr] --> src/lib.rs:85:8 [INFO] [stderr] | [INFO] [stderr] 85 | fn fromStr(s: T) -> Self; [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `from_str` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait method `findFromIndex` should have a snake case name [INFO] [stderr] --> src/lib.rs:106:8 [INFO] [stderr] | [INFO] [stderr] 106 | fn findFromIndex(text: &T, text_to_find: U, index: usize) -> Option; [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `find_from_index` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/attack/database.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | create_folder_path(database_folder); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variable `E` should have a snake case name [INFO] [stderr] --> src/attack/simple_attacks.rs:165:25 [INFO] [stderr] | [INFO] [stderr] 165 | Err(E) => return None [INFO] [stderr] | ^ help: convert the identifier to snake case: `e` [INFO] [stderr] [INFO] [stderr] warning: variable `item_A` should have a snake case name [INFO] [stderr] --> src/attack/frequency.rs:122:34 [INFO] [stderr] | [INFO] [stderr] 122 | values_ordered.sort_by(|&item_A, &item_B| item_B.cmp(item_A)); [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `item_a` [INFO] [stderr] [INFO] [stderr] warning: variable `item_B` should have a snake case name [INFO] [stderr] --> src/attack/frequency.rs:122:43 [INFO] [stderr] | [INFO] [stderr] 122 | values_ordered.sort_by(|&item_A, &item_B| item_B.cmp(item_A)); [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `item_b` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/attack/frequency.rs:162:9 [INFO] [stderr] | [INFO] [stderr] 162 | ordered_dict_iter.advance_by(self.ordered_dict.len()-width); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/attack/frequency.rs:334:9 [INFO] [stderr] | [INFO] [stderr] 334 | ciphered_stream_iter.advance_by(i); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variable `item_A` should have a snake case name [INFO] [stderr] --> src/cipher/common.rs:186:25 [INFO] [stderr] | [INFO] [stderr] 186 | items.sort_by(|&item_A, &item_B| item_B.1.cmp(item_A.1)); [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `item_a` [INFO] [stderr] [INFO] [stderr] warning: variable `item_B` should have a snake case name [INFO] [stderr] --> src/cipher/common.rs:186:34 [INFO] [stderr] | [INFO] [stderr] 186 | items.sort_by(|&item_A, &item_B| item_B.1.cmp(item_A.1)); [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `item_b` [INFO] [stderr] [INFO] [stderr] warning: unused import: `diesel::result::Error::DatabaseError` [INFO] [stderr] --> src/attack/caesar.rs:140:9 [INFO] [stderr] | [INFO] [stderr] 140 | use diesel::result::Error::DatabaseError; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `OsStr` [INFO] [stderr] --> src/attack/database.rs:6:16 [INFO] [stderr] | [INFO] [stderr] 6 | use std::ffi::{OsStr, OsString}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ffi::OsStr` [INFO] [stderr] --> src/attack/database.rs:185:9 [INFO] [stderr] | [INFO] [stderr] 185 | use std::ffi::OsStr; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `read_to_string` [INFO] [stderr] --> src/attack/dictionaries.rs:542:50 [INFO] [stderr] | [INFO] [stderr] 542 | use std::fs::{create_dir, File, OpenOptions, read_to_string}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ffi::OsString` [INFO] [stderr] --> src/attack/dictionaries.rs:548:9 [INFO] [stderr] | [INFO] [stderr] 548 | use std::ffi::OsString; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufReader`, `Read` [INFO] [stderr] --> src/attack/dictionaries.rs:550:26 [INFO] [stderr] | [INFO] [stderr] 550 | use std::io::{Write, BufReader, Read}; [INFO] [stderr] | ^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::env::temp_dir` [INFO] [stderr] --> src/attack/dictionaries.rs:552:9 [INFO] [stderr] | [INFO] [stderr] 552 | use std::env::temp_dir; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::attack::dictionaries::tests::ENGLISH_TEXT_WITH_PUNCTUATIONS_MARKS` [INFO] [stderr] --> src/attack/frequency.rs:394:9 [INFO] [stderr] | [INFO] [stderr] 394 | use crate::attack::dictionaries::tests::ENGLISH_TEXT_WITH_PUNCTUATIONS_MARKS; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `F64Margin` [INFO] [stderr] --> src/attack/frequency.rs:399:31 [INFO] [stderr] | [INFO] [stderr] 399 | use float_cmp::{ApproxEq, F64Margin}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ResultExt` [INFO] [stderr] --> src/cipher/substitution.rs:2:32 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::{ErrorKind, Result, ResultExt, Error}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `loaded_dictionaries` [INFO] [stderr] --> src/attack/affine.rs:144:13 [INFO] [stderr] | [INFO] [stderr] 144 | let loaded_dictionaries = LoadedDictionaries::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_dictionaries` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `loaded_dictionaries` [INFO] [stderr] --> src/attack/affine.rs:153:13 [INFO] [stderr] | [INFO] [stderr] 153 | let loaded_dictionaries = LoadedDictionaries::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_dictionaries` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `loaded_dictionaries` [INFO] [stderr] --> src/attack/caesar.rs:148:13 [INFO] [stderr] | [INFO] [stderr] 148 | let loaded_dictionaries = LoadedDictionaries::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_dictionaries` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `loaded_dictionaries` [INFO] [stderr] --> src/attack/caesar.rs:157:13 [INFO] [stderr] | [INFO] [stderr] 157 | let loaded_dictionaries = LoadedDictionaries::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_dictionaries` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `test_env` [INFO] [stderr] --> src/attack/database.rs:201:13 [INFO] [stderr] | [INFO] [stderr] 201 | let test_env = TemporalEnvironmentVariable::new("DATABASE_URL", absolute_pathname_to_database); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_env` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `temp_dir` [INFO] [stderr] --> src/attack/dictionaries.rs:809:14 [INFO] [stderr] | [INFO] [stderr] 809 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_dir` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `temp_env_database_path` [INFO] [stderr] --> src/attack/dictionaries.rs:809:24 [INFO] [stderr] | [INFO] [stderr] 809 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_env_database_path` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `temp_dir` [INFO] [stderr] --> src/attack/dictionaries.rs:818:14 [INFO] [stderr] | [INFO] [stderr] 818 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_dir` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `temp_env_database_path` [INFO] [stderr] --> src/attack/dictionaries.rs:818:24 [INFO] [stderr] | [INFO] [stderr] 818 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_env_database_path` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `temp_dir` [INFO] [stderr] --> src/attack/dictionaries.rs:835:14 [INFO] [stderr] | [INFO] [stderr] 835 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_dir` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `temp_env_database_path` [INFO] [stderr] --> src/attack/dictionaries.rs:835:24 [INFO] [stderr] | [INFO] [stderr] 835 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_env_database_path` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `temp_dir` [INFO] [stderr] --> src/attack/dictionaries.rs:850:14 [INFO] [stderr] | [INFO] [stderr] 850 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_dir` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `temp_env_database_path` [INFO] [stderr] --> src/attack/dictionaries.rs:850:24 [INFO] [stderr] | [INFO] [stderr] 850 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_env_database_path` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `temp_dir` [INFO] [stderr] --> src/attack/dictionaries.rs:865:14 [INFO] [stderr] | [INFO] [stderr] 865 | let (temp_dir, temp_env_database_path) = loaded_micro_dictionary_temp_dir(); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_dir` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `temp_env_database_path` [INFO] [stderr] --> src/attack/dictionaries.rs:865:24 [INFO] [stderr] | [INFO] [stderr] 865 | let (temp_dir, temp_env_database_path) = loaded_micro_dictionary_temp_dir(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_env_database_path` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `temp_env_database_path` [INFO] [stderr] --> src/attack/dictionaries.rs:902:24 [INFO] [stderr] | [INFO] [stderr] 902 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_env_database_path` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `temp_dir` [INFO] [stderr] --> src/attack/dictionaries.rs:944:14 [INFO] [stderr] | [INFO] [stderr] 944 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_dir` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `temp_env_database_path` [INFO] [stderr] --> src/attack/dictionaries.rs:944:24 [INFO] [stderr] | [INFO] [stderr] 944 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_env_database_path` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `loaded_dictionaries` [INFO] [stderr] --> src/attack/dictionaries.rs:959:13 [INFO] [stderr] | [INFO] [stderr] 959 | let loaded_dictionaries = LoadedDictionaries::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_dictionaries` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `temp_dir` [INFO] [stderr] --> src/attack/dictionaries.rs:990:14 [INFO] [stderr] | [INFO] [stderr] 990 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_dir` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `temp_env_database_path` [INFO] [stderr] --> src/attack/dictionaries.rs:990:24 [INFO] [stderr] | [INFO] [stderr] 990 | let (temp_dir, temp_env_database_path) = temporary_database_folder(None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_env_database_path` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `loaded_micro_dictionary_temp_dir` [INFO] [stderr] --> src/attack/dictionaries.rs:1020:27 [INFO] [stderr] | [INFO] [stderr] 1020 | fn test_get_all_words(loaded_micro_dictionary_temp_dir: (TestEnvironment, TemporalEnvironmentVariable)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_micro_dictionary_temp_dir` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `loaded_micro_dictionary_temp_dir` [INFO] [stderr] --> src/attack/simple_attacks.rs:281:43 [INFO] [stderr] | [INFO] [stderr] 281 | fn test_dictionary_word_key_generator(loaded_micro_dictionary_temp_dir: (TestEnvironment, TemporalEnvironmentVariable)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_micro_dictionary_temp_dir` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `loaded_dictionaries` [INFO] [stderr] --> src/attack/substitution.rs:872:13 [INFO] [stderr] | [INFO] [stderr] 872 | let loaded_dictionaries = LoadedDictionaries::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_dictionaries` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `loaded_dictionaries` [INFO] [stderr] --> src/attack/substitution.rs:894:13 [INFO] [stderr] | [INFO] [stderr] 894 | let loaded_dictionaries = LoadedDictionaries::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_dictionaries` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `missing` [INFO] [stderr] --> src/attack/substitution.rs:1125:13 [INFO] [stderr] | [INFO] [stderr] 1125 | let missing: Vec = expected_list.iter().cloned().filter(|_mapping| !recovered_mappings.contains(&_mapping)).collect(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_missing` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `extracted_candidates` [INFO] [stderr] --> src/attack/substitution.rs:1210:38 [INFO] [stderr] | [INFO] [stderr] 1210 | let (extracted_cipherletter, extracted_candidates) = mapping.pop_item() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_extracted_candidates` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `loaded_dictionaries` [INFO] [stderr] --> src/attack/transposition.rs:100:13 [INFO] [stderr] | [INFO] [stderr] 100 | let loaded_dictionaries = LoadedDictionaries::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_dictionaries` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `loaded_dictionaries` [INFO] [stderr] --> src/attack/transposition.rs:109:13 [INFO] [stderr] | [INFO] [stderr] 109 | let loaded_dictionaries = LoadedDictionaries::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_dictionaries` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/attack/dictionaries.rs:864:13 [INFO] [stderr] | [INFO] [stderr] 864 | let mut micro_dictionaries = get_micro_dictionaries_content(); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/attack/substitution.rs:1073:13 [INFO] [stderr] | [INFO] [stderr] 1073 | let mut expected_mapping_1 = mapping!(THIS_TEST_CHARSET, {"1": {"a"}, [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/attack/substitution.rs:1078:13 [INFO] [stderr] | [INFO] [stderr] 1078 | let mut expected_mapping_2 = mapping!(THIS_TEST_CHARSET, {"1": {"a"}, [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/attack/substitution.rs:1083:13 [INFO] [stderr] | [INFO] [stderr] 1083 | let mut expected_mapping_3 = mapping!(THIS_TEST_CHARSET, {"1": {"b"}, [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/attack/substitution.rs:1088:13 [INFO] [stderr] | [INFO] [stderr] 1088 | let mut expected_mapping_4 = mapping!(THIS_TEST_CHARSET, {"1": {"b"}, [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/attack/substitution.rs:1093:13 [INFO] [stderr] | [INFO] [stderr] 1093 | let mut expected_mapping_5 = mapping!(THIS_TEST_CHARSET, {"1": {"a"}, [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/attack/substitution.rs:1098:13 [INFO] [stderr] | [INFO] [stderr] 1098 | let mut expected_mapping_6 = mapping!(THIS_TEST_CHARSET, {"1": {"a"}, [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/attack/substitution.rs:1103:13 [INFO] [stderr] | [INFO] [stderr] 1103 | let mut expected_mapping_7 = mapping!(THIS_TEST_CHARSET, {"1": {"b"}, [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/attack/substitution.rs:1108:13 [INFO] [stderr] | [INFO] [stderr] 1108 | let mut expected_mapping_8 = mapping!(THIS_TEST_CHARSET, {"1": {"b"}, [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/attack/substitution.rs:1113:13 [INFO] [stderr] | [INFO] [stderr] 1113 | let mut expected_list = vec![ [INFO] [stderr] | ----^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/attack/substitution.rs:1155:13 [INFO] [stderr] | [INFO] [stderr] 1155 | let mut mapping = mapping!(TEST_CHARSET, [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cipher/transposition.rs:324:13 [INFO] [stderr] | [INFO] [stderr] 324 | let mut transposition_matrix = vec![ [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field is never read: `temp_env` [INFO] [stderr] --> src/attack/dictionaries.rs:659:9 [INFO] [stderr] | [INFO] [stderr] 659 | temp_env: TestEnvironment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `temp_env_var` [INFO] [stderr] --> src/attack/dictionaries.rs:660:9 [INFO] [stderr] | [INFO] [stderr] 660 | temp_env_var: TemporalEnvironmentVariable [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `text_file` [INFO] [stderr] --> src/attack/dictionaries.rs:752:9 [INFO] [stderr] | [INFO] [stderr] 752 | pub text_file: File, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `language` [INFO] [stderr] --> src/attack/substitution.rs:817:9 [INFO] [stderr] | [INFO] [stderr] 817 | language: &'static str, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/attack/substitution.rs:877:43 [INFO] [stderr] | [INFO] [stderr] 877 | Err(E) => {assert!(false, E); String::new()} [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 877 | Err(E) => {assert!(false, "{}", E); String::new()} [INFO] [stderr] | +++++ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/attack/substitution.rs:899:43 [INFO] [stderr] | [INFO] [stderr] 899 | Err(E) => {assert!(false, E); String::new()} [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 899 | Err(E) => {assert!(false, "{}", E); String::new()} [INFO] [stderr] | +++++ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/attack/substitution.rs:913:39 [INFO] [stderr] | [INFO] [stderr] 913 | Err(E) => {assert!(false, E); PathBuf::new()} [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 913 | Err(E) => {assert!(false, "{}", E); PathBuf::new()} [INFO] [stderr] | +++++ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/attack/substitution.rs:918:39 [INFO] [stderr] | [INFO] [stderr] 918 | Err(E) => {assert!(false, E); File::create("/tmp").unwrap()} [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 918 | Err(E) => {assert!(false, "{}", E); File::create("/tmp").unwrap()} [INFO] [stderr] | +++++ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/attack/substitution.rs:923:39 [INFO] [stderr] | [INFO] [stderr] 923 | Err(E) => {assert!(false, E); ()} [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 923 | Err(E) => {assert!(false, "{}", E); ()} [INFO] [stderr] | +++++ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/attack/substitution.rs:939:39 [INFO] [stderr] | [INFO] [stderr] 939 | Err(E) => {assert!(false, E); String::new()} [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 939 | Err(E) => {assert!(false, "{}", E); String::new()} [INFO] [stderr] | +++++ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/attack/substitution.rs:1213:17 [INFO] [stderr] | [INFO] [stderr] 1213 | format!("Extracted key {} was not among original ones.", &extracted_cipherletter)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 1213 - format!("Extracted key {} was not among original ones.", &extracted_cipherletter)); [INFO] [stderr] 1213 + "Extracted key {} was not among original ones.", &extracted_cipherletter); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/attack/substitution.rs:1223:17 [INFO] [stderr] | [INFO] [stderr] 1223 | format!("Extracted cipherletter {} was not removed from mapping", &extracted_cipherletter)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 1223 - format!("Extracted cipherletter {} was not removed from mapping", &extracted_cipherletter)); [INFO] [stderr] 1223 + "Extracted cipherletter {} was not removed from mapping", &extracted_cipherletter); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/attack/substitution.rs:1232:41 [INFO] [stderr] | [INFO] [stderr] 1232 | error => assert!(false, format!("Raised error was not the one \ [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 1233 | | we were expecting but {} instead", error)) [INFO] [stderr] | |___________________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 1232 ~ error => assert!(false, "Raised error was not the one \ [INFO] [stderr] 1233 ~ we were expecting but {} instead", error) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/cipher/substitution.rs:171:32 [INFO] [stderr] | [INFO] [stderr] 171 | assert!(false, format!("Error happened: {}", E)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 171 - assert!(false, format!("Error happened: {}", E)) [INFO] [stderr] 171 + assert!(false, "Error happened: {}", E) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/cipher/substitution.rs:183:32 [INFO] [stderr] | [INFO] [stderr] 183 | assert!(false, format!("Error happened: {}", E)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 183 - assert!(false, format!("Error happened: {}", E)) [INFO] [stderr] 183 + assert!(false, "Error happened: {}", E) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/cipher/substitution.rs:195:41 [INFO] [stderr] | [INFO] [stderr] 195 | error => assert!(false, format!("Raised error was not the one \ [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 196 | | we were expecting but {} instead", error)) [INFO] [stderr] | |___________________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 195 ~ error => assert!(false, "Raised error was not the one \ [INFO] [stderr] 196 ~ we were expecting but {} instead", error) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/cipher/substitution.rs:208:41 [INFO] [stderr] | [INFO] [stderr] 208 | error => assert!(false, format!("Raised error was not the one \ [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 209 | | we were expecting but {} instead", error)) [INFO] [stderr] | |___________________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of assert!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the assert!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 208 ~ error => assert!(false, "Raised error was not the one \ [INFO] [stderr] 209 ~ we were expecting but {} instead", error) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/attack/database.rs:202:9 [INFO] [stderr] | [INFO] [stderr] 202 | create_database(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/attack/database.rs:213:9 [INFO] [stderr] | [INFO] [stderr] 213 | create_folder_path(database_folder); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/attack/dictionaries.rs:666:13 [INFO] [stderr] | [INFO] [stderr] 666 | database::create_database(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/attack/dictionaries.rs:670:13 [INFO] [stderr] | [INFO] [stderr] 670 | create_dir(&resources_path); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/attack/dictionaries.rs:685:17 [INFO] [stderr] | [INFO] [stderr] 685 | dictionary.populate(language_book); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::iter::Iterator::collect` that must be used [INFO] [stderr] --> src/attack/dictionaries.rs:688:13 [INFO] [stderr] | [INFO] [stderr] 688 | LANGUAGES.iter().map(|x| _languages.push(x.to_string())).collect::>(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/attack/dictionaries.rs:731:9 [INFO] [stderr] | [INFO] [stderr] 731 | database::create_database(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::iter::Iterator::collect` that must be used [INFO] [stderr] --> src/attack/dictionaries.rs:737:13 [INFO] [stderr] | [INFO] [stderr] 737 | _words.iter().map(|_word| language_dictionary.add_word(_word)).collect::>(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/attack/dictionaries.rs:772:13 [INFO] [stderr] | [INFO] [stderr] 772 | text_file.write_all(text.as_ref().as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/attack/dictionaries.rs:819:9 [INFO] [stderr] | [INFO] [stderr] 819 | database::create_database(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/attack/dictionaries.rs:822:13 [INFO] [stderr] | [INFO] [stderr] 822 | Dictionary::new("english", true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/attack/dictionaries.rs:836:9 [INFO] [stderr] | [INFO] [stderr] 836 | database::create_database(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/attack/dictionaries.rs:867:9 [INFO] [stderr] | [INFO] [stderr] 867 | Dictionary::remove_dictionary(language_to_remove); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::iter::Iterator::collect` that must be used [INFO] [stderr] --> src/attack/dictionaries.rs:889:13 [INFO] [stderr] | [INFO] [stderr] 889 | ... temporary_text.normalized_text.to_lowercase().split_ascii_whitespace().map(|_word| expected_set.insert(_word.to_string())).collect::>(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/attack/dictionaries.rs:903:9 [INFO] [stderr] | [INFO] [stderr] 903 | database::create_database(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::iter::Iterator::collect` that must be used [INFO] [stderr] --> src/attack/dictionaries.rs:911:9 [INFO] [stderr] | [INFO] [stderr] 911 | expected_lowercase_content.split_ascii_whitespace().map(|x| expected_set.insert(x)).collect::>(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/attack/dictionaries.rs:915:13 [INFO] [stderr] | [INFO] [stderr] 915 | dictionary.populate(temporary_text_file.temp_filename.as_path()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::iter::Iterator::collect` that must be used [INFO] [stderr] --> src/attack/dictionaries.rs:929:13 [INFO] [stderr] | [INFO] [stderr] 929 | test_tuple.2.to_lowercase().split_ascii_whitespace().map(|_word| expected_set.insert(_word.to_string())).collect::>(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/attack/dictionaries.rs:945:9 [INFO] [stderr] | [INFO] [stderr] 945 | database::create_database(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::iter::Iterator::collect` that must be used [INFO] [stderr] --> src/attack/dictionaries.rs:949:9 [INFO] [stderr] | [INFO] [stderr] 949 | micro_dictionaries[_language].iter().map(|_word| words_to_add.insert(_word.clone())).collect::>(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/attack/dictionaries.rs:991:9 [INFO] [stderr] | [INFO] [stderr] 991 | database::create_database(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variable `E` should have a snake case name [INFO] [stderr] --> src/attack/substitution.rs:877:21 [INFO] [stderr] | [INFO] [stderr] 877 | Err(E) => {assert!(false, E); String::new()} [INFO] [stderr] | ^ help: convert the identifier to snake case: `e` [INFO] [stderr] [INFO] [stderr] warning: variable `E` should have a snake case name [INFO] [stderr] --> src/attack/substitution.rs:899:21 [INFO] [stderr] | [INFO] [stderr] 899 | Err(E) => {assert!(false, E); String::new()} [INFO] [stderr] | ^ help: convert the identifier to snake case: `e` [INFO] [stderr] [INFO] [stderr] warning: variable `E` should have a snake case name [INFO] [stderr] --> src/attack/substitution.rs:913:17 [INFO] [stderr] | [INFO] [stderr] 913 | Err(E) => {assert!(false, E); PathBuf::new()} [INFO] [stderr] | ^ help: convert the identifier to snake case: `e` [INFO] [stderr] [INFO] [stderr] warning: variable `E` should have a snake case name [INFO] [stderr] --> src/attack/substitution.rs:918:17 [INFO] [stderr] | [INFO] [stderr] 918 | Err(E) => {assert!(false, E); File::create("/tmp").unwrap()} [INFO] [stderr] | ^ help: convert the identifier to snake case: `e` [INFO] [stderr] [INFO] [stderr] warning: variable `E` should have a snake case name [INFO] [stderr] --> src/attack/substitution.rs:923:17 [INFO] [stderr] | [INFO] [stderr] 923 | Err(E) => {assert!(false, E); ()} [INFO] [stderr] | ^ help: convert the identifier to snake case: `e` [INFO] [stderr] [INFO] [stderr] warning: variable `E` should have a snake case name [INFO] [stderr] --> src/attack/substitution.rs:939:17 [INFO] [stderr] | [INFO] [stderr] 939 | Err(E) => {assert!(false, E); String::new()} [INFO] [stderr] | ^ help: convert the identifier to snake case: `e` [INFO] [stderr] [INFO] [stderr] warning: variable `THIS_TEST_CHARSET` should have a snake case name [INFO] [stderr] --> src/attack/substitution.rs:1065:13 [INFO] [stderr] | [INFO] [stderr] 1065 | let THIS_TEST_CHARSET = "12345"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `this_test_charset` [INFO] [stderr] [INFO] [stderr] warning: variable `E` should have a snake case name [INFO] [stderr] --> src/attack/substitution.rs:1229:20 [INFO] [stderr] | [INFO] [stderr] 1229 | if let Err(E) = mapping.pop_item() { [INFO] [stderr] | ^ help: convert the identifier to snake case: `e` [INFO] [stderr] [INFO] [stderr] warning: variable `E` should have a snake case name [INFO] [stderr] --> src/cipher/substitution.rs:170:17 [INFO] [stderr] | [INFO] [stderr] 170 | Err(E) => { [INFO] [stderr] | ^ help: convert the identifier to snake case: `e` [INFO] [stderr] [INFO] [stderr] warning: variable `E` should have a snake case name [INFO] [stderr] --> src/cipher/substitution.rs:182:17 [INFO] [stderr] | [INFO] [stderr] 182 | Err(E) => { [INFO] [stderr] | ^ help: convert the identifier to snake case: `e` [INFO] [stderr] [INFO] [stderr] warning: variable `E` should have a snake case name [INFO] [stderr] --> src/cipher/substitution.rs:192:20 [INFO] [stderr] | [INFO] [stderr] 192 | if let Err(E) = cipher("", wrong_key, test_charset) { [INFO] [stderr] | ^ help: convert the identifier to snake case: `e` [INFO] [stderr] [INFO] [stderr] warning: variable `E` should have a snake case name [INFO] [stderr] --> src/cipher/substitution.rs:205:20 [INFO] [stderr] | [INFO] [stderr] 205 | if let Err(E) = cipher("", wrong_key, test_charset) { [INFO] [stderr] | ^ help: convert the identifier to snake case: `e` [INFO] [stderr] [INFO] [stderr] warning: `cifra` (lib) generated 53 warnings [INFO] [stderr] warning: `cifra` (lib test) generated 136 warnings (35 duplicates) [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/bin/main.rs:633:9 [INFO] [stderr] | [INFO] [stderr] 633 | return bail!("You tried to use attack_file function with a configuration that is not for attack mode.") [INFO] [stderr] | ^^^^^^^------------------------------------------------------------------------------------------------ [INFO] [stderr] | | | [INFO] [stderr] | | any code following this expression is unreachable [INFO] [stderr] | unreachable expression [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/bin/main.rs:645:14 [INFO] [stderr] | [INFO] [stderr] 645 | _ => return bail!("Given algorithm does not use integer key and charset.") [INFO] [stderr] | ^^^^^^^-------------------------------------------------------------- [INFO] [stderr] | | | [INFO] [stderr] | | any code following this expression is unreachable [INFO] [stderr] | unreachable expression [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/bin/main.rs:657:14 [INFO] [stderr] | [INFO] [stderr] 657 | _ => return bail!("Given algorithm does not use string key and charset.") [INFO] [stderr] | ^^^^^^^------------------------------------------------------------- [INFO] [stderr] | | | [INFO] [stderr] | | any code following this expression is unreachable [INFO] [stderr] | unreachable expression [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/bin/main.rs:668:14 [INFO] [stderr] | [INFO] [stderr] 668 | _ => return bail!("Given algorithm does not use integer key or includes a charset.") [INFO] [stderr] | ^^^^^^^------------------------------------------------------------------------ [INFO] [stderr] | | | [INFO] [stderr] | | any code following this expression is unreachable [INFO] [stderr] | unreachable expression [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/bin/main.rs:680:14 [INFO] [stderr] | [INFO] [stderr] 680 | _ => return bail!("Given algorithm does not use integer key and charset.") [INFO] [stderr] | ^^^^^^^-------------------------------------------------------------- [INFO] [stderr] | | | [INFO] [stderr] | | any code following this expression is unreachable [INFO] [stderr] | unreachable expression [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/bin/main.rs:692:14 [INFO] [stderr] | [INFO] [stderr] 692 | _ => return bail!("Given algorithm does not use string key and charset.") [INFO] [stderr] | ^^^^^^^------------------------------------------------------------- [INFO] [stderr] | | | [INFO] [stderr] | | any code following this expression is unreachable [INFO] [stderr] | unreachable expression [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/bin/main.rs:703:14 [INFO] [stderr] | [INFO] [stderr] 703 | _ => return bail!("Given algorithm does not use integer key or includes a charset.") [INFO] [stderr] | ^^^^^^^------------------------------------------------------------------------ [INFO] [stderr] | | | [INFO] [stderr] | | any code following this expression is unreachable [INFO] [stderr] | unreachable expression [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/bin/main.rs:715:14 [INFO] [stderr] | [INFO] [stderr] 715 | _ => return bail!("Given algorithm does not use charset.") [INFO] [stderr] | ^^^^^^^---------------------------------------------- [INFO] [stderr] | | | [INFO] [stderr] | | any code following this expression is unreachable [INFO] [stderr] | unreachable expression [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/bin/main.rs:726:14 [INFO] [stderr] | [INFO] [stderr] 726 | _ => return bail!("Given algorithm do use string key and charset") [INFO] [stderr] | ^^^^^^^------------------------------------------------------ [INFO] [stderr] | | | [INFO] [stderr] | | any code following this expression is unreachable [INFO] [stderr] | unreachable expression [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/bin/main.rs:737:14 [INFO] [stderr] | [INFO] [stderr] 737 | _ => return bail!("Given algorithm do use charset.") [INFO] [stderr] | ^^^^^^^---------------------------------------- [INFO] [stderr] | | | [INFO] [stderr] | | any code following this expression is unreachable [INFO] [stderr] | unreachable expression [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/bin/main.rs:748:14 [INFO] [stderr] | [INFO] [stderr] 748 | _ => return bail!("Given algorithm don't have testing mode.") [INFO] [stderr] | ^^^^^^^------------------------------------------------- [INFO] [stderr] | | | [INFO] [stderr] | | any code following this expression is unreachable [INFO] [stderr] | unreachable expression [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ciphered_file` [INFO] [stderr] --> src/bin/main.rs:427:13 [INFO] [stderr] | [INFO] [stderr] 427 | ciphered_file, charset } => { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try ignoring the field: `ciphered_file: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `deciphered_file` [INFO] [stderr] --> src/bin/main.rs:465:32 [INFO] [stderr] | [INFO] [stderr] 465 | file_to_decipher , deciphered_file, charset } => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try ignoring the field: `deciphered_file: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `algorithm` [INFO] [stderr] --> src/bin/main.rs:520:25 [INFO] [stderr] | [INFO] [stderr] 520 | Modes::Cipher { algorithm, key, file_to_cipher, [INFO] [stderr] | ^^^^^^^^^ help: try ignoring the field: `algorithm: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/bin/main.rs:520:36 [INFO] [stderr] | [INFO] [stderr] 520 | Modes::Cipher { algorithm, key, file_to_cipher, [INFO] [stderr] | ^^^ help: try ignoring the field: `key: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `file_to_cipher` [INFO] [stderr] --> src/bin/main.rs:520:41 [INFO] [stderr] | [INFO] [stderr] 520 | Modes::Cipher { algorithm, key, file_to_cipher, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try ignoring the field: `file_to_cipher: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `charset` [INFO] [stderr] --> src/bin/main.rs:521:28 [INFO] [stderr] | [INFO] [stderr] 521 | ciphered_file, charset } => { [INFO] [stderr] | ^^^^^^^ help: try ignoring the field: `charset: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `algorithm` [INFO] [stderr] --> src/bin/main.rs:524:27 [INFO] [stderr] | [INFO] [stderr] 524 | Modes::Decipher { algorithm, key, file_to_decipher, [INFO] [stderr] | ^^^^^^^^^ help: try ignoring the field: `algorithm: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/bin/main.rs:524:38 [INFO] [stderr] | [INFO] [stderr] 524 | Modes::Decipher { algorithm, key, file_to_decipher, [INFO] [stderr] | ^^^ help: try ignoring the field: `key: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `file_to_decipher` [INFO] [stderr] --> src/bin/main.rs:524:43 [INFO] [stderr] | [INFO] [stderr] 524 | Modes::Decipher { algorithm, key, file_to_decipher, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try ignoring the field: `file_to_decipher: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `charset` [INFO] [stderr] --> src/bin/main.rs:525:30 [INFO] [stderr] | [INFO] [stderr] 525 | deciphered_file, charset }=> { [INFO] [stderr] | ^^^^^^^ help: try ignoring the field: `charset: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `algorithm` [INFO] [stderr] --> src/bin/main.rs:528:25 [INFO] [stderr] | [INFO] [stderr] 528 | Modes::Attack { algorithm, file_to_attack, [INFO] [stderr] | ^^^^^^^^^ help: try ignoring the field: `algorithm: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `file_to_attack` [INFO] [stderr] --> src/bin/main.rs:528:36 [INFO] [stderr] | [INFO] [stderr] 528 | Modes::Attack { algorithm, file_to_attack, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try ignoring the field: `file_to_attack: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `charset` [INFO] [stderr] --> src/bin/main.rs:529:30 [INFO] [stderr] | [INFO] [stderr] 529 | deciphered_file, charset, output_recovered_key [INFO] [stderr] | ^^^^^^^ help: try ignoring the field: `charset: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output_recovered_key` [INFO] [stderr] --> src/bin/main.rs:562:26 [INFO] [stderr] | [INFO] [stderr] 562 | deciphered_file, output_recovered_key, charset [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `output_recovered_key: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `full_loaded_temp_dictionaries` [INFO] [stderr] --> src/bin/main.rs:1099:54 [INFO] [stderr] | [INFO] [stderr] 1099 | fn test_cipher_caesar(temp_dir: TestEnvironment, full_loaded_temp_dictionaries: LoadedDictionaries) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_loaded_temp_dictionaries` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `full_loaded_temp_dictionaries` [INFO] [stderr] --> src/bin/main.rs:1117:56 [INFO] [stderr] | [INFO] [stderr] 1117 | fn test_decipher_caesar(temp_dir: TestEnvironment, full_loaded_temp_dictionaries: LoadedDictionaries) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_loaded_temp_dictionaries` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `full_loaded_temp_dictionaries` [INFO] [stderr] --> src/bin/main.rs:1135:60 [INFO] [stderr] | [INFO] [stderr] 1135 | fn test_cipher_substitution(temp_dir: TestEnvironment, full_loaded_temp_dictionaries: LoadedDictionaries){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_loaded_temp_dictionaries` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `full_loaded_temp_dictionaries` [INFO] [stderr] --> src/bin/main.rs:1154:62 [INFO] [stderr] | [INFO] [stderr] 1154 | fn test_decipher_substitution(temp_dir: TestEnvironment, full_loaded_temp_dictionaries: LoadedDictionaries){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_loaded_temp_dictionaries` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `full_loaded_temp_dictionaries` [INFO] [stderr] --> src/bin/main.rs:1173:54 [INFO] [stderr] | [INFO] [stderr] 1173 | fn test_attack_caesar(temp_dir: TestEnvironment, full_loaded_temp_dictionaries: LoadedDictionaries){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_loaded_temp_dictionaries` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `full_loaded_temp_dictionaries` [INFO] [stderr] --> src/bin/main.rs:1190:73 [INFO] [stderr] | [INFO] [stderr] 1190 | fn test_attack_caesar_with_recovered_key(temp_dir: TestEnvironment, full_loaded_temp_dictionaries: LoadedDictionaries){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_loaded_temp_dictionaries` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `full_loaded_temp_dictionaries` [INFO] [stderr] --> src/bin/main.rs:1209:60 [INFO] [stderr] | [INFO] [stderr] 1209 | fn test_attack_substitution(temp_dir: TestEnvironment, full_loaded_temp_dictionaries: LoadedDictionaries){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_loaded_temp_dictionaries` [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get_string_key_algorithms` [INFO] [stderr] --> src/bin/main.rs:56:12 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn get_string_key_algorithms()-> HashSet { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get_integer_key_algorithms` [INFO] [stderr] --> src/bin/main.rs:64:12 [INFO] [stderr] | [INFO] [stderr] 64 | pub fn get_integer_key_algorithms()-> HashSet { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get_string_value` [INFO] [stderr] --> src/bin/main.rs:75:12 [INFO] [stderr] | [INFO] [stderr] 75 | pub fn get_string_value(&self)-> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `temp_env` [INFO] [stderr] --> src/bin/main.rs:860:9 [INFO] [stderr] | [INFO] [stderr] 860 | temp_env: TestEnvironment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `temp_env_var` [INFO] [stderr] --> src/bin/main.rs:861:9 [INFO] [stderr] | [INFO] [stderr] 861 | temp_env_var: TemporalEnvironmentVariable [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `Str` should have a snake case name [INFO] [stderr] --> src/bin/main.rs:69:19 [INFO] [stderr] | [INFO] [stderr] 69 | .map(|Str| Str.clone()) [INFO] [stderr] | ^^^ help: convert the identifier to snake case (notice the capitalization): `str` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/bin/main.rs:545:9 [INFO] [stderr] | [INFO] [stderr] 545 | write(output_file_path, output_string.as_str()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/bin/main.rs:766:17 [INFO] [stderr] | [INFO] [stderr] 766 | new_dictionary.populate(pathname); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/bin/main.rs:780:13 [INFO] [stderr] | [INFO] [stderr] 780 | dictionary.populate(pathname); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variable `Str` should have a snake case name [INFO] [stderr] --> src/bin/main.rs:812:48 [INFO] [stderr] | [INFO] [stderr] 812 | let args_str: Vec<&str> = args.iter().map(|Str| Str.as_str()).collect(); [INFO] [stderr] | ^^^ help: convert the identifier to snake case (notice the capitalization): `str` [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/bin/main.rs:867:13 [INFO] [stderr] | [INFO] [stderr] 867 | database::create_database(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/bin/main.rs:871:13 [INFO] [stderr] | [INFO] [stderr] 871 | create_dir(&resources_path); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/bin/main.rs:886:17 [INFO] [stderr] | [INFO] [stderr] 886 | dictionary.populate(language_book); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused return value of `collect` that must be used [INFO] [stderr] --> src/bin/main.rs:889:13 [INFO] [stderr] | [INFO] [stderr] 889 | LANGUAGES.iter().map(|x| _languages.push(x.to_string())).collect::>(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/bin/main.rs:1101:9 [INFO] [stderr] | [INFO] [stderr] 1101 | write(message_file.path(), CAESAR_ORIGINAL_MESSAGE); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/bin/main.rs:1119:9 [INFO] [stderr] | [INFO] [stderr] 1119 | write(message_file.path(), CAESAR_CIPHERED_MESSAGE_KEY_13); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/bin/main.rs:1137:9 [INFO] [stderr] | [INFO] [stderr] 1137 | write(message_file.path(), SUBSTITUTION_ORIGINAL_MESSAGE); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/bin/main.rs:1156:9 [INFO] [stderr] | [INFO] [stderr] 1156 | write(message_file.path(), SUBSTITUTION_CIPHERED_MESSAGE); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/bin/main.rs:1175:9 [INFO] [stderr] | [INFO] [stderr] 1175 | write(message_file.path(), CAESAR_CIPHERED_MESSAGE_KEY_13); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/bin/main.rs:1192:9 [INFO] [stderr] | [INFO] [stderr] 1192 | write(message_file.path(), CAESAR_CIPHERED_MESSAGE_KEY_13); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/bin/main.rs:1219:9 [INFO] [stderr] | [INFO] [stderr] 1219 | write(message_file.path(), ciphered_text); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: `cifra` (bin "cifra" test) generated 53 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.48s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/cifra-b18cad93060997e6) [INFO] [stdout] [INFO] [stdout] running 78 tests [INFO] [stdout] test attack::database::tests::test_database_standard_path ... ok [INFO] [stdout] test attack::database::tests::test_create_database_path ... ok [INFO] [stdout] test attack::dictionaries::tests::test_get_word_pattern ... ok [INFO] [stdout] test attack::dictionaries::tests::test_insertion_ordered_set ... ok [INFO] [stdout] test attack::simple_attacks::tests::test_integer_key_generator ... ok [INFO] [stdout] test attack::substitution::tests::test_generate_key_string ... ok [INFO] [stdout] test attack::substitution::tests::test_clean_redundancies ... ok [INFO] [stdout] test attack::substitution::tests::test_get_first_element ... ok [INFO] [stdout] test attack::substitution::tests::test_get_n_elements ... ok [INFO] [stdout] test attack::substitution::tests::test_mapping_get ... ok [INFO] [stdout] test attack::substitution::tests::test_mapping_add ... ok [INFO] [stdout] test attack::substitution::tests::test_mapping_set ... ok [INFO] [stdout] test attack::substitution::tests::test_reduce_mapping ... ok [INFO] [stdout] test attack::substitution::tests::test_get_possible_mappings_with_empties ... ok [INFO] [stdout] test attack::substitution::tests::test_popitem ... ok [INFO] [stdout] test cipher::affine::tests::test_cipher ... ok [INFO] [stdout] test cipher::affine::tests::test_decipher ... ok [INFO] [stdout] test cipher::caesar::tests::test_decipher ... ok [INFO] [stdout] test cipher::caesar::tests::test_cipher ... ok [INFO] [stdout] test cipher::common::tests::test_counter_char ... ok [INFO] [stdout] test cipher::common::tests::test_counter_char_from_hashmap ... ok [INFO] [stdout] test cipher::affine::tests::test_get_random_key ... ok [INFO] [stdout] test cipher::common::tests::test_counter_most_common ... ok [INFO] [stdout] test cipher::cryptomath::tests::test_find_mod_inverse ... ok [INFO] [stdout] test cipher::cryptomath::tests::test_gcd ... ok [INFO] [stdout] test cipher::substitution::tests::test_repeated_character_keys_are_detected ... ok [INFO] [stdout] test cipher::transposition::tests::test_calculated_position ... ok [INFO] [stdout] test cipher::substitution::tests::test_wrong_length_key_are_detected ... ok [INFO] [stdout] test cipher::transposition::tests::test_cipher ... ok [INFO] [stdout] test cipher::transposition::tests::test_create_matrix ... ok [INFO] [stdout] test cipher::transposition::tests::test_create_transposition_matrix_ciphering ... ok [INFO] [stdout] test cipher::transposition::tests::test_create_transposition_matrix_deciphering ... ok [INFO] [stdout] test cipher::substitution::tests::test_decipher ... ok [INFO] [stdout] test cipher::transposition::tests::test_decipher ... ok [INFO] [stdout] test cipher::transposition::tests::test_get_matrix_dimensions ... ok [INFO] [stdout] test cipher::substitution::tests::test_cipher ... ok [INFO] [stdout] test cipher::transposition::tests::test_get_transposed_text ... ok [INFO] [stdout] test attack::frequency::tests::test_set_matching_width ... ok [INFO] [stdout] test cipher::transposition::tests::test_populate_transposition_matrix ... ok [INFO] [stdout] test cipher::transposition::tests::test_set_remainder_cells ... ok [INFO] [stdout] test cipher::vigenere::tests::test_cipher ... ok [INFO] [stdout] test cipher::vigenere::tests::test_decipher ... ok [INFO] [stdout] test encoding::reverse::tests::test_reverse_decode ... ok [INFO] [stdout] test tests::test_find_from_index ... ok [INFO] [stdout] test encoding::reverse::tests::test_reverse_encode ... ok [INFO] [stdout] test attack::substitution::tests::test_get_possible_mappings ... ok [INFO] [stdout] test attack::frequency::tests::test_find_repeated_sequences_many_repetitions ... ok [INFO] [stdout] test attack::frequency::tests::test_get_letter_ocurrences ... ok [INFO] [stdout] test attack::frequency::tests::test_find_repeated_sequences ... ok [INFO] [stdout] test attack::frequency::tests::test_get_letter_frequencies ... ok [INFO] [stdout] test attack::frequency::tests::test_get_substrings ... ok [INFO] [stdout] test attack::dictionaries::tests::test_open_not_existing_dictionary ... ok [INFO] [stdout] test cipher::common::tests::test_normalize_text ... ok [INFO] [stdout] test attack::affine::tests::test_brute_force_affine ... FAILED [INFO] [stdout] test attack::dictionaries::tests::test_get_words_from_text ... ok [INFO] [stdout] test attack::dictionaries::tests::test_get_words_from_text_file ... ok [INFO] [stdout] test attack::caesar::tests::test_brute_force_caesar_mp ... FAILED [INFO] [stdout] test attack::database::tests::test_create_database ... ok [INFO] [stdout] test attack::dictionaries::tests::test_populate_words_from_text_files ... FAILED [INFO] [stdout] test attack::dictionaries::tests::test_open_existing_dictionary ... FAILED [INFO] [stdout] test attack::dictionaries::tests::test_get_dictionaries_names ... FAILED [INFO] [stdout] test attack::frequency::tests::test_match_score ... ok [INFO] [stdout] test attack::frequency::tests::test_match_substring ... ok [INFO] [stdout] test attack::dictionaries::tests::test_delete_language ... FAILED [INFO] [stdout] test attack::simple_attacks::tests::test_dictionary_word_key_generator ... FAILED [INFO] [stdout] test attack::dictionaries::tests::test_store_word_pattern ... FAILED [INFO] [stdout] test attack::dictionaries::tests::test_add_multiple_words ... FAILED [INFO] [stdout] test attack::substitution::tests::test_hack_substitution ... FAILED [INFO] [stdout] test attack::affine::tests::test_brute_force_affine_mp ... FAILED [INFO] [stdout] test attack::transposition::tests::test_brute_force_transposition_mp ... FAILED [INFO] [stdout] test attack::substitution::tests::test_hack_substitution_mp ... FAILED [INFO] [stdout] test attack::transposition::tests::test_brute_force_transposition ... FAILED [INFO] [stdout] test attack::frequency::tests::test_most_likely_subkey ... ok [INFO] [stdout] test attack::dictionaries::tests::test_create_language ... ok [INFO] [stdout] test attack::dictionaries::tests::test_get_all_words ... FAILED [INFO] [stdout] test attack::dictionaries::tests::test_cwd_word ... FAILED [INFO] [stdout] test attack::dictionaries::tests::test_identify_language ... FAILED [INFO] [stdout] test attack::caesar::tests::test_brute_force_caesar ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- attack::affine::tests::test_brute_force_affine stdout ---- [INFO] [stdout] thread 'attack::affine::tests::test_brute_force_affine' panicked at 'Error saving new language.: DatabaseError(__Unknown, "database is locked")', src/attack/dictionaries.rs:205:14 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x562e753bd12c - std::backtrace_rs::backtrace::libunwind::trace::h7630ba4cba718aa0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 [INFO] [stdout] 1: 0x562e753bd12c - std::backtrace_rs::backtrace::trace_unsynchronized::he7498e79c157f5ac [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x562e753bd12c - std::sys_common::backtrace::_print_fmt::hdaebadaee17bca49 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x562e753bd12c - ::fmt::h82b0e3aaf8a96140 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x562e753e2b7c - core::fmt::write::h72801a82c94e6ff1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/fmt/mod.rs:1149:17 [INFO] [stdout] 5: 0x562e753b8b85 - std::io::Write::write_fmt::h21d7683cabdb4c35 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/io/mod.rs:1697:15 [INFO] [stdout] 6: 0x562e753beff0 - std::sys_common::backtrace::_print::h1c9a1d19c48821c1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x562e753beff0 - std::sys_common::backtrace::print::h7ce8802039fa9d0e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x562e753beff0 - std::panicking::default_hook::{{closure}}::hb2a74a8c1499c326 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:211:50 [INFO] [stdout] 9: 0x562e753bebd6 - std::panicking::default_hook::hf4f180b00076f2b2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:225:9 [INFO] [stdout] 10: 0x562e753bf6a4 - std::panicking::rust_panic_with_hook::he85ce8435493b711 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:606:17 [INFO] [stdout] 11: 0x562e753bf180 - std::panicking::begin_panic_handler::{{closure}}::h31e15f69e6235bd2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:502:13 [INFO] [stdout] 12: 0x562e753bd5e4 - std::sys_common::backtrace::__rust_end_short_backtrace::hfce2fadb61aaa3ae [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:139:18 [INFO] [stdout] 13: 0x562e753bf0e9 - rust_begin_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:498:5 [INFO] [stdout] 14: 0x562e74e5fe61 - core::panicking::panic_fmt::h7b8580d81fcbbacd [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panicking.rs:107:14 [INFO] [stdout] 15: 0x562e74e5ff53 - core::result::unwrap_failed::h885d3f7beb571353 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1613:5 [INFO] [stdout] 16: 0x562e74f9cc64 - core::result::Result::expect::h46d675514afea358 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1255:23 [INFO] [stdout] 17: 0x562e74ee468b - cifra::attack::dictionaries::Dictionary::create_dictionary::he2f628bb54aa11b8 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:202:9 [INFO] [stdout] 18: 0x562e74ee33e2 - cifra::attack::dictionaries::Dictionary::new::hb51e440d574f4bdc [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:90:17 [INFO] [stdout] 19: 0x562e74ec497e - cifra::attack::dictionaries::tests::LoadedDictionaries::new::hae9d6bc8d8be72ed [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:681:38 [INFO] [stdout] 20: 0x562e74ee8cb1 - cifra::attack::affine::tests::test_brute_force_affine::h97713a631ea42d86 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/affine.rs:144:35 [INFO] [stdout] 21: 0x562e74ee8c8a - cifra::attack::affine::tests::test_brute_force_affine::{{closure}}::h952ee63530f0f7c4 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/affine.rs:143:5 [INFO] [stdout] 22: 0x562e74f1255e - core::ops::function::FnOnce::call_once::hed3e9222a77f13c3 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 23: 0x562e74feb223 - core::ops::function::FnOnce::call_once::h449577f1c5b077cb [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 24: 0x562e74feb223 - test::__rust_begin_short_backtrace::h8c2a0a5090591869 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:585:5 [INFO] [stdout] 25: 0x562e74fe9db7 - as core::ops::function::FnOnce>::call_once::hea00a22128a38543 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 26: 0x562e74fe9db7 - as core::ops::function::FnOnce<()>>::call_once::he10b35c3c50d78a0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 27: 0x562e74fe9db7 - std::panicking::try::do_call::hc868e78bbc5af2ab [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 28: 0x562e74fe9db7 - std::panicking::try::he468aede74df1b04 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 29: 0x562e74fe9db7 - std::panic::catch_unwind::hce3c9152e1cf772d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 30: 0x562e74fe9db7 - test::run_test_in_process::h9c4ab8162080cf8c [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:608:18 [INFO] [stdout] 31: 0x562e74fe9db7 - test::run_test::run_test_inner::{{closure}}::he9483433cef16afe [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:500:39 [INFO] [stdout] 32: 0x562e74fb70fe - test::run_test::run_test_inner::{{closure}}::h479f1f872a5501ea [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:527:37 [INFO] [stdout] 33: 0x562e74fb70fe - std::sys_common::backtrace::__rust_begin_short_backtrace::h0f1e9b1f279687bc [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:123:18 [INFO] [stdout] 34: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::he5560613c5f5cb83 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:484:17 [INFO] [stdout] 35: 0x562e74fbbf28 - as core::ops::function::FnOnce<()>>::call_once::h8190a68cb05ab92f [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 36: 0x562e74fbbf28 - std::panicking::try::do_call::h6ae22f5ac22596e4 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 37: 0x562e74fbbf28 - std::panicking::try::h2381c25487d6a7c2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 38: 0x562e74fbbf28 - std::panic::catch_unwind::hfe902f4d5c9d7b6d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 39: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::h547fad40771a584e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:483:30 [INFO] [stdout] 40: 0x562e74fbbf28 - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8602a9971738410 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 41: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::he162a5c338a10a39 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 42: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::hb27497b21740dd97 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 43: 0x562e753c5763 - std::sys::unix::thread::Thread::new::thread_start::he467e990e49c5136 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys/unix/thread.rs:106:17 [INFO] [stdout] 44: 0x7f13bcc57609 - start_thread [INFO] [stdout] 45: 0x7f13bca27293 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- attack::caesar::tests::test_brute_force_caesar_mp stdout ---- [INFO] [stdout] thread 'attack::caesar::tests::test_brute_force_caesar_mp' panicked at 'Error saving new language.: DatabaseError(__Unknown, "database is locked")', src/attack/dictionaries.rs:205:14 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x562e753bd12c - std::backtrace_rs::backtrace::libunwind::trace::h7630ba4cba718aa0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 [INFO] [stdout] 1: 0x562e753bd12c - std::backtrace_rs::backtrace::trace_unsynchronized::he7498e79c157f5ac [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x562e753bd12c - std::sys_common::backtrace::_print_fmt::hdaebadaee17bca49 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x562e753bd12c - ::fmt::h82b0e3aaf8a96140 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x562e753e2b7c - core::fmt::write::h72801a82c94e6ff1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/fmt/mod.rs:1149:17 [INFO] [stdout] 5: 0x562e753b8b85 - std::io::Write::write_fmt::h21d7683cabdb4c35 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/io/mod.rs:1697:15 [INFO] [stdout] 6: 0x562e753beff0 - std::sys_common::backtrace::_print::h1c9a1d19c48821c1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x562e753beff0 - std::sys_common::backtrace::print::h7ce8802039fa9d0e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x562e753beff0 - std::panicking::default_hook::{{closure}}::hb2a74a8c1499c326 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:211:50 [INFO] [stdout] 9: 0x562e753bebd6 - std::panicking::default_hook::hf4f180b00076f2b2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:225:9 [INFO] [stdout] 10: 0x562e753bf6a4 - std::panicking::rust_panic_with_hook::he85ce8435493b711 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:606:17 [INFO] [stdout] 11: 0x562e753bf180 - std::panicking::begin_panic_handler::{{closure}}::h31e15f69e6235bd2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:502:13 [INFO] [stdout] 12: 0x562e753bd5e4 - std::sys_common::backtrace::__rust_end_short_backtrace::hfce2fadb61aaa3ae [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:139:18 [INFO] [stdout] 13: 0x562e753bf0e9 - rust_begin_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:498:5 [INFO] [stdout] 14: 0x562e74e5fe61 - core::panicking::panic_fmt::h7b8580d81fcbbacd [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panicking.rs:107:14 [INFO] [stdout] 15: 0x562e74e5ff53 - core::result::unwrap_failed::h885d3f7beb571353 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1613:5 [INFO] [stdout] 16: 0x562e74f9cc64 - core::result::Result::expect::h46d675514afea358 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1255:23 [INFO] [stdout] 17: 0x562e74ee468b - cifra::attack::dictionaries::Dictionary::create_dictionary::he2f628bb54aa11b8 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:202:9 [INFO] [stdout] 18: 0x562e74ee33e2 - cifra::attack::dictionaries::Dictionary::new::hb51e440d574f4bdc [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:90:17 [INFO] [stdout] 19: 0x562e74ec497e - cifra::attack::dictionaries::tests::LoadedDictionaries::new::hae9d6bc8d8be72ed [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:681:38 [INFO] [stdout] 20: 0x562e74f23da1 - cifra::attack::caesar::tests::test_brute_force_caesar_mp::h01219f2e1c50bebe [INFO] [stdout] at /opt/rustwide/workdir/src/attack/caesar.rs:157:35 [INFO] [stdout] 21: 0x562e74f23d7a - cifra::attack::caesar::tests::test_brute_force_caesar_mp::{{closure}}::hf7129d895f2529b4 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/caesar.rs:156:5 [INFO] [stdout] 22: 0x562e74f1251e - core::ops::function::FnOnce::call_once::he92519fffe2b1c06 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 23: 0x562e74feb223 - core::ops::function::FnOnce::call_once::h449577f1c5b077cb [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 24: 0x562e74feb223 - test::__rust_begin_short_backtrace::h8c2a0a5090591869 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:585:5 [INFO] [stdout] 25: 0x562e74fe9db7 - as core::ops::function::FnOnce>::call_once::hea00a22128a38543 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 26: 0x562e74fe9db7 - as core::ops::function::FnOnce<()>>::call_once::he10b35c3c50d78a0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 27: 0x562e74fe9db7 - std::panicking::try::do_call::hc868e78bbc5af2ab [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 28: 0x562e74fe9db7 - std::panicking::try::he468aede74df1b04 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 29: 0x562e74fe9db7 - std::panic::catch_unwind::hce3c9152e1cf772d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 30: 0x562e74fe9db7 - test::run_test_in_process::h9c4ab8162080cf8c [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:608:18 [INFO] [stdout] 31: 0x562e74fe9db7 - test::run_test::run_test_inner::{{closure}}::he9483433cef16afe [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:500:39 [INFO] [stdout] 32: 0x562e74fb70fe - test::run_test::run_test_inner::{{closure}}::h479f1f872a5501ea [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:527:37 [INFO] [stdout] 33: 0x562e74fb70fe - std::sys_common::backtrace::__rust_begin_short_backtrace::h0f1e9b1f279687bc [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:123:18 [INFO] [stdout] 34: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::he5560613c5f5cb83 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:484:17 [INFO] [stdout] 35: 0x562e74fbbf28 - as core::ops::function::FnOnce<()>>::call_once::h8190a68cb05ab92f [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 36: 0x562e74fbbf28 - std::panicking::try::do_call::h6ae22f5ac22596e4 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 37: 0x562e74fbbf28 - std::panicking::try::h2381c25487d6a7c2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 38: 0x562e74fbbf28 - std::panic::catch_unwind::hfe902f4d5c9d7b6d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 39: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::h547fad40771a584e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:483:30 [INFO] [stdout] 40: 0x562e74fbbf28 - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8602a9971738410 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 41: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::he162a5c338a10a39 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 42: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::hb27497b21740dd97 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 43: 0x562e753c5763 - std::sys::unix::thread::Thread::new::thread_start::he467e990e49c5136 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys/unix/thread.rs:106:17 [INFO] [stdout] 44: 0x7f13bcc57609 - start_thread [INFO] [stdout] 45: 0x7f13bca27293 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- attack::dictionaries::tests::test_populate_words_from_text_files stdout ---- [INFO] [stdout] thread 'attack::dictionaries::tests::test_populate_words_from_text_files' panicked at 'Error saving new language.: DatabaseError(__Unknown, "database is locked")', src/attack/dictionaries.rs:205:14 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x562e753bd12c - std::backtrace_rs::backtrace::libunwind::trace::h7630ba4cba718aa0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 [INFO] [stdout] 1: 0x562e753bd12c - std::backtrace_rs::backtrace::trace_unsynchronized::he7498e79c157f5ac [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x562e753bd12c - std::sys_common::backtrace::_print_fmt::hdaebadaee17bca49 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x562e753bd12c - ::fmt::h82b0e3aaf8a96140 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x562e753e2b7c - core::fmt::write::h72801a82c94e6ff1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/fmt/mod.rs:1149:17 [INFO] [stdout] 5: 0x562e753b8b85 - std::io::Write::write_fmt::h21d7683cabdb4c35 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/io/mod.rs:1697:15 [INFO] [stdout] 6: 0x562e753beff0 - std::sys_common::backtrace::_print::h1c9a1d19c48821c1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x562e753beff0 - std::sys_common::backtrace::print::h7ce8802039fa9d0e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x562e753beff0 - std::panicking::default_hook::{{closure}}::hb2a74a8c1499c326 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:211:50 [INFO] [stdout] 9: 0x562e753bebd6 - std::panicking::default_hook::hf4f180b00076f2b2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:225:9 [INFO] [stdout] 10: 0x562e753bf6a4 - std::panicking::rust_panic_with_hook::he85ce8435493b711 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:606:17 [INFO] [stdout] 11: 0x562e753bf180 - std::panicking::begin_panic_handler::{{closure}}::h31e15f69e6235bd2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:502:13 [INFO] [stdout] 12: 0x562e753bd5e4 - std::sys_common::backtrace::__rust_end_short_backtrace::hfce2fadb61aaa3ae [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:139:18 [INFO] [stdout] 13: 0x562e753bf0e9 - rust_begin_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:498:5 [INFO] [stdout] 14: 0x562e74e5fe61 - core::panicking::panic_fmt::h7b8580d81fcbbacd [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panicking.rs:107:14 [INFO] [stdout] 15: 0x562e74e5ff53 - core::result::unwrap_failed::h885d3f7beb571353 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1613:5 [INFO] [stdout] 16: 0x562e74f9cc64 - core::result::Result::expect::h46d675514afea358 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1255:23 [INFO] [stdout] 17: 0x562e74ee468b - cifra::attack::dictionaries::Dictionary::create_dictionary::he2f628bb54aa11b8 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:202:9 [INFO] [stdout] 18: 0x562e74ee2d32 - cifra::attack::dictionaries::Dictionary::new::h8a789f992655fc6b [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:90:17 [INFO] [stdout] 19: 0x562e74ec8ce2 - cifra::attack::dictionaries::tests::test_populate_words_from_text_files::he8c7ffe3b85c9d7a [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:913:34 [INFO] [stdout] 20: 0x562e74ec8a1a - cifra::attack::dictionaries::tests::test_populate_words_from_text_files::{{closure}}::hcc084c634444cf5f [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:901:5 [INFO] [stdout] 21: 0x562e74f120ae - core::ops::function::FnOnce::call_once::habbfcbd05e9e8b5c [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 22: 0x562e74feb223 - core::ops::function::FnOnce::call_once::h449577f1c5b077cb [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 23: 0x562e74feb223 - test::__rust_begin_short_backtrace::h8c2a0a5090591869 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:585:5 [INFO] [stdout] 24: 0x562e74fe9db7 - as core::ops::function::FnOnce>::call_once::hea00a22128a38543 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 25: 0x562e74fe9db7 - as core::ops::function::FnOnce<()>>::call_once::he10b35c3c50d78a0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 26: 0x562e74fe9db7 - std::panicking::try::do_call::hc868e78bbc5af2ab [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 27: 0x562e74fe9db7 - std::panicking::try::he468aede74df1b04 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 28: 0x562e74fe9db7 - std::panic::catch_unwind::hce3c9152e1cf772d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 29: 0x562e74fe9db7 - test::run_test_in_process::h9c4ab8162080cf8c [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:608:18 [INFO] [stdout] 30: 0x562e74fe9db7 - test::run_test::run_test_inner::{{closure}}::he9483433cef16afe [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:500:39 [INFO] [stdout] 31: 0x562e74fb70fe - test::run_test::run_test_inner::{{closure}}::h479f1f872a5501ea [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:527:37 [INFO] [stdout] 32: 0x562e74fb70fe - std::sys_common::backtrace::__rust_begin_short_backtrace::h0f1e9b1f279687bc [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:123:18 [INFO] [stdout] 33: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::he5560613c5f5cb83 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:484:17 [INFO] [stdout] 34: 0x562e74fbbf28 - as core::ops::function::FnOnce<()>>::call_once::h8190a68cb05ab92f [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 35: 0x562e74fbbf28 - std::panicking::try::do_call::h6ae22f5ac22596e4 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 36: 0x562e74fbbf28 - std::panicking::try::h2381c25487d6a7c2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 37: 0x562e74fbbf28 - std::panic::catch_unwind::hfe902f4d5c9d7b6d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 38: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::h547fad40771a584e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:483:30 [INFO] [stdout] 39: 0x562e74fbbf28 - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8602a9971738410 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 40: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::he162a5c338a10a39 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 41: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::hb27497b21740dd97 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 42: 0x562e753c5763 - std::sys::unix::thread::Thread::new::thread_start::he467e990e49c5136 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys/unix/thread.rs:106:17 [INFO] [stdout] 43: 0x7f13bcc57609 - start_thread [INFO] [stdout] 44: 0x7f13bca27293 - clone [INFO] [stdout] 45: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- attack::dictionaries::tests::test_open_existing_dictionary stdout ---- [INFO] [stdout] thread 'attack::dictionaries::tests::test_open_existing_dictionary' panicked at 'Error saving new language.: DatabaseError(__Unknown, "database is locked")', src/attack/dictionaries.rs:205:14 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x562e753bd12c - std::backtrace_rs::backtrace::libunwind::trace::h7630ba4cba718aa0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 [INFO] [stdout] 1: 0x562e753bd12c - std::backtrace_rs::backtrace::trace_unsynchronized::he7498e79c157f5ac [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x562e753bd12c - std::sys_common::backtrace::_print_fmt::hdaebadaee17bca49 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x562e753bd12c - ::fmt::h82b0e3aaf8a96140 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x562e753e2b7c - core::fmt::write::h72801a82c94e6ff1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/fmt/mod.rs:1149:17 [INFO] [stdout] 5: 0x562e753b8b85 - std::io::Write::write_fmt::h21d7683cabdb4c35 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/io/mod.rs:1697:15 [INFO] [stdout] 6: 0x562e753beff0 - std::sys_common::backtrace::_print::h1c9a1d19c48821c1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x562e753beff0 - std::sys_common::backtrace::print::h7ce8802039fa9d0e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x562e753beff0 - std::panicking::default_hook::{{closure}}::hb2a74a8c1499c326 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:211:50 [INFO] [stdout] 9: 0x562e753bebd6 - std::panicking::default_hook::hf4f180b00076f2b2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:225:9 [INFO] [stdout] 10: 0x562e753bf6a4 - std::panicking::rust_panic_with_hook::he85ce8435493b711 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:606:17 [INFO] [stdout] 11: 0x562e753bf180 - std::panicking::begin_panic_handler::{{closure}}::h31e15f69e6235bd2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:502:13 [INFO] [stdout] 12: 0x562e753bd5e4 - std::sys_common::backtrace::__rust_end_short_backtrace::hfce2fadb61aaa3ae [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:139:18 [INFO] [stdout] 13: 0x562e753bf0e9 - rust_begin_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:498:5 [INFO] [stdout] 14: 0x562e74e5fe61 - core::panicking::panic_fmt::h7b8580d81fcbbacd [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panicking.rs:107:14 [INFO] [stdout] 15: 0x562e74e5ff53 - core::result::unwrap_failed::h885d3f7beb571353 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1613:5 [INFO] [stdout] 16: 0x562e74f9cc64 - core::result::Result::expect::h46d675514afea358 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1255:23 [INFO] [stdout] 17: 0x562e74ee468b - cifra::attack::dictionaries::Dictionary::create_dictionary::he2f628bb54aa11b8 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:202:9 [INFO] [stdout] 18: 0x562e74ee1fd7 - cifra::attack::dictionaries::Dictionary::new::h145d93c284a27b3a [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:90:17 [INFO] [stdout] 19: 0x562e74ec7794 - cifra::attack::dictionaries::tests::test_open_existing_dictionary::h3618e18e80209e95 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:822:13 [INFO] [stdout] 20: 0x562e74ec769a - cifra::attack::dictionaries::tests::test_open_existing_dictionary::{{closure}}::h1bd62dc231aa3230 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:817:5 [INFO] [stdout] 21: 0x562e74f1194e - core::ops::function::FnOnce::call_once::h5e140e7499575f0c [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 22: 0x562e74feb223 - core::ops::function::FnOnce::call_once::h449577f1c5b077cb [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 23: 0x562e74feb223 - test::__rust_begin_short_backtrace::h8c2a0a5090591869 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:585:5 [INFO] [stdout] 24: 0x562e74fe9db7 - as core::ops::function::FnOnce>::call_once::hea00a22128a38543 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 25: 0x562e74fe9db7 - as core::ops::function::FnOnce<()>>::call_once::he10b35c3c50d78a0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 26: 0x562e74fe9db7 - std::panicking::try::do_call::hc868e78bbc5af2ab [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 27: 0x562e74fe9db7 - std::panicking::try::he468aede74df1b04 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 28: 0x562e74fe9db7 - std::panic::catch_unwind::hce3c9152e1cf772d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 29: 0x562e74fe9db7 - test::run_test_in_process::h9c4ab8162080cf8c [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:608:18 [INFO] [stdout] 30: 0x562e74fe9db7 - test::run_test::run_test_inner::{{closure}}::he9483433cef16afe [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:500:39 [INFO] [stdout] 31: 0x562e74fb70fe - test::run_test::run_test_inner::{{closure}}::h479f1f872a5501ea [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:527:37 [INFO] [stdout] 32: 0x562e74fb70fe - std::sys_common::backtrace::__rust_begin_short_backtrace::h0f1e9b1f279687bc [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:123:18 [INFO] [stdout] 33: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::he5560613c5f5cb83 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:484:17 [INFO] [stdout] 34: 0x562e74fbbf28 - as core::ops::function::FnOnce<()>>::call_once::h8190a68cb05ab92f [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 35: 0x562e74fbbf28 - std::panicking::try::do_call::h6ae22f5ac22596e4 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 36: 0x562e74fbbf28 - std::panicking::try::h2381c25487d6a7c2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 37: 0x562e74fbbf28 - std::panic::catch_unwind::hfe902f4d5c9d7b6d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 38: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::h547fad40771a584e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:483:30 [INFO] [stdout] 39: 0x562e74fbbf28 - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8602a9971738410 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 40: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::he162a5c338a10a39 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 41: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::hb27497b21740dd97 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 42: 0x562e753c5763 - std::sys::unix::thread::Thread::new::thread_start::he467e990e49c5136 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys/unix/thread.rs:106:17 [INFO] [stdout] 43: 0x7f13bcc57609 - start_thread [INFO] [stdout] 44: 0x7f13bca27293 - clone [INFO] [stdout] 45: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- attack::dictionaries::tests::test_get_dictionaries_names stdout ---- [INFO] [stdout] thread 'attack::dictionaries::tests::test_get_dictionaries_names' panicked at 'Error saving new language.: DatabaseError(__Unknown, "database is locked")', src/attack/dictionaries.rs:205:14 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x562e753bd12c - std::backtrace_rs::backtrace::libunwind::trace::h7630ba4cba718aa0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 [INFO] [stdout] 1: 0x562e753bd12c - std::backtrace_rs::backtrace::trace_unsynchronized::he7498e79c157f5ac [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x562e753bd12c - std::sys_common::backtrace::_print_fmt::hdaebadaee17bca49 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x562e753bd12c - ::fmt::h82b0e3aaf8a96140 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x562e753e2b7c - core::fmt::write::h72801a82c94e6ff1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/fmt/mod.rs:1149:17 [INFO] [stdout] 5: 0x562e753b8b85 - std::io::Write::write_fmt::h21d7683cabdb4c35 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/io/mod.rs:1697:15 [INFO] [stdout] 6: 0x562e753beff0 - std::sys_common::backtrace::_print::h1c9a1d19c48821c1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x562e753beff0 - std::sys_common::backtrace::print::h7ce8802039fa9d0e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x562e753beff0 - std::panicking::default_hook::{{closure}}::hb2a74a8c1499c326 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:211:50 [INFO] [stdout] 9: 0x562e753bebd6 - std::panicking::default_hook::hf4f180b00076f2b2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:225:9 [INFO] [stdout] 10: 0x562e753bf6a4 - std::panicking::rust_panic_with_hook::he85ce8435493b711 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:606:17 [INFO] [stdout] 11: 0x562e753bf180 - std::panicking::begin_panic_handler::{{closure}}::h31e15f69e6235bd2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:502:13 [INFO] [stdout] 12: 0x562e753bd5e4 - std::sys_common::backtrace::__rust_end_short_backtrace::hfce2fadb61aaa3ae [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:139:18 [INFO] [stdout] 13: 0x562e753bf0e9 - rust_begin_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:498:5 [INFO] [stdout] 14: 0x562e74e5fe61 - core::panicking::panic_fmt::h7b8580d81fcbbacd [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panicking.rs:107:14 [INFO] [stdout] 15: 0x562e74e5ff53 - core::result::unwrap_failed::h885d3f7beb571353 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1613:5 [INFO] [stdout] 16: 0x562e74f9cc64 - core::result::Result::expect::h46d675514afea358 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1255:23 [INFO] [stdout] 17: 0x562e74ee468b - cifra::attack::dictionaries::Dictionary::create_dictionary::he2f628bb54aa11b8 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:202:9 [INFO] [stdout] 18: 0x562e74ee33e2 - cifra::attack::dictionaries::Dictionary::new::hb51e440d574f4bdc [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:90:17 [INFO] [stdout] 19: 0x562e74ec497e - cifra::attack::dictionaries::tests::LoadedDictionaries::new::hae9d6bc8d8be72ed [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:681:38 [INFO] [stdout] 20: 0x562e74ec94e1 - cifra::attack::dictionaries::tests::test_get_dictionaries_names::h0a536216aafe0d2b [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:937:35 [INFO] [stdout] 21: 0x562e74ec94ba - cifra::attack::dictionaries::tests::test_get_dictionaries_names::{{closure}}::ha0e06bf65592e57a [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:936:5 [INFO] [stdout] 22: 0x562e74f11a8e - core::ops::function::FnOnce::call_once::h63271fd0edde86ec [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 23: 0x562e74feb223 - core::ops::function::FnOnce::call_once::h449577f1c5b077cb [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 24: 0x562e74feb223 - test::__rust_begin_short_backtrace::h8c2a0a5090591869 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:585:5 [INFO] [stdout] 25: 0x562e74fe9db7 - as core::ops::function::FnOnce>::call_once::hea00a22128a38543 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 26: 0x562e74fe9db7 - as core::ops::function::FnOnce<()>>::call_once::he10b35c3c50d78a0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 27: 0x562e74fe9db7 - std::panicking::try::do_call::hc868e78bbc5af2ab [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 28: 0x562e74fe9db7 - std::panicking::try::he468aede74df1b04 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 29: 0x562e74fe9db7 - std::panic::catch_unwind::hce3c9152e1cf772d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 30: 0x562e74fe9db7 - test::run_test_in_process::h9c4ab8162080cf8c [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:608:18 [INFO] [stdout] 31: 0x562e74fe9db7 - test::run_test::run_test_inner::{{closure}}::he9483433cef16afe [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:500:39 [INFO] [stdout] 32: 0x562e74fb70fe - test::run_test::run_test_inner::{{closure}}::h479f1f872a5501ea [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:527:37 [INFO] [stdout] 33: 0x562e74fb70fe - std::sys_common::backtrace::__rust_begin_short_backtrace::h0f1e9b1f279687bc [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:123:18 [INFO] [stdout] 34: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::he5560613c5f5cb83 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:484:17 [INFO] [stdout] 35: 0x562e74fbbf28 - as core::ops::function::FnOnce<()>>::call_once::h8190a68cb05ab92f [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 36: 0x562e74fbbf28 - std::panicking::try::do_call::h6ae22f5ac22596e4 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 37: 0x562e74fbbf28 - std::panicking::try::h2381c25487d6a7c2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 38: 0x562e74fbbf28 - std::panic::catch_unwind::hfe902f4d5c9d7b6d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 39: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::h547fad40771a584e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:483:30 [INFO] [stdout] 40: 0x562e74fbbf28 - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8602a9971738410 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 41: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::he162a5c338a10a39 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 42: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::hb27497b21740dd97 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 43: 0x562e753c5763 - std::sys::unix::thread::Thread::new::thread_start::he467e990e49c5136 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys/unix/thread.rs:106:17 [INFO] [stdout] 44: 0x7f13bcc57609 - start_thread [INFO] [stdout] 45: 0x7f13bca27293 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- attack::dictionaries::tests::test_delete_language stdout ---- [INFO] [stdout] thread 'attack::dictionaries::tests::test_delete_language' panicked at 'Error saving new language.: DatabaseError(__Unknown, "database is locked")', src/attack/dictionaries.rs:205:14 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x562e753bd12c - std::backtrace_rs::backtrace::libunwind::trace::h7630ba4cba718aa0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 [INFO] [stdout] 1: 0x562e753bd12c - std::backtrace_rs::backtrace::trace_unsynchronized::he7498e79c157f5ac [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x562e753bd12c - std::sys_common::backtrace::_print_fmt::hdaebadaee17bca49 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x562e753bd12c - ::fmt::h82b0e3aaf8a96140 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x562e753e2b7c - core::fmt::write::h72801a82c94e6ff1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/fmt/mod.rs:1149:17 [INFO] [stdout] 5: 0x562e753b8b85 - std::io::Write::write_fmt::h21d7683cabdb4c35 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/io/mod.rs:1697:15 [INFO] [stdout] 6: 0x562e753beff0 - std::sys_common::backtrace::_print::h1c9a1d19c48821c1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x562e753beff0 - std::sys_common::backtrace::print::h7ce8802039fa9d0e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x562e753beff0 - std::panicking::default_hook::{{closure}}::hb2a74a8c1499c326 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:211:50 [INFO] [stdout] 9: 0x562e753bebd6 - std::panicking::default_hook::hf4f180b00076f2b2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:225:9 [INFO] [stdout] 10: 0x562e753bf6a4 - std::panicking::rust_panic_with_hook::he85ce8435493b711 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:606:17 [INFO] [stdout] 11: 0x562e753bf180 - std::panicking::begin_panic_handler::{{closure}}::h31e15f69e6235bd2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:502:13 [INFO] [stdout] 12: 0x562e753bd5e4 - std::sys_common::backtrace::__rust_end_short_backtrace::hfce2fadb61aaa3ae [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:139:18 [INFO] [stdout] 13: 0x562e753bf0e9 - rust_begin_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:498:5 [INFO] [stdout] 14: 0x562e74e5fe61 - core::panicking::panic_fmt::h7b8580d81fcbbacd [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panicking.rs:107:14 [INFO] [stdout] 15: 0x562e74e5ff53 - core::result::unwrap_failed::h885d3f7beb571353 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1613:5 [INFO] [stdout] 16: 0x562e74f9cc64 - core::result::Result::expect::h46d675514afea358 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1255:23 [INFO] [stdout] 17: 0x562e74ee468b - cifra::attack::dictionaries::Dictionary::create_dictionary::he2f628bb54aa11b8 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:202:9 [INFO] [stdout] 18: 0x562e74ee33e2 - cifra::attack::dictionaries::Dictionary::new::hb51e440d574f4bdc [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:90:17 [INFO] [stdout] 19: 0x562e74ec6cdd - cifra::attack::dictionaries::tests::loaded_micro_dictionary_temp_dir::ha8cf17ee35025c73 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:735:43 [INFO] [stdout] 20: 0x562e74ec7ece - cifra::attack::dictionaries::tests::test_delete_language::h405c747004974d83 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:865:50 [INFO] [stdout] 21: 0x562e74ec7e9a - cifra::attack::dictionaries::tests::test_delete_language::{{closure}}::h2a6d988cc789551f [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:863:5 [INFO] [stdout] 22: 0x562e74f10f0e - core::ops::function::FnOnce::call_once::h0899770ef27f4096 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 23: 0x562e74feb223 - core::ops::function::FnOnce::call_once::h449577f1c5b077cb [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 24: 0x562e74feb223 - test::__rust_begin_short_backtrace::h8c2a0a5090591869 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:585:5 [INFO] [stdout] 25: 0x562e74fe9db7 - as core::ops::function::FnOnce>::call_once::hea00a22128a38543 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 26: 0x562e74fe9db7 - as core::ops::function::FnOnce<()>>::call_once::he10b35c3c50d78a0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 27: 0x562e74fe9db7 - std::panicking::try::do_call::hc868e78bbc5af2ab [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 28: 0x562e74fe9db7 - std::panicking::try::he468aede74df1b04 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 29: 0x562e74fe9db7 - std::panic::catch_unwind::hce3c9152e1cf772d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 30: 0x562e74fe9db7 - test::run_test_in_process::h9c4ab8162080cf8c [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:608:18 [INFO] [stdout] 31: 0x562e74fe9db7 - test::run_test::run_test_inner::{{closure}}::he9483433cef16afe [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:500:39 [INFO] [stdout] 32: 0x562e74fb70fe - test::run_test::run_test_inner::{{closure}}::h479f1f872a5501ea [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:527:37 [INFO] [stdout] 33: 0x562e74fb70fe - std::sys_common::backtrace::__rust_begin_short_backtrace::h0f1e9b1f279687bc [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:123:18 [INFO] [stdout] 34: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::he5560613c5f5cb83 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:484:17 [INFO] [stdout] 35: 0x562e74fbbf28 - as core::ops::function::FnOnce<()>>::call_once::h8190a68cb05ab92f [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 36: 0x562e74fbbf28 - std::panicking::try::do_call::h6ae22f5ac22596e4 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 37: 0x562e74fbbf28 - std::panicking::try::h2381c25487d6a7c2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 38: 0x562e74fbbf28 - std::panic::catch_unwind::hfe902f4d5c9d7b6d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 39: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::h547fad40771a584e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:483:30 [INFO] [stdout] 40: 0x562e74fbbf28 - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8602a9971738410 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 41: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::he162a5c338a10a39 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 42: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::hb27497b21740dd97 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 43: 0x562e753c5763 - std::sys::unix::thread::Thread::new::thread_start::he467e990e49c5136 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys/unix/thread.rs:106:17 [INFO] [stdout] 44: 0x7f13bcc57609 - start_thread [INFO] [stdout] 45: 0x7f13bca27293 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- attack::simple_attacks::tests::test_dictionary_word_key_generator stdout ---- [INFO] [stdout] thread 'attack::simple_attacks::tests::test_dictionary_word_key_generator' panicked at 'Error saving new language.: DatabaseError(__Unknown, "database is locked")', src/attack/dictionaries.rs:205:14 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x562e753bd12c - std::backtrace_rs::backtrace::libunwind::trace::h7630ba4cba718aa0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 [INFO] [stdout] 1: 0x562e753bd12c - std::backtrace_rs::backtrace::trace_unsynchronized::he7498e79c157f5ac [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x562e753bd12c - std::sys_common::backtrace::_print_fmt::hdaebadaee17bca49 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x562e753bd12c - ::fmt::h82b0e3aaf8a96140 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x562e753e2b7c - core::fmt::write::h72801a82c94e6ff1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/fmt/mod.rs:1149:17 [INFO] [stdout] 5: 0x562e753b8b85 - std::io::Write::write_fmt::h21d7683cabdb4c35 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/io/mod.rs:1697:15 [INFO] [stdout] 6: 0x562e753beff0 - std::sys_common::backtrace::_print::h1c9a1d19c48821c1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x562e753beff0 - std::sys_common::backtrace::print::h7ce8802039fa9d0e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x562e753beff0 - std::panicking::default_hook::{{closure}}::hb2a74a8c1499c326 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:211:50 [INFO] [stdout] 9: 0x562e753bebd6 - std::panicking::default_hook::hf4f180b00076f2b2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:225:9 [INFO] [stdout] 10: 0x562e753bf6a4 - std::panicking::rust_panic_with_hook::he85ce8435493b711 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:606:17 [INFO] [stdout] 11: 0x562e753bf180 - std::panicking::begin_panic_handler::{{closure}}::h31e15f69e6235bd2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:502:13 [INFO] [stdout] 12: 0x562e753bd5e4 - std::sys_common::backtrace::__rust_end_short_backtrace::hfce2fadb61aaa3ae [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:139:18 [INFO] [stdout] 13: 0x562e753bf0e9 - rust_begin_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:498:5 [INFO] [stdout] 14: 0x562e74e5fe61 - core::panicking::panic_fmt::h7b8580d81fcbbacd [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panicking.rs:107:14 [INFO] [stdout] 15: 0x562e74e5ff53 - core::result::unwrap_failed::h885d3f7beb571353 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1613:5 [INFO] [stdout] 16: 0x562e74f9cc64 - core::result::Result::expect::h46d675514afea358 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1255:23 [INFO] [stdout] 17: 0x562e74ee468b - cifra::attack::dictionaries::Dictionary::create_dictionary::he2f628bb54aa11b8 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:202:9 [INFO] [stdout] 18: 0x562e74ee33e2 - cifra::attack::dictionaries::Dictionary::new::hb51e440d574f4bdc [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:90:17 [INFO] [stdout] 19: 0x562e74ec6cdd - cifra::attack::dictionaries::tests::loaded_micro_dictionary_temp_dir::ha8cf17ee35025c73 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:735:43 [INFO] [stdout] 20: 0x562e74ec6a1d - cifra::attack::dictionaries::tests::loaded_micro_dictionary_temp_dir::get::hf52960b4d40cfb7e [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:728:5 [INFO] [stdout] 21: 0x562e74ec6a3d - cifra::attack::dictionaries::tests::loaded_micro_dictionary_temp_dir::default::h90f7bb07b628993e [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:728:5 [INFO] [stdout] 22: 0x562e74f98071 - cifra::attack::simple_attacks::tests::test_dictionary_word_key_generator::h1475af9d0373017b [INFO] [stdout] at /opt/rustwide/workdir/src/attack/simple_attacks.rs:280:5 [INFO] [stdout] 23: 0x562e74f9803a - cifra::attack::simple_attacks::tests::test_dictionary_word_key_generator::{{closure}}::h7597a75b2178fc4e [INFO] [stdout] at /opt/rustwide/workdir/src/attack/simple_attacks.rs:280:5 [INFO] [stdout] 24: 0x562e74f1198e - core::ops::function::FnOnce::call_once::h5eb5324b4f887519 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 25: 0x562e74feb223 - core::ops::function::FnOnce::call_once::h449577f1c5b077cb [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 26: 0x562e74feb223 - test::__rust_begin_short_backtrace::h8c2a0a5090591869 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:585:5 [INFO] [stdout] 27: 0x562e74fe9db7 - as core::ops::function::FnOnce>::call_once::hea00a22128a38543 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 28: 0x562e74fe9db7 - as core::ops::function::FnOnce<()>>::call_once::he10b35c3c50d78a0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 29: 0x562e74fe9db7 - std::panicking::try::do_call::hc868e78bbc5af2ab [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 30: 0x562e74fe9db7 - std::panicking::try::he468aede74df1b04 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 31: 0x562e74fe9db7 - std::panic::catch_unwind::hce3c9152e1cf772d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 32: 0x562e74fe9db7 - test::run_test_in_process::h9c4ab8162080cf8c [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:608:18 [INFO] [stdout] 33: 0x562e74fe9db7 - test::run_test::run_test_inner::{{closure}}::he9483433cef16afe [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:500:39 [INFO] [stdout] 34: 0x562e74fb70fe - test::run_test::run_test_inner::{{closure}}::h479f1f872a5501ea [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:527:37 [INFO] [stdout] 35: 0x562e74fb70fe - std::sys_common::backtrace::__rust_begin_short_backtrace::h0f1e9b1f279687bc [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:123:18 [INFO] [stdout] 36: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::he5560613c5f5cb83 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:484:17 [INFO] [stdout] 37: 0x562e74fbbf28 - as core::ops::function::FnOnce<()>>::call_once::h8190a68cb05ab92f [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 38: 0x562e74fbbf28 - std::panicking::try::do_call::h6ae22f5ac22596e4 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 39: 0x562e74fbbf28 - std::panicking::try::h2381c25487d6a7c2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 40: 0x562e74fbbf28 - std::panic::catch_unwind::hfe902f4d5c9d7b6d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 41: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::h547fad40771a584e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:483:30 [INFO] [stdout] 42: 0x562e74fbbf28 - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8602a9971738410 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 43: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::he162a5c338a10a39 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 44: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::hb27497b21740dd97 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 45: 0x562e753c5763 - std::sys::unix::thread::Thread::new::thread_start::he467e990e49c5136 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys/unix/thread.rs:106:17 [INFO] [stdout] 46: 0x7f13bcc57609 - start_thread [INFO] [stdout] 47: 0x7f13bca27293 - clone [INFO] [stdout] 48: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- attack::dictionaries::tests::test_store_word_pattern stdout ---- [INFO] [stdout] thread 'attack::dictionaries::tests::test_store_word_pattern' panicked at 'Error saving new language.: DatabaseError(__Unknown, "database is locked")', src/attack/dictionaries.rs:205:14 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x562e753bd12c - std::backtrace_rs::backtrace::libunwind::trace::h7630ba4cba718aa0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 [INFO] [stdout] 1: 0x562e753bd12c - std::backtrace_rs::backtrace::trace_unsynchronized::he7498e79c157f5ac [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x562e753bd12c - std::sys_common::backtrace::_print_fmt::hdaebadaee17bca49 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x562e753bd12c - ::fmt::h82b0e3aaf8a96140 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x562e753e2b7c - core::fmt::write::h72801a82c94e6ff1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/fmt/mod.rs:1149:17 [INFO] [stdout] 5: 0x562e753b8b85 - std::io::Write::write_fmt::h21d7683cabdb4c35 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/io/mod.rs:1697:15 [INFO] [stdout] 6: 0x562e753beff0 - std::sys_common::backtrace::_print::h1c9a1d19c48821c1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x562e753beff0 - std::sys_common::backtrace::print::h7ce8802039fa9d0e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x562e753beff0 - std::panicking::default_hook::{{closure}}::hb2a74a8c1499c326 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:211:50 [INFO] [stdout] 9: 0x562e753bebd6 - std::panicking::default_hook::hf4f180b00076f2b2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:225:9 [INFO] [stdout] 10: 0x562e753bf6a4 - std::panicking::rust_panic_with_hook::he85ce8435493b711 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:606:17 [INFO] [stdout] 11: 0x562e753bf180 - std::panicking::begin_panic_handler::{{closure}}::h31e15f69e6235bd2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:502:13 [INFO] [stdout] 12: 0x562e753bd5e4 - std::sys_common::backtrace::__rust_end_short_backtrace::hfce2fadb61aaa3ae [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:139:18 [INFO] [stdout] 13: 0x562e753bf0e9 - rust_begin_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:498:5 [INFO] [stdout] 14: 0x562e74e5fe61 - core::panicking::panic_fmt::h7b8580d81fcbbacd [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panicking.rs:107:14 [INFO] [stdout] 15: 0x562e74e5ff53 - core::result::unwrap_failed::h885d3f7beb571353 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1613:5 [INFO] [stdout] 16: 0x562e74f9cc64 - core::result::Result::expect::h46d675514afea358 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1255:23 [INFO] [stdout] 17: 0x562e74ee468b - cifra::attack::dictionaries::Dictionary::create_dictionary::he2f628bb54aa11b8 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:202:9 [INFO] [stdout] 18: 0x562e74ee1fd7 - cifra::attack::dictionaries::Dictionary::new::h145d93c284a27b3a [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:90:17 [INFO] [stdout] 19: 0x562e74eca6aa - cifra::attack::dictionaries::tests::test_store_word_pattern::h27d0f0f0069c7b7f [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:992:42 [INFO] [stdout] 20: 0x562e74eca58a - cifra::attack::dictionaries::tests::test_store_word_pattern::{{closure}}::h96ab2373ee730cea [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:988:5 [INFO] [stdout] 21: 0x562e74f10ece - core::ops::function::FnOnce::call_once::h06ab56c3b94f1bc4 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 22: 0x562e74feb223 - core::ops::function::FnOnce::call_once::h449577f1c5b077cb [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 23: 0x562e74feb223 - test::__rust_begin_short_backtrace::h8c2a0a5090591869 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:585:5 [INFO] [stdout] 24: 0x562e74fe9db7 - as core::ops::function::FnOnce>::call_once::hea00a22128a38543 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 25: 0x562e74fe9db7 - as core::ops::function::FnOnce<()>>::call_once::he10b35c3c50d78a0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 26: 0x562e74fe9db7 - std::panicking::try::do_call::hc868e78bbc5af2ab [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 27: 0x562e74fe9db7 - std::panicking::try::he468aede74df1b04 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 28: 0x562e74fe9db7 - std::panic::catch_unwind::hce3c9152e1cf772d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 29: 0x562e74fe9db7 - test::run_test_in_process::h9c4ab8162080cf8c [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:608:18 [INFO] [stdout] 30: 0x562e74fe9db7 - test::run_test::run_test_inner::{{closure}}::he9483433cef16afe [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:500:39 [INFO] [stdout] 31: 0x562e74fb70fe - test::run_test::run_test_inner::{{closure}}::h479f1f872a5501ea [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:527:37 [INFO] [stdout] 32: 0x562e74fb70fe - std::sys_common::backtrace::__rust_begin_short_backtrace::h0f1e9b1f279687bc [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:123:18 [INFO] [stdout] 33: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::he5560613c5f5cb83 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:484:17 [INFO] [stdout] 34: 0x562e74fbbf28 - as core::ops::function::FnOnce<()>>::call_once::h8190a68cb05ab92f [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 35: 0x562e74fbbf28 - std::panicking::try::do_call::h6ae22f5ac22596e4 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 36: 0x562e74fbbf28 - std::panicking::try::h2381c25487d6a7c2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 37: 0x562e74fbbf28 - std::panic::catch_unwind::hfe902f4d5c9d7b6d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 38: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::h547fad40771a584e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:483:30 [INFO] [stdout] 39: 0x562e74fbbf28 - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8602a9971738410 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 40: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::he162a5c338a10a39 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 41: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::hb27497b21740dd97 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 42: 0x562e753c5763 - std::sys::unix::thread::Thread::new::thread_start::he467e990e49c5136 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys/unix/thread.rs:106:17 [INFO] [stdout] 43: 0x7f13bcc57609 - start_thread [INFO] [stdout] 44: 0x7f13bca27293 - clone [INFO] [stdout] 45: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- attack::dictionaries::tests::test_add_multiple_words stdout ---- [INFO] [stdout] thread 'attack::dictionaries::tests::test_add_multiple_words' panicked at 'Error saving new language.: DatabaseError(__Unknown, "database is locked")', src/attack/dictionaries.rs:205:14 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x562e753bd12c - std::backtrace_rs::backtrace::libunwind::trace::h7630ba4cba718aa0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 [INFO] [stdout] 1: 0x562e753bd12c - std::backtrace_rs::backtrace::trace_unsynchronized::he7498e79c157f5ac [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x562e753bd12c - std::sys_common::backtrace::_print_fmt::hdaebadaee17bca49 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x562e753bd12c - ::fmt::h82b0e3aaf8a96140 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x562e753e2b7c - core::fmt::write::h72801a82c94e6ff1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/fmt/mod.rs:1149:17 [INFO] [stdout] 5: 0x562e753b8b85 - std::io::Write::write_fmt::h21d7683cabdb4c35 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/io/mod.rs:1697:15 [INFO] [stdout] 6: 0x562e753beff0 - std::sys_common::backtrace::_print::h1c9a1d19c48821c1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x562e753beff0 - std::sys_common::backtrace::print::h7ce8802039fa9d0e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x562e753beff0 - std::panicking::default_hook::{{closure}}::hb2a74a8c1499c326 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:211:50 [INFO] [stdout] 9: 0x562e753bebd6 - std::panicking::default_hook::hf4f180b00076f2b2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:225:9 [INFO] [stdout] 10: 0x562e753bf6a4 - std::panicking::rust_panic_with_hook::he85ce8435493b711 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:606:17 [INFO] [stdout] 11: 0x562e753bf180 - std::panicking::begin_panic_handler::{{closure}}::h31e15f69e6235bd2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:502:13 [INFO] [stdout] 12: 0x562e753bd5e4 - std::sys_common::backtrace::__rust_end_short_backtrace::hfce2fadb61aaa3ae [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:139:18 [INFO] [stdout] 13: 0x562e753bf0e9 - rust_begin_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:498:5 [INFO] [stdout] 14: 0x562e74e5fe61 - core::panicking::panic_fmt::h7b8580d81fcbbacd [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panicking.rs:107:14 [INFO] [stdout] 15: 0x562e74e5ff53 - core::result::unwrap_failed::h885d3f7beb571353 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1613:5 [INFO] [stdout] 16: 0x562e74f9cc64 - core::result::Result::expect::h46d675514afea358 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1255:23 [INFO] [stdout] 17: 0x562e74ee468b - cifra::attack::dictionaries::Dictionary::create_dictionary::he2f628bb54aa11b8 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:202:9 [INFO] [stdout] 18: 0x562e74ee1fd7 - cifra::attack::dictionaries::Dictionary::new::h145d93c284a27b3a [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:90:17 [INFO] [stdout] 19: 0x562e74ec98a9 - cifra::attack::dictionaries::tests::test_add_multiple_words::h642898f8a57fde89 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:950:30 [INFO] [stdout] 20: 0x562e74ec964a - cifra::attack::dictionaries::tests::test_add_multiple_words::{{closure}}::h3ccce2c681aece17 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:943:5 [INFO] [stdout] 21: 0x562e74f1216e - core::ops::function::FnOnce::call_once::hafe19cf6d9299920 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 22: 0x562e74feb223 - core::ops::function::FnOnce::call_once::h449577f1c5b077cb [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 23: 0x562e74feb223 - test::__rust_begin_short_backtrace::h8c2a0a5090591869 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:585:5 [INFO] [stdout] 24: 0x562e74fe9db7 - as core::ops::function::FnOnce>::call_once::hea00a22128a38543 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 25: 0x562e74fe9db7 - as core::ops::function::FnOnce<()>>::call_once::he10b35c3c50d78a0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 26: 0x562e74fe9db7 - std::panicking::try::do_call::hc868e78bbc5af2ab [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 27: 0x562e74fe9db7 - std::panicking::try::he468aede74df1b04 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 28: 0x562e74fe9db7 - std::panic::catch_unwind::hce3c9152e1cf772d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 29: 0x562e74fe9db7 - test::run_test_in_process::h9c4ab8162080cf8c [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:608:18 [INFO] [stdout] 30: 0x562e74fe9db7 - test::run_test::run_test_inner::{{closure}}::he9483433cef16afe [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:500:39 [INFO] [stdout] 31: 0x562e74fb70fe - test::run_test::run_test_inner::{{closure}}::h479f1f872a5501ea [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:527:37 [INFO] [stdout] 32: 0x562e74fb70fe - std::sys_common::backtrace::__rust_begin_short_backtrace::h0f1e9b1f279687bc [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:123:18 [INFO] [stdout] 33: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::he5560613c5f5cb83 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:484:17 [INFO] [stdout] 34: 0x562e74fbbf28 - as core::ops::function::FnOnce<()>>::call_once::h8190a68cb05ab92f [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 35: 0x562e74fbbf28 - std::panicking::try::do_call::h6ae22f5ac22596e4 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 36: 0x562e74fbbf28 - std::panicking::try::h2381c25487d6a7c2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 37: 0x562e74fbbf28 - std::panic::catch_unwind::hfe902f4d5c9d7b6d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 38: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::h547fad40771a584e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:483:30 [INFO] [stdout] 39: 0x562e74fbbf28 - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8602a9971738410 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 40: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::he162a5c338a10a39 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 41: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::hb27497b21740dd97 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 42: 0x562e753c5763 - std::sys::unix::thread::Thread::new::thread_start::he467e990e49c5136 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys/unix/thread.rs:106:17 [INFO] [stdout] 43: 0x7f13bcc57609 - start_thread [INFO] [stdout] 44: 0x7f13bca27293 - clone [INFO] [stdout] 45: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- attack::substitution::tests::test_hack_substitution stdout ---- [INFO] [stdout] thread 'attack::substitution::tests::test_hack_substitution' panicked at 'Error saving new language.: DatabaseError(__Unknown, "database is locked")', src/attack/dictionaries.rs:205:14 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x562e753bd12c - std::backtrace_rs::backtrace::libunwind::trace::h7630ba4cba718aa0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 [INFO] [stdout] 1: 0x562e753bd12c - std::backtrace_rs::backtrace::trace_unsynchronized::he7498e79c157f5ac [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x562e753bd12c - std::sys_common::backtrace::_print_fmt::hdaebadaee17bca49 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x562e753bd12c - ::fmt::h82b0e3aaf8a96140 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x562e753e2b7c - core::fmt::write::h72801a82c94e6ff1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/fmt/mod.rs:1149:17 [INFO] [stdout] 5: 0x562e753b8b85 - std::io::Write::write_fmt::h21d7683cabdb4c35 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/io/mod.rs:1697:15 [INFO] [stdout] 6: 0x562e753beff0 - std::sys_common::backtrace::_print::h1c9a1d19c48821c1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x562e753beff0 - std::sys_common::backtrace::print::h7ce8802039fa9d0e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x562e753beff0 - std::panicking::default_hook::{{closure}}::hb2a74a8c1499c326 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:211:50 [INFO] [stdout] 9: 0x562e753bebd6 - std::panicking::default_hook::hf4f180b00076f2b2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:225:9 [INFO] [stdout] 10: 0x562e753bf6a4 - std::panicking::rust_panic_with_hook::he85ce8435493b711 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:606:17 [INFO] [stdout] 11: 0x562e753bf180 - std::panicking::begin_panic_handler::{{closure}}::h31e15f69e6235bd2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:502:13 [INFO] [stdout] 12: 0x562e753bd5e4 - std::sys_common::backtrace::__rust_end_short_backtrace::hfce2fadb61aaa3ae [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:139:18 [INFO] [stdout] 13: 0x562e753bf0e9 - rust_begin_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:498:5 [INFO] [stdout] 14: 0x562e74e5fe61 - core::panicking::panic_fmt::h7b8580d81fcbbacd [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panicking.rs:107:14 [INFO] [stdout] 15: 0x562e74e5ff53 - core::result::unwrap_failed::h885d3f7beb571353 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1613:5 [INFO] [stdout] 16: 0x562e74f9cc64 - core::result::Result::expect::h46d675514afea358 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1255:23 [INFO] [stdout] 17: 0x562e74ee468b - cifra::attack::dictionaries::Dictionary::create_dictionary::he2f628bb54aa11b8 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:202:9 [INFO] [stdout] 18: 0x562e74ee33e2 - cifra::attack::dictionaries::Dictionary::new::hb51e440d574f4bdc [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:90:17 [INFO] [stdout] 19: 0x562e74ec497e - cifra::attack::dictionaries::tests::LoadedDictionaries::new::hae9d6bc8d8be72ed [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:681:38 [INFO] [stdout] 20: 0x562e74f2df04 - cifra::attack::substitution::tests::test_hack_substitution::h8c10b7aad6a431ba [INFO] [stdout] at /opt/rustwide/workdir/src/attack/substitution.rs:872:35 [INFO] [stdout] 21: 0x562e74f2dd8a - cifra::attack::substitution::tests::test_hack_substitution::{{closure}}::hd437286739d21291 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/substitution.rs:867:5 [INFO] [stdout] 22: 0x562e74f1212e - core::ops::function::FnOnce::call_once::haea5b937548ce645 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 23: 0x562e74feb223 - core::ops::function::FnOnce::call_once::h449577f1c5b077cb [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 24: 0x562e74feb223 - test::__rust_begin_short_backtrace::h8c2a0a5090591869 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:585:5 [INFO] [stdout] 25: 0x562e74fe9db7 - as core::ops::function::FnOnce>::call_once::hea00a22128a38543 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 26: 0x562e74fe9db7 - as core::ops::function::FnOnce<()>>::call_once::he10b35c3c50d78a0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 27: 0x562e74fe9db7 - std::panicking::try::do_call::hc868e78bbc5af2ab [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 28: 0x562e74fe9db7 - std::panicking::try::he468aede74df1b04 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 29: 0x562e74fe9db7 - std::panic::catch_unwind::hce3c9152e1cf772d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 30: 0x562e74fe9db7 - test::run_test_in_process::h9c4ab8162080cf8c [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:608:18 [INFO] [stdout] 31: 0x562e74fe9db7 - test::run_test::run_test_inner::{{closure}}::he9483433cef16afe [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:500:39 [INFO] [stdout] 32: 0x562e74fb70fe - test::run_test::run_test_inner::{{closure}}::h479f1f872a5501ea [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:527:37 [INFO] [stdout] 33: 0x562e74fb70fe - std::sys_common::backtrace::__rust_begin_short_backtrace::h0f1e9b1f279687bc [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:123:18 [INFO] [stdout] 34: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::he5560613c5f5cb83 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:484:17 [INFO] [stdout] 35: 0x562e74fbbf28 - as core::ops::function::FnOnce<()>>::call_once::h8190a68cb05ab92f [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 36: 0x562e74fbbf28 - std::panicking::try::do_call::h6ae22f5ac22596e4 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 37: 0x562e74fbbf28 - std::panicking::try::h2381c25487d6a7c2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 38: 0x562e74fbbf28 - std::panic::catch_unwind::hfe902f4d5c9d7b6d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 39: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::h547fad40771a584e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:483:30 [INFO] [stdout] 40: 0x562e74fbbf28 - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8602a9971738410 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 41: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::he162a5c338a10a39 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 42: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::hb27497b21740dd97 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 43: 0x562e753c5763 - std::sys::unix::thread::Thread::new::thread_start::he467e990e49c5136 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys/unix/thread.rs:106:17 [INFO] [stdout] 44: 0x7f13bcc57609 - start_thread [INFO] [stdout] 45: 0x7f13bca27293 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- attack::affine::tests::test_brute_force_affine_mp stdout ---- [INFO] [stdout] thread 'attack::affine::tests::test_brute_force_affine_mp' panicked at 'Error saving new language.: DatabaseError(__Unknown, "database is locked")', src/attack/dictionaries.rs:205:14 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x562e753bd12c - std::backtrace_rs::backtrace::libunwind::trace::h7630ba4cba718aa0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 [INFO] [stdout] 1: 0x562e753bd12c - std::backtrace_rs::backtrace::trace_unsynchronized::he7498e79c157f5ac [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x562e753bd12c - std::sys_common::backtrace::_print_fmt::hdaebadaee17bca49 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x562e753bd12c - ::fmt::h82b0e3aaf8a96140 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x562e753e2b7c - core::fmt::write::h72801a82c94e6ff1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/fmt/mod.rs:1149:17 [INFO] [stdout] 5: 0x562e753b8b85 - std::io::Write::write_fmt::h21d7683cabdb4c35 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/io/mod.rs:1697:15 [INFO] [stdout] 6: 0x562e753beff0 - std::sys_common::backtrace::_print::h1c9a1d19c48821c1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x562e753beff0 - std::sys_common::backtrace::print::h7ce8802039fa9d0e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x562e753beff0 - std::panicking::default_hook::{{closure}}::hb2a74a8c1499c326 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:211:50 [INFO] [stdout] 9: 0x562e753bebd6 - std::panicking::default_hook::hf4f180b00076f2b2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:225:9 [INFO] [stdout] 10: 0x562e753bf6a4 - std::panicking::rust_panic_with_hook::he85ce8435493b711 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:606:17 [INFO] [stdout] 11: 0x562e753bf180 - std::panicking::begin_panic_handler::{{closure}}::h31e15f69e6235bd2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:502:13 [INFO] [stdout] 12: 0x562e753bd5e4 - std::sys_common::backtrace::__rust_end_short_backtrace::hfce2fadb61aaa3ae [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:139:18 [INFO] [stdout] 13: 0x562e753bf0e9 - rust_begin_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:498:5 [INFO] [stdout] 14: 0x562e74e5fe61 - core::panicking::panic_fmt::h7b8580d81fcbbacd [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panicking.rs:107:14 [INFO] [stdout] 15: 0x562e74e5ff53 - core::result::unwrap_failed::h885d3f7beb571353 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1613:5 [INFO] [stdout] 16: 0x562e74f9cc64 - core::result::Result::expect::h46d675514afea358 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1255:23 [INFO] [stdout] 17: 0x562e74ee468b - cifra::attack::dictionaries::Dictionary::create_dictionary::he2f628bb54aa11b8 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:202:9 [INFO] [stdout] 18: 0x562e74ee33e2 - cifra::attack::dictionaries::Dictionary::new::hb51e440d574f4bdc [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:90:17 [INFO] [stdout] 19: 0x562e74ec497e - cifra::attack::dictionaries::tests::LoadedDictionaries::new::hae9d6bc8d8be72ed [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:681:38 [INFO] [stdout] 20: 0x562e74ee8fb1 - cifra::attack::affine::tests::test_brute_force_affine_mp::he66612eab63ad290 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/affine.rs:153:35 [INFO] [stdout] 21: 0x562e74ee8f8a - cifra::attack::affine::tests::test_brute_force_affine_mp::{{closure}}::h2eef9eed65dc8898 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/affine.rs:152:5 [INFO] [stdout] 22: 0x562e74f1230e - core::ops::function::FnOnce::call_once::hbd77229e32107175 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 23: 0x562e74feb223 - core::ops::function::FnOnce::call_once::h449577f1c5b077cb [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 24: 0x562e74feb223 - test::__rust_begin_short_backtrace::h8c2a0a5090591869 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:585:5 [INFO] [stdout] 25: 0x562e74fe9db7 - as core::ops::function::FnOnce>::call_once::hea00a22128a38543 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 26: 0x562e74fe9db7 - as core::ops::function::FnOnce<()>>::call_once::he10b35c3c50d78a0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 27: 0x562e74fe9db7 - std::panicking::try::do_call::hc868e78bbc5af2ab [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 28: 0x562e74fe9db7 - std::panicking::try::he468aede74df1b04 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 29: 0x562e74fe9db7 - std::panic::catch_unwind::hce3c9152e1cf772d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 30: 0x562e74fe9db7 - test::run_test_in_process::h9c4ab8162080cf8c [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:608:18 [INFO] [stdout] 31: 0x562e74fe9db7 - test::run_test::run_test_inner::{{closure}}::he9483433cef16afe [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:500:39 [INFO] [stdout] 32: 0x562e74fb70fe - test::run_test::run_test_inner::{{closure}}::h479f1f872a5501ea [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:527:37 [INFO] [stdout] 33: 0x562e74fb70fe - std::sys_common::backtrace::__rust_begin_short_backtrace::h0f1e9b1f279687bc [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:123:18 [INFO] [stdout] 34: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::he5560613c5f5cb83 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:484:17 [INFO] [stdout] 35: 0x562e74fbbf28 - as core::ops::function::FnOnce<()>>::call_once::h8190a68cb05ab92f [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 36: 0x562e74fbbf28 - std::panicking::try::do_call::h6ae22f5ac22596e4 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 37: 0x562e74fbbf28 - std::panicking::try::h2381c25487d6a7c2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 38: 0x562e74fbbf28 - std::panic::catch_unwind::hfe902f4d5c9d7b6d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 39: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::h547fad40771a584e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:483:30 [INFO] [stdout] 40: 0x562e74fbbf28 - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8602a9971738410 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 41: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::he162a5c338a10a39 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 42: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::hb27497b21740dd97 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 43: 0x562e753c5763 - std::sys::unix::thread::Thread::new::thread_start::he467e990e49c5136 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys/unix/thread.rs:106:17 [INFO] [stdout] 44: 0x7f13bcc57609 - start_thread [INFO] [stdout] 45: 0x7f13bca27293 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- attack::transposition::tests::test_brute_force_transposition_mp stdout ---- [INFO] [stdout] thread 'attack::transposition::tests::test_brute_force_transposition_mp' panicked at 'Error saving new language.: DatabaseError(__Unknown, "database is locked")', src/attack/dictionaries.rs:205:14 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x562e753bd12c - std::backtrace_rs::backtrace::libunwind::trace::h7630ba4cba718aa0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 [INFO] [stdout] 1: 0x562e753bd12c - std::backtrace_rs::backtrace::trace_unsynchronized::he7498e79c157f5ac [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x562e753bd12c - std::sys_common::backtrace::_print_fmt::hdaebadaee17bca49 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x562e753bd12c - ::fmt::h82b0e3aaf8a96140 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x562e753e2b7c - core::fmt::write::h72801a82c94e6ff1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/fmt/mod.rs:1149:17 [INFO] [stdout] 5: 0x562e753b8b85 - std::io::Write::write_fmt::h21d7683cabdb4c35 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/io/mod.rs:1697:15 [INFO] [stdout] 6: 0x562e753beff0 - std::sys_common::backtrace::_print::h1c9a1d19c48821c1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x562e753beff0 - std::sys_common::backtrace::print::h7ce8802039fa9d0e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x562e753beff0 - std::panicking::default_hook::{{closure}}::hb2a74a8c1499c326 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:211:50 [INFO] [stdout] 9: 0x562e753bebd6 - std::panicking::default_hook::hf4f180b00076f2b2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:225:9 [INFO] [stdout] 10: 0x562e753bf6a4 - std::panicking::rust_panic_with_hook::he85ce8435493b711 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:606:17 [INFO] [stdout] 11: 0x562e753bf180 - std::panicking::begin_panic_handler::{{closure}}::h31e15f69e6235bd2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:502:13 [INFO] [stdout] 12: 0x562e753bd5e4 - std::sys_common::backtrace::__rust_end_short_backtrace::hfce2fadb61aaa3ae [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:139:18 [INFO] [stdout] 13: 0x562e753bf0e9 - rust_begin_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:498:5 [INFO] [stdout] 14: 0x562e74e5fe61 - core::panicking::panic_fmt::h7b8580d81fcbbacd [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panicking.rs:107:14 [INFO] [stdout] 15: 0x562e74e5ff53 - core::result::unwrap_failed::h885d3f7beb571353 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1613:5 [INFO] [stdout] 16: 0x562e74f9cc64 - core::result::Result::expect::h46d675514afea358 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1255:23 [INFO] [stdout] 17: 0x562e74ee468b - cifra::attack::dictionaries::Dictionary::create_dictionary::he2f628bb54aa11b8 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:202:9 [INFO] [stdout] 18: 0x562e74ee33e2 - cifra::attack::dictionaries::Dictionary::new::hb51e440d574f4bdc [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:90:17 [INFO] [stdout] 19: 0x562e74ec497e - cifra::attack::dictionaries::tests::LoadedDictionaries::new::hae9d6bc8d8be72ed [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:681:38 [INFO] [stdout] 20: 0x562e74f43bd1 - cifra::attack::transposition::tests::test_brute_force_transposition_mp::ha8e5d6210e59dbf8 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/transposition.rs:109:35 [INFO] [stdout] 21: 0x562e74f43baa - cifra::attack::transposition::tests::test_brute_force_transposition_mp::{{closure}}::h129ebe795257626a [INFO] [stdout] at /opt/rustwide/workdir/src/attack/transposition.rs:108:5 [INFO] [stdout] 22: 0x562e74f1148e - core::ops::function::FnOnce::call_once::h34385b06c12220da [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 23: 0x562e74feb223 - core::ops::function::FnOnce::call_once::h449577f1c5b077cb [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 24: 0x562e74feb223 - test::__rust_begin_short_backtrace::h8c2a0a5090591869 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:585:5 [INFO] [stdout] 25: 0x562e74fe9db7 - as core::ops::function::FnOnce>::call_once::hea00a22128a38543 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 26: 0x562e74fe9db7 - as core::ops::function::FnOnce<()>>::call_once::he10b35c3c50d78a0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 27: 0x562e74fe9db7 - std::panicking::try::do_call::hc868e78bbc5af2ab [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 28: 0x562e74fe9db7 - std::panicking::try::he468aede74df1b04 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 29: 0x562e74fe9db7 - std::panic::catch_unwind::hce3c9152e1cf772d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 30: 0x562e74fe9db7 - test::run_test_in_process::h9c4ab8162080cf8c [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:608:18 [INFO] [stdout] 31: 0x562e74fe9db7 - test::run_test::run_test_inner::{{closure}}::he9483433cef16afe [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:500:39 [INFO] [stdout] 32: 0x562e74fb70fe - test::run_test::run_test_inner::{{closure}}::h479f1f872a5501ea [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:527:37 [INFO] [stdout] 33: 0x562e74fb70fe - std::sys_common::backtrace::__rust_begin_short_backtrace::h0f1e9b1f279687bc [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:123:18 [INFO] [stdout] 34: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::he5560613c5f5cb83 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:484:17 [INFO] [stdout] 35: 0x562e74fbbf28 - as core::ops::function::FnOnce<()>>::call_once::h8190a68cb05ab92f [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 36: 0x562e74fbbf28 - std::panicking::try::do_call::h6ae22f5ac22596e4 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 37: 0x562e74fbbf28 - std::panicking::try::h2381c25487d6a7c2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 38: 0x562e74fbbf28 - std::panic::catch_unwind::hfe902f4d5c9d7b6d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 39: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::h547fad40771a584e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:483:30 [INFO] [stdout] 40: 0x562e74fbbf28 - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8602a9971738410 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 41: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::he162a5c338a10a39 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 42: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::hb27497b21740dd97 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 43: 0x562e753c5763 - std::sys::unix::thread::Thread::new::thread_start::he467e990e49c5136 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys/unix/thread.rs:106:17 [INFO] [stdout] 44: 0x7f13bcc57609 - start_thread [INFO] [stdout] 45: 0x7f13bca27293 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- attack::substitution::tests::test_hack_substitution_mp stdout ---- [INFO] [stdout] thread 'attack::substitution::tests::test_hack_substitution_mp' panicked at 'Error saving new language.: DatabaseError(__Unknown, "database is locked")', src/attack/dictionaries.rs:205:14 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x562e753bd12c - std::backtrace_rs::backtrace::libunwind::trace::h7630ba4cba718aa0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 [INFO] [stdout] 1: 0x562e753bd12c - std::backtrace_rs::backtrace::trace_unsynchronized::he7498e79c157f5ac [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x562e753bd12c - std::sys_common::backtrace::_print_fmt::hdaebadaee17bca49 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x562e753bd12c - ::fmt::h82b0e3aaf8a96140 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x562e753e2b7c - core::fmt::write::h72801a82c94e6ff1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/fmt/mod.rs:1149:17 [INFO] [stdout] 5: 0x562e753b8b85 - std::io::Write::write_fmt::h21d7683cabdb4c35 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/io/mod.rs:1697:15 [INFO] [stdout] 6: 0x562e753beff0 - std::sys_common::backtrace::_print::h1c9a1d19c48821c1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x562e753beff0 - std::sys_common::backtrace::print::h7ce8802039fa9d0e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x562e753beff0 - std::panicking::default_hook::{{closure}}::hb2a74a8c1499c326 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:211:50 [INFO] [stdout] 9: 0x562e753bebd6 - std::panicking::default_hook::hf4f180b00076f2b2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:225:9 [INFO] [stdout] 10: 0x562e753bf6a4 - std::panicking::rust_panic_with_hook::he85ce8435493b711 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:606:17 [INFO] [stdout] 11: 0x562e753bf180 - std::panicking::begin_panic_handler::{{closure}}::h31e15f69e6235bd2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:502:13 [INFO] [stdout] 12: 0x562e753bd5e4 - std::sys_common::backtrace::__rust_end_short_backtrace::hfce2fadb61aaa3ae [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:139:18 [INFO] [stdout] 13: 0x562e753bf0e9 - rust_begin_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:498:5 [INFO] [stdout] 14: 0x562e74e5fe61 - core::panicking::panic_fmt::h7b8580d81fcbbacd [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panicking.rs:107:14 [INFO] [stdout] 15: 0x562e74e5ff53 - core::result::unwrap_failed::h885d3f7beb571353 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1613:5 [INFO] [stdout] 16: 0x562e74f9cc64 - core::result::Result::expect::h46d675514afea358 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1255:23 [INFO] [stdout] 17: 0x562e74ee468b - cifra::attack::dictionaries::Dictionary::create_dictionary::he2f628bb54aa11b8 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:202:9 [INFO] [stdout] 18: 0x562e74ee33e2 - cifra::attack::dictionaries::Dictionary::new::hb51e440d574f4bdc [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:90:17 [INFO] [stdout] 19: 0x562e74ec497e - cifra::attack::dictionaries::tests::LoadedDictionaries::new::hae9d6bc8d8be72ed [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:681:38 [INFO] [stdout] 20: 0x562e74f2e813 - cifra::attack::substitution::tests::test_hack_substitution_mp::hf236d10e871eb6e6 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/substitution.rs:894:35 [INFO] [stdout] 21: 0x562e74f2e68a - cifra::attack::substitution::tests::test_hack_substitution_mp::{{closure}}::h14b868baa280278c [INFO] [stdout] at /opt/rustwide/workdir/src/attack/substitution.rs:889:5 [INFO] [stdout] 22: 0x562e74f1155e - core::ops::function::FnOnce::call_once::h3ca3e037b7140e1d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 23: 0x562e74feb223 - core::ops::function::FnOnce::call_once::h449577f1c5b077cb [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 24: 0x562e74feb223 - test::__rust_begin_short_backtrace::h8c2a0a5090591869 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:585:5 [INFO] [stdout] 25: 0x562e74fe9db7 - as core::ops::function::FnOnce>::call_once::hea00a22128a38543 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 26: 0x562e74fe9db7 - as core::ops::function::FnOnce<()>>::call_once::he10b35c3c50d78a0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 27: 0x562e74fe9db7 - std::panicking::try::do_call::hc868e78bbc5af2ab [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 28: 0x562e74fe9db7 - std::panicking::try::he468aede74df1b04 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 29: 0x562e74fe9db7 - std::panic::catch_unwind::hce3c9152e1cf772d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 30: 0x562e74fe9db7 - test::run_test_in_process::h9c4ab8162080cf8c [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:608:18 [INFO] [stdout] 31: 0x562e74fe9db7 - test::run_test::run_test_inner::{{closure}}::he9483433cef16afe [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:500:39 [INFO] [stdout] 32: 0x562e74fb70fe - test::run_test::run_test_inner::{{closure}}::h479f1f872a5501ea [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:527:37 [INFO] [stdout] 33: 0x562e74fb70fe - std::sys_common::backtrace::__rust_begin_short_backtrace::h0f1e9b1f279687bc [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:123:18 [INFO] [stdout] 34: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::he5560613c5f5cb83 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:484:17 [INFO] [stdout] 35: 0x562e74fbbf28 - as core::ops::function::FnOnce<()>>::call_once::h8190a68cb05ab92f [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 36: 0x562e74fbbf28 - std::panicking::try::do_call::h6ae22f5ac22596e4 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 37: 0x562e74fbbf28 - std::panicking::try::h2381c25487d6a7c2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 38: 0x562e74fbbf28 - std::panic::catch_unwind::hfe902f4d5c9d7b6d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 39: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::h547fad40771a584e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:483:30 [INFO] [stdout] 40: 0x562e74fbbf28 - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8602a9971738410 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 41: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::he162a5c338a10a39 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 42: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::hb27497b21740dd97 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 43: 0x562e753c5763 - std::sys::unix::thread::Thread::new::thread_start::he467e990e49c5136 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys/unix/thread.rs:106:17 [INFO] [stdout] 44: 0x7f13bcc57609 - start_thread [INFO] [stdout] 45: 0x7f13bca27293 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- attack::transposition::tests::test_brute_force_transposition stdout ---- [INFO] [stdout] thread 'attack::transposition::tests::test_brute_force_transposition' panicked at 'Error saving new language.: DatabaseError(__Unknown, "disk I/O error")', src/attack/dictionaries.rs:205:14 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x562e753bd12c - std::backtrace_rs::backtrace::libunwind::trace::h7630ba4cba718aa0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 [INFO] [stdout] 1: 0x562e753bd12c - std::backtrace_rs::backtrace::trace_unsynchronized::he7498e79c157f5ac [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x562e753bd12c - std::sys_common::backtrace::_print_fmt::hdaebadaee17bca49 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x562e753bd12c - ::fmt::h82b0e3aaf8a96140 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x562e753e2b7c - core::fmt::write::h72801a82c94e6ff1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/fmt/mod.rs:1149:17 [INFO] [stdout] 5: 0x562e753b8b85 - std::io::Write::write_fmt::h21d7683cabdb4c35 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/io/mod.rs:1697:15 [INFO] [stdout] 6: 0x562e753beff0 - std::sys_common::backtrace::_print::h1c9a1d19c48821c1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x562e753beff0 - std::sys_common::backtrace::print::h7ce8802039fa9d0e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x562e753beff0 - std::panicking::default_hook::{{closure}}::hb2a74a8c1499c326 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:211:50 [INFO] [stdout] 9: 0x562e753bebd6 - std::panicking::default_hook::hf4f180b00076f2b2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:225:9 [INFO] [stdout] 10: 0x562e753bf6a4 - std::panicking::rust_panic_with_hook::he85ce8435493b711 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:606:17 [INFO] [stdout] 11: 0x562e753bf180 - std::panicking::begin_panic_handler::{{closure}}::h31e15f69e6235bd2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:502:13 [INFO] [stdout] 12: 0x562e753bd5e4 - std::sys_common::backtrace::__rust_end_short_backtrace::hfce2fadb61aaa3ae [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:139:18 [INFO] [stdout] 13: 0x562e753bf0e9 - rust_begin_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:498:5 [INFO] [stdout] 14: 0x562e74e5fe61 - core::panicking::panic_fmt::h7b8580d81fcbbacd [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panicking.rs:107:14 [INFO] [stdout] 15: 0x562e74e5ff53 - core::result::unwrap_failed::h885d3f7beb571353 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1613:5 [INFO] [stdout] 16: 0x562e74f9cc64 - core::result::Result::expect::h46d675514afea358 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1255:23 [INFO] [stdout] 17: 0x562e74ee468b - cifra::attack::dictionaries::Dictionary::create_dictionary::he2f628bb54aa11b8 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:202:9 [INFO] [stdout] 18: 0x562e74ee33e2 - cifra::attack::dictionaries::Dictionary::new::hb51e440d574f4bdc [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:90:17 [INFO] [stdout] 19: 0x562e74ec497e - cifra::attack::dictionaries::tests::LoadedDictionaries::new::hae9d6bc8d8be72ed [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:681:38 [INFO] [stdout] 20: 0x562e74f438a1 - cifra::attack::transposition::tests::test_brute_force_transposition::ha1c83bc0e3ac3468 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/transposition.rs:100:35 [INFO] [stdout] 21: 0x562e74f4387a - cifra::attack::transposition::tests::test_brute_force_transposition::{{closure}}::h3e73a96fc4d072dd [INFO] [stdout] at /opt/rustwide/workdir/src/attack/transposition.rs:99:5 [INFO] [stdout] 22: 0x562e74f11a4e - core::ops::function::FnOnce::call_once::h62b1832284e4a45f [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 23: 0x562e74feb223 - core::ops::function::FnOnce::call_once::h449577f1c5b077cb [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 24: 0x562e74feb223 - test::__rust_begin_short_backtrace::h8c2a0a5090591869 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:585:5 [INFO] [stdout] 25: 0x562e74fe9db7 - as core::ops::function::FnOnce>::call_once::hea00a22128a38543 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 26: 0x562e74fe9db7 - as core::ops::function::FnOnce<()>>::call_once::he10b35c3c50d78a0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 27: 0x562e74fe9db7 - std::panicking::try::do_call::hc868e78bbc5af2ab [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 28: 0x562e74fe9db7 - std::panicking::try::he468aede74df1b04 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 29: 0x562e74fe9db7 - std::panic::catch_unwind::hce3c9152e1cf772d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 30: 0x562e74fe9db7 - test::run_test_in_process::h9c4ab8162080cf8c [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:608:18 [INFO] [stdout] 31: 0x562e74fe9db7 - test::run_test::run_test_inner::{{closure}}::he9483433cef16afe [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:500:39 [INFO] [stdout] 32: 0x562e74fb70fe - test::run_test::run_test_inner::{{closure}}::h479f1f872a5501ea [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:527:37 [INFO] [stdout] 33: 0x562e74fb70fe - std::sys_common::backtrace::__rust_begin_short_backtrace::h0f1e9b1f279687bc [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:123:18 [INFO] [stdout] 34: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::he5560613c5f5cb83 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:484:17 [INFO] [stdout] 35: 0x562e74fbbf28 - as core::ops::function::FnOnce<()>>::call_once::h8190a68cb05ab92f [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 36: 0x562e74fbbf28 - std::panicking::try::do_call::h6ae22f5ac22596e4 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 37: 0x562e74fbbf28 - std::panicking::try::h2381c25487d6a7c2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 38: 0x562e74fbbf28 - std::panic::catch_unwind::hfe902f4d5c9d7b6d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 39: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::h547fad40771a584e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:483:30 [INFO] [stdout] 40: 0x562e74fbbf28 - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8602a9971738410 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 41: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::he162a5c338a10a39 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 42: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::hb27497b21740dd97 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 43: 0x562e753c5763 - std::sys::unix::thread::Thread::new::thread_start::he467e990e49c5136 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys/unix/thread.rs:106:17 [INFO] [stdout] 44: 0x7f13bcc57609 - start_thread [INFO] [stdout] 45: 0x7f13bca27293 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- attack::dictionaries::tests::test_get_all_words stdout ---- [INFO] [stdout] thread 'attack::dictionaries::tests::test_get_all_words' panicked at 'Dictionary not found for english language: Error(DatabaseError("Error connecting to DATABASE_URL: /tmp/.tmpSmncJA/cifra_database.sqlite"), State { next_error: Some(BadConnection("Unable to open the database file")), backtrace: InternalBacktrace { backtrace: Some( 0: error_chain::backtrace::imp::InternalBacktrace::new [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/error-chain-0.12.4/src/backtrace.rs:56:48 [INFO] [stdout] 1: core::ops::function::FnOnce::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 2: core::option::Option::unwrap_or_else [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/option.rs:787:21 [INFO] [stdout] 3: error_chain::State::new [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/error-chain-0.12.4/src/lib.rs:696:25 [INFO] [stdout] 4: as cifra::ResultExt>::chain_err::{{closure}} [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/error-chain-0.12.4/src/error_chain.rs:434:33 [INFO] [stdout] 5: core::result::Result::map_err [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:853:27 [INFO] [stdout] 6: as cifra::ResultExt>::chain_err [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/error-chain-0.12.4/src/error_chain.rs:433:17 [INFO] [stdout] 7: cifra::attack::database::Database::open_session [INFO] [stdout] at src/attack/database.rs:142:9 [INFO] [stdout] 8: cifra::attack::database::Database::new [INFO] [stdout] at src/attack/database.rs:119:26 [INFO] [stdout] 9: cifra::attack::dictionaries::Dictionary::new [INFO] [stdout] at src/attack/dictionaries.rs:77:32 [INFO] [stdout] 10: cifra::attack::dictionaries::tests::loaded_micro_dictionary_temp_dir [INFO] [stdout] at src/attack/dictionaries.rs:735:43 [INFO] [stdout] 11: cifra::attack::dictionaries::tests::loaded_micro_dictionary_temp_dir::get [INFO] [stdout] at src/attack/dictionaries.rs:728:5 [INFO] [stdout] 12: cifra::attack::dictionaries::tests::loaded_micro_dictionary_temp_dir::default [INFO] [stdout] at src/attack/dictionaries.rs:728:5 [INFO] [stdout] 13: cifra::attack::dictionaries::tests::test_get_all_words [INFO] [stdout] at src/attack/dictionaries.rs:1019:5 [INFO] [stdout] 14: cifra::attack::dictionaries::tests::test_get_all_words::{{closure}} [INFO] [stdout] at src/attack/dictionaries.rs:1019:5 [INFO] [stdout] 15: core::ops::function::FnOnce::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 16: core::ops::function::FnOnce::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] test::__rust_begin_short_backtrace [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:585:5 [INFO] [stdout] 17: as core::ops::function::FnOnce>::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] as core::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] std::panicking::try::do_call [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] std::panicking::try [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] std::panic::catch_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] test::run_test_in_process [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:608:18 [INFO] [stdout] test::run_test::run_test_inner::{{closure}} [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:500:39 [INFO] [stdout] 18: test::run_test::run_test_inner::{{closure}} [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:527:37 [INFO] [stdout] std::sys_common::backtrace::__rust_begin_short_backtrace [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:123:18 [INFO] [stdout] 19: std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:484:17 [INFO] [stdout] as core::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] std::panicking::try::do_call [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] std::panicking::try [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] std::panic::catch_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] std::thread::Builder::spawn_unchecked::{{closure}} [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:483:30 [INFO] [stdout] core::ops::function::FnOnce::call_once{{vtable.shim}} [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 20: as core::ops::function::FnOnce>::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] as core::ops::function::FnOnce>::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] std::sys::unix::thread::Thread::new::thread_start [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys/unix/thread.rs:106:17 [INFO] [stdout] 21: start_thread [INFO] [stdout] 22: clone [INFO] [stdout] ) } })', src/attack/dictionaries.rs:736:18 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x562e753bd12c - std::backtrace_rs::backtrace::libunwind::trace::h7630ba4cba718aa0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 [INFO] [stdout] 1: 0x562e753bd12c - std::backtrace_rs::backtrace::trace_unsynchronized::he7498e79c157f5ac [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x562e753bd12c - std::sys_common::backtrace::_print_fmt::hdaebadaee17bca49 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x562e753bd12c - ::fmt::h82b0e3aaf8a96140 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x562e753e2b7c - core::fmt::write::h72801a82c94e6ff1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/fmt/mod.rs:1149:17 [INFO] [stdout] 5: 0x562e753b8b85 - std::io::Write::write_fmt::h21d7683cabdb4c35 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/io/mod.rs:1697:15 [INFO] [stdout] 6: 0x562e753beff0 - std::sys_common::backtrace::_print::h1c9a1d19c48821c1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x562e753beff0 - std::sys_common::backtrace::print::h7ce8802039fa9d0e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x562e753beff0 - std::panicking::default_hook::{{closure}}::hb2a74a8c1499c326 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:211:50 [INFO] [stdout] 9: 0x562e753bebd6 - std::panicking::default_hook::hf4f180b00076f2b2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:225:9 [INFO] [stdout] 10: 0x562e753bf6a4 - std::panicking::rust_panic_with_hook::he85ce8435493b711 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:606:17 [INFO] [stdout] 11: 0x562e753bf180 - std::panicking::begin_panic_handler::{{closure}}::h31e15f69e6235bd2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:502:13 [INFO] [stdout] 12: 0x562e753bd5e4 - std::sys_common::backtrace::__rust_end_short_backtrace::hfce2fadb61aaa3ae [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:139:18 [INFO] [stdout] 13: 0x562e753bf0e9 - rust_begin_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:498:5 [INFO] [stdout] 14: 0x562e74e5fe61 - core::panicking::panic_fmt::h7b8580d81fcbbacd [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panicking.rs:107:14 [INFO] [stdout] 15: 0x562e74e5ff53 - core::result::unwrap_failed::h885d3f7beb571353 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1613:5 [INFO] [stdout] 16: 0x562e74f9d88c - core::result::Result::expect::hdda0edcd9f59a9ff [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1255:23 [INFO] [stdout] 17: 0x562e74ec6e12 - cifra::attack::dictionaries::tests::loaded_micro_dictionary_temp_dir::ha8cf17ee35025c73 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:735:43 [INFO] [stdout] 18: 0x562e74ec6a1d - cifra::attack::dictionaries::tests::loaded_micro_dictionary_temp_dir::get::hf52960b4d40cfb7e [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:728:5 [INFO] [stdout] 19: 0x562e74ec6a3d - cifra::attack::dictionaries::tests::loaded_micro_dictionary_temp_dir::default::h90f7bb07b628993e [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:728:5 [INFO] [stdout] 20: 0x562e74ecb041 - cifra::attack::dictionaries::tests::test_get_all_words::h01ea742eba79ad22 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:1019:5 [INFO] [stdout] 21: 0x562e74ecb00a - cifra::attack::dictionaries::tests::test_get_all_words::{{closure}}::hb86a0f54edb6eca5 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:1019:5 [INFO] [stdout] 22: 0x562e74f119ce - core::ops::function::FnOnce::call_once::h5f960aa3c1b79688 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 23: 0x562e74feb223 - core::ops::function::FnOnce::call_once::h449577f1c5b077cb [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 24: 0x562e74feb223 - test::__rust_begin_short_backtrace::h8c2a0a5090591869 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:585:5 [INFO] [stdout] 25: 0x562e74fe9db7 - as core::ops::function::FnOnce>::call_once::hea00a22128a38543 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 26: 0x562e74fe9db7 - as core::ops::function::FnOnce<()>>::call_once::he10b35c3c50d78a0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 27: 0x562e74fe9db7 - std::panicking::try::do_call::hc868e78bbc5af2ab [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 28: 0x562e74fe9db7 - std::panicking::try::he468aede74df1b04 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 29: 0x562e74fe9db7 - std::panic::catch_unwind::hce3c9152e1cf772d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 30: 0x562e74fe9db7 - test::run_test_in_process::h9c4ab8162080cf8c [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:608:18 [INFO] [stdout] 31: 0x562e74fe9db7 - test::run_test::run_test_inner::{{closure}}::he9483433cef16afe [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:500:39 [INFO] [stdout] 32: 0x562e74fb70fe - test::run_test::run_test_inner::{{closure}}::h479f1f872a5501ea [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:527:37 [INFO] [stdout] 33: 0x562e74fb70fe - std::sys_common::backtrace::__rust_begin_short_backtrace::h0f1e9b1f279687bc [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:123:18 [INFO] [stdout] 34: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::he5560613c5f5cb83 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:484:17 [INFO] [stdout] 35: 0x562e74fbbf28 - as core::ops::function::FnOnce<()>>::call_once::h8190a68cb05ab92f [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 36: 0x562e74fbbf28 - std::panicking::try::do_call::h6ae22f5ac22596e4 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 37: 0x562e74fbbf28 - std::panicking::try::h2381c25487d6a7c2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 38: 0x562e74fbbf28 - std::panic::catch_unwind::hfe902f4d5c9d7b6d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 39: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::h547fad40771a584e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:483:30 [INFO] [stdout] 40: 0x562e74fbbf28 - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8602a9971738410 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 41: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::he162a5c338a10a39 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 42: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::hb27497b21740dd97 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 43: 0x562e753c5763 - std::sys::unix::thread::Thread::new::thread_start::he467e990e49c5136 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys/unix/thread.rs:106:17 [INFO] [stdout] 44: 0x7f13bcc57609 - start_thread [INFO] [stdout] 45: 0x7f13bca27293 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- attack::dictionaries::tests::test_cwd_word stdout ---- [INFO] [stdout] thread 'attack::dictionaries::tests::test_cwd_word' panicked at 'Error opening dictionary: Error(DatabaseError("Error connecting to DATABASE_URL: /tmp/.tmpSmncJA/cifra_database.sqlite"), State { next_error: Some(BadConnection("Unable to open the database file")), backtrace: InternalBacktrace { backtrace: Some( 0: error_chain::backtrace::imp::InternalBacktrace::new [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/error-chain-0.12.4/src/backtrace.rs:56:48 [INFO] [stdout] 1: core::ops::function::FnOnce::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 2: core::option::Option::unwrap_or_else [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/option.rs:787:21 [INFO] [stdout] 3: error_chain::State::new [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/error-chain-0.12.4/src/lib.rs:696:25 [INFO] [stdout] 4: as cifra::ResultExt>::chain_err::{{closure}} [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/error-chain-0.12.4/src/error_chain.rs:434:33 [INFO] [stdout] 5: core::result::Result::map_err [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:853:27 [INFO] [stdout] 6: as cifra::ResultExt>::chain_err [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/error-chain-0.12.4/src/error_chain.rs:433:17 [INFO] [stdout] 7: cifra::attack::database::Database::open_session [INFO] [stdout] at src/attack/database.rs:142:9 [INFO] [stdout] 8: cifra::attack::database::Database::new [INFO] [stdout] at src/attack/database.rs:119:26 [INFO] [stdout] 9: cifra::attack::dictionaries::Dictionary::new [INFO] [stdout] at src/attack/dictionaries.rs:77:32 [INFO] [stdout] 10: cifra::attack::dictionaries::tests::test_cwd_word [INFO] [stdout] at src/attack/dictionaries.rs:838:38 [INFO] [stdout] 11: cifra::attack::dictionaries::tests::test_cwd_word::{{closure}} [INFO] [stdout] at src/attack/dictionaries.rs:834:5 [INFO] [stdout] 12: core::ops::function::FnOnce::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 13: core::ops::function::FnOnce::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] test::__rust_begin_short_backtrace [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:585:5 [INFO] [stdout] 14: as core::ops::function::FnOnce>::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] as core::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] std::panicking::try::do_call [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] std::panicking::try [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] std::panic::catch_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] test::run_test_in_process [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:608:18 [INFO] [stdout] test::run_test::run_test_inner::{{closure}} [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:500:39 [INFO] [stdout] 15: test::run_test::run_test_inner::{{closure}} [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:527:37 [INFO] [stdout] std::sys_common::backtrace::__rust_begin_short_backtrace [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:123:18 [INFO] [stdout] 16: std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:484:17 [INFO] [stdout] as core::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] std::panicking::try::do_call [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] std::panicking::try [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] std::panic::catch_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] std::thread::Builder::spawn_unchecked::{{closure}} [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:483:30 [INFO] [stdout] core::ops::function::FnOnce::call_once{{vtable.shim}} [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 17: as core::ops::function::FnOnce>::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] as core::ops::function::FnOnce>::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] std::sys::unix::thread::Thread::new::thread_start [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys/unix/thread.rs:106:17 [INFO] [stdout] 18: start_thread [INFO] [stdout] 19: clone [INFO] [stdout] ) } })', src/attack/dictionaries.rs:839:14 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x562e753bd12c - std::backtrace_rs::backtrace::libunwind::trace::h7630ba4cba718aa0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 [INFO] [stdout] 1: 0x562e753bd12c - std::backtrace_rs::backtrace::trace_unsynchronized::he7498e79c157f5ac [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x562e753bd12c - std::sys_common::backtrace::_print_fmt::hdaebadaee17bca49 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x562e753bd12c - ::fmt::h82b0e3aaf8a96140 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x562e753e2b7c - core::fmt::write::h72801a82c94e6ff1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/fmt/mod.rs:1149:17 [INFO] [stdout] 5: 0x562e753b8b85 - std::io::Write::write_fmt::h21d7683cabdb4c35 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/io/mod.rs:1697:15 [INFO] [stdout] 6: 0x562e753beff0 - std::sys_common::backtrace::_print::h1c9a1d19c48821c1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x562e753beff0 - std::sys_common::backtrace::print::h7ce8802039fa9d0e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x562e753beff0 - std::panicking::default_hook::{{closure}}::hb2a74a8c1499c326 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:211:50 [INFO] [stdout] 9: 0x562e753bebd6 - std::panicking::default_hook::hf4f180b00076f2b2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:225:9 [INFO] [stdout] 10: 0x562e753bf6a4 - std::panicking::rust_panic_with_hook::he85ce8435493b711 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:606:17 [INFO] [stdout] 11: 0x562e753bf180 - std::panicking::begin_panic_handler::{{closure}}::h31e15f69e6235bd2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:502:13 [INFO] [stdout] 12: 0x562e753bd5e4 - std::sys_common::backtrace::__rust_end_short_backtrace::hfce2fadb61aaa3ae [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:139:18 [INFO] [stdout] 13: 0x562e753bf0e9 - rust_begin_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:498:5 [INFO] [stdout] 14: 0x562e74e5fe61 - core::panicking::panic_fmt::h7b8580d81fcbbacd [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panicking.rs:107:14 [INFO] [stdout] 15: 0x562e74e5ff53 - core::result::unwrap_failed::h885d3f7beb571353 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1613:5 [INFO] [stdout] 16: 0x562e74f9d88c - core::result::Result::expect::hdda0edcd9f59a9ff [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1255:23 [INFO] [stdout] 17: 0x562e74ec7a03 - cifra::attack::dictionaries::tests::test_cwd_word::h2b804ebd43dde3dd [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:838:38 [INFO] [stdout] 18: 0x562e74ec78ca - cifra::attack::dictionaries::tests::test_cwd_word::{{closure}}::h025e459a2ed82c2c [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:834:5 [INFO] [stdout] 19: 0x562e74f11bfe - core::ops::function::FnOnce::call_once::h72bc08cf5932808a [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 20: 0x562e74feb223 - core::ops::function::FnOnce::call_once::h449577f1c5b077cb [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 21: 0x562e74feb223 - test::__rust_begin_short_backtrace::h8c2a0a5090591869 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:585:5 [INFO] [stdout] 22: 0x562e74fe9db7 - as core::ops::function::FnOnce>::call_once::hea00a22128a38543 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 23: 0x562e74fe9db7 - as core::ops::function::FnOnce<()>>::call_once::he10b35c3c50d78a0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 24: 0x562e74fe9db7 - std::panicking::try::do_call::hc868e78bbc5af2ab [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 25: 0x562e74fe9db7 - std::panicking::try::he468aede74df1b04 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 26: 0x562e74fe9db7 - std::panic::catch_unwind::hce3c9152e1cf772d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 27: 0x562e74fe9db7 - test::run_test_in_process::h9c4ab8162080cf8c [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:608:18 [INFO] [stdout] 28: 0x562e74fe9db7 - test::run_test::run_test_inner::{{closure}}::he9483433cef16afe [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:500:39 [INFO] [stdout] 29: 0x562e74fb70fe - test::run_test::run_test_inner::{{closure}}::h479f1f872a5501ea [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:527:37 [INFO] [stdout] 30: 0x562e74fb70fe - std::sys_common::backtrace::__rust_begin_short_backtrace::h0f1e9b1f279687bc [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:123:18 [INFO] [stdout] 31: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::he5560613c5f5cb83 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:484:17 [INFO] [stdout] 32: 0x562e74fbbf28 - as core::ops::function::FnOnce<()>>::call_once::h8190a68cb05ab92f [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 33: 0x562e74fbbf28 - std::panicking::try::do_call::h6ae22f5ac22596e4 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 34: 0x562e74fbbf28 - std::panicking::try::h2381c25487d6a7c2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 35: 0x562e74fbbf28 - std::panic::catch_unwind::hfe902f4d5c9d7b6d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 36: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::h547fad40771a584e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:483:30 [INFO] [stdout] 37: 0x562e74fbbf28 - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8602a9971738410 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 38: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::he162a5c338a10a39 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 39: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::hb27497b21740dd97 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 40: 0x562e753c5763 - std::sys::unix::thread::Thread::new::thread_start::he467e990e49c5136 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys/unix/thread.rs:106:17 [INFO] [stdout] 41: 0x7f13bcc57609 - start_thread [INFO] [stdout] 42: 0x7f13bca27293 - clone [INFO] [stdout] 43: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- attack::dictionaries::tests::test_identify_language stdout ---- [INFO] [stdout] thread 'attack::dictionaries::tests::test_identify_language' panicked at 'No dictionary found for english language.: Error(DatabaseError("Error connecting to DATABASE_URL: /tmp/.tmpSmncJA/cifra_database.sqlite"), State { next_error: Some(BadConnection("Unable to open the database file")), backtrace: InternalBacktrace { backtrace: Some( 0: error_chain::backtrace::imp::InternalBacktrace::new [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/error-chain-0.12.4/src/backtrace.rs:56:48 [INFO] [stdout] 1: core::ops::function::FnOnce::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 2: core::option::Option::unwrap_or_else [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/option.rs:787:21 [INFO] [stdout] 3: error_chain::State::new [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/error-chain-0.12.4/src/lib.rs:696:25 [INFO] [stdout] 4: as cifra::ResultExt>::chain_err::{{closure}} [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/error-chain-0.12.4/src/error_chain.rs:434:33 [INFO] [stdout] 5: core::result::Result::map_err [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:853:27 [INFO] [stdout] 6: as cifra::ResultExt>::chain_err [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/error-chain-0.12.4/src/error_chain.rs:433:17 [INFO] [stdout] 7: cifra::attack::database::Database::open_session [INFO] [stdout] at src/attack/database.rs:142:9 [INFO] [stdout] 8: cifra::attack::database::Database::new [INFO] [stdout] at src/attack/database.rs:119:26 [INFO] [stdout] 9: cifra::attack::dictionaries::Dictionary::new [INFO] [stdout] at src/attack/dictionaries.rs:77:32 [INFO] [stdout] 10: cifra::attack::dictionaries::tests::LoadedDictionaries::new [INFO] [stdout] at src/attack/dictionaries.rs:681:38 [INFO] [stdout] 11: cifra::attack::dictionaries::tests::test_identify_language [INFO] [stdout] at src/attack/dictionaries.rs:959:35 [INFO] [stdout] 12: cifra::attack::dictionaries::tests::test_identify_language::{{closure}} [INFO] [stdout] at src/attack/dictionaries.rs:958:5 [INFO] [stdout] 13: core::ops::function::FnOnce::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 14: core::ops::function::FnOnce::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] test::__rust_begin_short_backtrace [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:585:5 [INFO] [stdout] 15: as core::ops::function::FnOnce>::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] as core::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] std::panicking::try::do_call [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] std::panicking::try [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] std::panic::catch_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] test::run_test_in_process [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:608:18 [INFO] [stdout] test::run_test::run_test_inner::{{closure}} [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:500:39 [INFO] [stdout] 16: test::run_test::run_test_inner::{{closure}} [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:527:37 [INFO] [stdout] std::sys_common::backtrace::__rust_begin_short_backtrace [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:123:18 [INFO] [stdout] 17: std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:484:17 [INFO] [stdout] as core::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] std::panicking::try::do_call [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] std::panicking::try [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] std::panic::catch_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] std::thread::Builder::spawn_unchecked::{{closure}} [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:483:30 [INFO] [stdout] core::ops::function::FnOnce::call_once{{vtable.shim}} [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 18: as core::ops::function::FnOnce>::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] as core::ops::function::FnOnce>::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] std::sys::unix::thread::Thread::new::thread_start [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys/unix/thread.rs:106:17 [INFO] [stdout] 19: start_thread [INFO] [stdout] 20: clone [INFO] [stdout] ) } })', src/attack/dictionaries.rs:682:22 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x562e753bd12c - std::backtrace_rs::backtrace::libunwind::trace::h7630ba4cba718aa0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 [INFO] [stdout] 1: 0x562e753bd12c - std::backtrace_rs::backtrace::trace_unsynchronized::he7498e79c157f5ac [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x562e753bd12c - std::sys_common::backtrace::_print_fmt::hdaebadaee17bca49 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x562e753bd12c - ::fmt::h82b0e3aaf8a96140 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x562e753e2b7c - core::fmt::write::h72801a82c94e6ff1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/fmt/mod.rs:1149:17 [INFO] [stdout] 5: 0x562e753b8b85 - std::io::Write::write_fmt::h21d7683cabdb4c35 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/io/mod.rs:1697:15 [INFO] [stdout] 6: 0x562e753beff0 - std::sys_common::backtrace::_print::h1c9a1d19c48821c1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x562e753beff0 - std::sys_common::backtrace::print::h7ce8802039fa9d0e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x562e753beff0 - std::panicking::default_hook::{{closure}}::hb2a74a8c1499c326 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:211:50 [INFO] [stdout] 9: 0x562e753bebd6 - std::panicking::default_hook::hf4f180b00076f2b2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:225:9 [INFO] [stdout] 10: 0x562e753bf6a4 - std::panicking::rust_panic_with_hook::he85ce8435493b711 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:606:17 [INFO] [stdout] 11: 0x562e753bf180 - std::panicking::begin_panic_handler::{{closure}}::h31e15f69e6235bd2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:502:13 [INFO] [stdout] 12: 0x562e753bd5e4 - std::sys_common::backtrace::__rust_end_short_backtrace::hfce2fadb61aaa3ae [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:139:18 [INFO] [stdout] 13: 0x562e753bf0e9 - rust_begin_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:498:5 [INFO] [stdout] 14: 0x562e74e5fe61 - core::panicking::panic_fmt::h7b8580d81fcbbacd [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panicking.rs:107:14 [INFO] [stdout] 15: 0x562e74e5ff53 - core::result::unwrap_failed::h885d3f7beb571353 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1613:5 [INFO] [stdout] 16: 0x562e74f9d88c - core::result::Result::expect::hdda0edcd9f59a9ff [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1255:23 [INFO] [stdout] 17: 0x562e74ec4aad - cifra::attack::dictionaries::tests::LoadedDictionaries::new::hae9d6bc8d8be72ed [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:681:38 [INFO] [stdout] 18: 0x562e74ec9c29 - cifra::attack::dictionaries::tests::test_identify_language::he02bd3079b41f409 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:959:35 [INFO] [stdout] 19: 0x562e74ec9bfa - cifra::attack::dictionaries::tests::test_identify_language::{{closure}}::he80253910443e878 [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:958:5 [INFO] [stdout] 20: 0x562e74f110ae - core::ops::function::FnOnce::call_once::h0ff54712f64b1cd7 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 21: 0x562e74feb223 - core::ops::function::FnOnce::call_once::h449577f1c5b077cb [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 22: 0x562e74feb223 - test::__rust_begin_short_backtrace::h8c2a0a5090591869 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:585:5 [INFO] [stdout] 23: 0x562e74fe9db7 - as core::ops::function::FnOnce>::call_once::hea00a22128a38543 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 24: 0x562e74fe9db7 - as core::ops::function::FnOnce<()>>::call_once::he10b35c3c50d78a0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 25: 0x562e74fe9db7 - std::panicking::try::do_call::hc868e78bbc5af2ab [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 26: 0x562e74fe9db7 - std::panicking::try::he468aede74df1b04 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 27: 0x562e74fe9db7 - std::panic::catch_unwind::hce3c9152e1cf772d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 28: 0x562e74fe9db7 - test::run_test_in_process::h9c4ab8162080cf8c [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:608:18 [INFO] [stdout] 29: 0x562e74fe9db7 - test::run_test::run_test_inner::{{closure}}::he9483433cef16afe [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:500:39 [INFO] [stdout] 30: 0x562e74fb70fe - test::run_test::run_test_inner::{{closure}}::h479f1f872a5501ea [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:527:37 [INFO] [stdout] 31: 0x562e74fb70fe - std::sys_common::backtrace::__rust_begin_short_backtrace::h0f1e9b1f279687bc [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:123:18 [INFO] [stdout] 32: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::he5560613c5f5cb83 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:484:17 [INFO] [stdout] 33: 0x562e74fbbf28 - as core::ops::function::FnOnce<()>>::call_once::h8190a68cb05ab92f [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 34: 0x562e74fbbf28 - std::panicking::try::do_call::h6ae22f5ac22596e4 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 35: 0x562e74fbbf28 - std::panicking::try::h2381c25487d6a7c2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 36: 0x562e74fbbf28 - std::panic::catch_unwind::hfe902f4d5c9d7b6d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 37: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::h547fad40771a584e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:483:30 [INFO] [stdout] 38: 0x562e74fbbf28 - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8602a9971738410 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 39: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::he162a5c338a10a39 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 40: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::hb27497b21740dd97 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 41: 0x562e753c5763 - std::sys::unix::thread::Thread::new::thread_start::he467e990e49c5136 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys/unix/thread.rs:106:17 [INFO] [stdout] 42: 0x7f13bcc57609 - start_thread [INFO] [stdout] 43: 0x7f13bca27293 - clone [INFO] [stdout] 44: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- attack::caesar::tests::test_brute_force_caesar stdout ---- [INFO] [stdout] thread 'attack::caesar::tests::test_brute_force_caesar' panicked at 'No dictionary found for spanish language.: Error(DatabaseError("Error connecting to DATABASE_URL: /tmp/.tmp21AO8K/cifra_database.sqlite"), State { next_error: Some(BadConnection("Unable to open the database file")), backtrace: InternalBacktrace { backtrace: Some( 0: error_chain::backtrace::imp::InternalBacktrace::new [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/error-chain-0.12.4/src/backtrace.rs:56:48 [INFO] [stdout] 1: core::ops::function::FnOnce::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 2: core::option::Option::unwrap_or_else [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/option.rs:787:21 [INFO] [stdout] 3: error_chain::State::new [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/error-chain-0.12.4/src/lib.rs:696:25 [INFO] [stdout] 4: as cifra::ResultExt>::chain_err::{{closure}} [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/error-chain-0.12.4/src/error_chain.rs:434:33 [INFO] [stdout] 5: core::result::Result::map_err [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:853:27 [INFO] [stdout] 6: as cifra::ResultExt>::chain_err [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/error-chain-0.12.4/src/error_chain.rs:433:17 [INFO] [stdout] 7: cifra::attack::database::Database::open_session [INFO] [stdout] at src/attack/database.rs:142:9 [INFO] [stdout] 8: cifra::attack::database::Database::new [INFO] [stdout] at src/attack/database.rs:119:26 [INFO] [stdout] 9: cifra::attack::dictionaries::Dictionary::new [INFO] [stdout] at src/attack/dictionaries.rs:77:32 [INFO] [stdout] 10: cifra::attack::dictionaries::tests::LoadedDictionaries::new [INFO] [stdout] at src/attack/dictionaries.rs:681:38 [INFO] [stdout] 11: cifra::attack::caesar::tests::test_brute_force_caesar [INFO] [stdout] at src/attack/caesar.rs:148:35 [INFO] [stdout] 12: cifra::attack::caesar::tests::test_brute_force_caesar::{{closure}} [INFO] [stdout] at src/attack/caesar.rs:147:5 [INFO] [stdout] 13: core::ops::function::FnOnce::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 14: core::ops::function::FnOnce::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] test::__rust_begin_short_backtrace [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:585:5 [INFO] [stdout] 15: as core::ops::function::FnOnce>::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] as core::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] std::panicking::try::do_call [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] std::panicking::try [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] std::panic::catch_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] test::run_test_in_process [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:608:18 [INFO] [stdout] test::run_test::run_test_inner::{{closure}} [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:500:39 [INFO] [stdout] 16: test::run_test::run_test_inner::{{closure}} [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:527:37 [INFO] [stdout] std::sys_common::backtrace::__rust_begin_short_backtrace [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:123:18 [INFO] [stdout] 17: std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:484:17 [INFO] [stdout] as core::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] std::panicking::try::do_call [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] std::panicking::try [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] std::panic::catch_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] std::thread::Builder::spawn_unchecked::{{closure}} [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:483:30 [INFO] [stdout] core::ops::function::FnOnce::call_once{{vtable.shim}} [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 18: as core::ops::function::FnOnce>::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] as core::ops::function::FnOnce>::call_once [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] std::sys::unix::thread::Thread::new::thread_start [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys/unix/thread.rs:106:17 [INFO] [stdout] 19: start_thread [INFO] [stdout] 20: clone [INFO] [stdout] ) } })', src/attack/dictionaries.rs:682:22 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x562e753bd12c - std::backtrace_rs::backtrace::libunwind::trace::h7630ba4cba718aa0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 [INFO] [stdout] 1: 0x562e753bd12c - std::backtrace_rs::backtrace::trace_unsynchronized::he7498e79c157f5ac [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x562e753bd12c - std::sys_common::backtrace::_print_fmt::hdaebadaee17bca49 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x562e753bd12c - ::fmt::h82b0e3aaf8a96140 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x562e753e2b7c - core::fmt::write::h72801a82c94e6ff1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/fmt/mod.rs:1149:17 [INFO] [stdout] 5: 0x562e753b8b85 - std::io::Write::write_fmt::h21d7683cabdb4c35 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/io/mod.rs:1697:15 [INFO] [stdout] 6: 0x562e753beff0 - std::sys_common::backtrace::_print::h1c9a1d19c48821c1 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x562e753beff0 - std::sys_common::backtrace::print::h7ce8802039fa9d0e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x562e753beff0 - std::panicking::default_hook::{{closure}}::hb2a74a8c1499c326 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:211:50 [INFO] [stdout] 9: 0x562e753bebd6 - std::panicking::default_hook::hf4f180b00076f2b2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:225:9 [INFO] [stdout] 10: 0x562e753bf6a4 - std::panicking::rust_panic_with_hook::he85ce8435493b711 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:606:17 [INFO] [stdout] 11: 0x562e753bf180 - std::panicking::begin_panic_handler::{{closure}}::h31e15f69e6235bd2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:502:13 [INFO] [stdout] 12: 0x562e753bd5e4 - std::sys_common::backtrace::__rust_end_short_backtrace::hfce2fadb61aaa3ae [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:139:18 [INFO] [stdout] 13: 0x562e753bf0e9 - rust_begin_unwind [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:498:5 [INFO] [stdout] 14: 0x562e74e5fe61 - core::panicking::panic_fmt::h7b8580d81fcbbacd [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panicking.rs:107:14 [INFO] [stdout] 15: 0x562e74e5ff53 - core::result::unwrap_failed::h885d3f7beb571353 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1613:5 [INFO] [stdout] 16: 0x562e74f9d88c - core::result::Result::expect::hdda0edcd9f59a9ff [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/result.rs:1255:23 [INFO] [stdout] 17: 0x562e74ec4aad - cifra::attack::dictionaries::tests::LoadedDictionaries::new::hae9d6bc8d8be72ed [INFO] [stdout] at /opt/rustwide/workdir/src/attack/dictionaries.rs:681:38 [INFO] [stdout] 18: 0x562e74f23a61 - cifra::attack::caesar::tests::test_brute_force_caesar::h8373fd05b42f409e [INFO] [stdout] at /opt/rustwide/workdir/src/attack/caesar.rs:148:35 [INFO] [stdout] 19: 0x562e74f23a3a - cifra::attack::caesar::tests::test_brute_force_caesar::{{closure}}::hd1ac9688e89572cb [INFO] [stdout] at /opt/rustwide/workdir/src/attack/caesar.rs:147:5 [INFO] [stdout] 20: 0x562e74f1245e - core::ops::function::FnOnce::call_once::hdd2dd9789b003e57 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 21: 0x562e74feb223 - core::ops::function::FnOnce::call_once::h449577f1c5b077cb [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 22: 0x562e74feb223 - test::__rust_begin_short_backtrace::h8c2a0a5090591869 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:585:5 [INFO] [stdout] 23: 0x562e74fe9db7 - as core::ops::function::FnOnce>::call_once::hea00a22128a38543 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 24: 0x562e74fe9db7 - as core::ops::function::FnOnce<()>>::call_once::he10b35c3c50d78a0 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 25: 0x562e74fe9db7 - std::panicking::try::do_call::hc868e78bbc5af2ab [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 26: 0x562e74fe9db7 - std::panicking::try::he468aede74df1b04 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 27: 0x562e74fe9db7 - std::panic::catch_unwind::hce3c9152e1cf772d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 28: 0x562e74fe9db7 - test::run_test_in_process::h9c4ab8162080cf8c [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:608:18 [INFO] [stdout] 29: 0x562e74fe9db7 - test::run_test::run_test_inner::{{closure}}::he9483433cef16afe [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:500:39 [INFO] [stdout] 30: 0x562e74fb70fe - test::run_test::run_test_inner::{{closure}}::h479f1f872a5501ea [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/test/src/lib.rs:527:37 [INFO] [stdout] 31: 0x562e74fb70fe - std::sys_common::backtrace::__rust_begin_short_backtrace::h0f1e9b1f279687bc [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys_common/backtrace.rs:123:18 [INFO] [stdout] 32: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::he5560613c5f5cb83 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:484:17 [INFO] [stdout] 33: 0x562e74fbbf28 - as core::ops::function::FnOnce<()>>::call_once::h8190a68cb05ab92f [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 34: 0x562e74fbbf28 - std::panicking::try::do_call::h6ae22f5ac22596e4 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:406:40 [INFO] [stdout] 35: 0x562e74fbbf28 - std::panicking::try::h2381c25487d6a7c2 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panicking.rs:370:19 [INFO] [stdout] 36: 0x562e74fbbf28 - std::panic::catch_unwind::hfe902f4d5c9d7b6d [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/panic.rs:133:14 [INFO] [stdout] 37: 0x562e74fbbf28 - std::thread::Builder::spawn_unchecked::{{closure}}::h547fad40771a584e [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/thread/mod.rs:483:30 [INFO] [stdout] 38: 0x562e74fbbf28 - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8602a9971738410 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 39: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::he162a5c338a10a39 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 40: 0x562e753c5763 - as core::ops::function::FnOnce>::call_once::hb27497b21740dd97 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/alloc/src/boxed.rs:1694:9 [INFO] [stdout] 41: 0x562e753c5763 - std::sys::unix::thread::Thread::new::thread_start::he467e990e49c5136 [INFO] [stdout] at /rustc/a77da2d454e6caa227a85b16410b95f93495e7e0/library/std/src/sys/unix/thread.rs:106:17 [INFO] [stdout] 42: 0x7f13bcc57609 - start_thread [INFO] [stdout] 43: 0x7f13bca27293 - clone [INFO] [stdout] 44: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] attack::affine::tests::test_brute_force_affine [INFO] [stdout] attack::affine::tests::test_brute_force_affine_mp [INFO] [stdout] attack::caesar::tests::test_brute_force_caesar [INFO] [stdout] attack::caesar::tests::test_brute_force_caesar_mp [INFO] [stdout] attack::dictionaries::tests::test_add_multiple_words [INFO] [stdout] attack::dictionaries::tests::test_cwd_word [INFO] [stdout] attack::dictionaries::tests::test_delete_language [INFO] [stdout] attack::dictionaries::tests::test_get_all_words [INFO] [stdout] attack::dictionaries::tests::test_get_dictionaries_names [INFO] [stdout] attack::dictionaries::tests::test_identify_language [INFO] [stdout] attack::dictionaries::tests::test_open_existing_dictionary [INFO] [stdout] attack::dictionaries::tests::test_populate_words_from_text_files [INFO] [stdout] attack::dictionaries::tests::test_store_word_pattern [INFO] [stdout] attack::simple_attacks::tests::test_dictionary_word_key_generator [INFO] [stdout] attack::substitution::tests::test_hack_substitution [INFO] [stdout] attack::substitution::tests::test_hack_substitution_mp [INFO] [stdout] attack::transposition::tests::test_brute_force_transposition [INFO] [stdout] attack::transposition::tests::test_brute_force_transposition_mp [INFO] [stdout] [INFO] [stdout] test result: FAILED. 60 passed; 18 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.01s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass '--lib' [INFO] running `Command { std: "docker" "inspect" "478f7770cb929863a852dab0eeee4350257481ec67b9f539827c6727303955aa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "478f7770cb929863a852dab0eeee4350257481ec67b9f539827c6727303955aa", kill_on_drop: false }` [INFO] [stdout] 478f7770cb929863a852dab0eeee4350257481ec67b9f539827c6727303955aa