[INFO] cloning repository https://github.com/optozorax/klrc [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/optozorax/klrc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foptozorax%2Fklrc", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foptozorax%2Fklrc'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1ec0e6197ee486b1653c293ca04b2a304b06e23b [INFO] checking optozorax/klrc against master#40daf23eeb711dadf140b2536e67e3ff4c999196 for pr-142287 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foptozorax%2Fklrc" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/optozorax/klrc on toolchain 40daf23eeb711dadf140b2536e67e3ff4c999196 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+40daf23eeb711dadf140b2536e67e3ff4c999196" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/optozorax/klrc [INFO] finished tweaking git repo https://github.com/optozorax/klrc [INFO] tweaked toml for git repo https://github.com/optozorax/klrc written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+40daf23eeb711dadf140b2536e67e3ff4c999196" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 27 packages to latest compatible versions [INFO] [stderr] Adding rand v0.7.3 (available: v0.9.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+40daf23eeb711dadf140b2536e67e3ff4c999196" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+40daf23eeb711dadf140b2536e67e3ff4c999196" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] bb230f97148a5fa73ef747968a52471a3b1233c91ff631ba618630c411abf102 [INFO] running `Command { std: "docker" "start" "-a" "bb230f97148a5fa73ef747968a52471a3b1233c91ff631ba618630c411abf102", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bb230f97148a5fa73ef747968a52471a3b1233c91ff631ba618630c411abf102", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bb230f97148a5fa73ef747968a52471a3b1233c91ff631ba618630c411abf102", kill_on_drop: false }` [INFO] [stdout] bb230f97148a5fa73ef747968a52471a3b1233c91ff631ba618630c411abf102 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+40daf23eeb711dadf140b2536e67e3ff4c999196" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1472e46bdcbd2b2a4c9f0c6ced9779719314c94e5ce4fb670f62780b3e905daf [INFO] running `Command { std: "docker" "start" "-a" "1472e46bdcbd2b2a4c9f0c6ced9779719314c94e5ce4fb670f62780b3e905daf", kill_on_drop: false }` [INFO] [stderr] Checking encoding_index_tests v0.1.4 [INFO] [stderr] Compiling libc v0.2.172 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Compiling zerocopy v0.8.25 [INFO] [stderr] Checking cfg-if v1.0.1 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Checking encoding-index-simpchinese v1.20141219.5 [INFO] [stderr] Checking encoding-index-korean v1.20141219.5 [INFO] [stderr] Checking encoding-index-singlebyte v1.20141219.5 [INFO] [stderr] Checking encoding-index-japanese v1.20141219.5 [INFO] [stderr] Checking encoding-index-tradchinese v1.20141219.5 [INFO] [stderr] Checking encoding v0.2.33 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking keyboard-layout-statistics-counter v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/main.rs:1161:5 [INFO] [stdout] | [INFO] [stdout] 1139 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 1161 | / let russian_keyboards: Vec<(String, Keyboard)> = vec![ [INFO] [stdout] ... | [INFO] [stdout] 1317 | | ]), [INFO] [stdout] 1318 | | ]; [INFO] [stdout] | |______^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/main.rs:1161:5 [INFO] [stdout] | [INFO] [stdout] 1139 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 1161 | / let russian_keyboards: Vec<(String, Keyboard)> = vec![ [INFO] [stdout] ... | [INFO] [stdout] 1317 | | ]), [INFO] [stdout] 1318 | | ]; [INFO] [stdout] | |______^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bad_rolls` [INFO] [stdout] --> src/main.rs:974:9 [INFO] [stdout] | [INFO] [stdout] 974 | let bad_rolls = all_bad_sum as f64 * bad_rolls; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bad_rolls` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bad_rolls` [INFO] [stdout] --> src/main.rs:974:9 [INFO] [stdout] | [INFO] [stdout] 974 | let bad_rolls = all_bad_sum as f64 * bad_rolls; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bad_rolls` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `KladenetsKeyboard` is never used [INFO] [stdout] --> src/main.rs:85:6 [INFO] [stdout] | [INFO] [stdout] 85 | type KladenetsKeyboard = [Vec; 2]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `unparse0` is never used [INFO] [stdout] --> src/main.rs:115:8 [INFO] [stdout] | [INFO] [stdout] 109 | trait KeyboardParser { [INFO] [stdout] | -------------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 115 | fn unparse0(&self, p: &Presses) -> String; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_russian_file_to_string` is never used [INFO] [stdout] --> src/main.rs:201:4 [INFO] [stdout] | [INFO] [stdout] 201 | fn read_russian_file_to_string(s: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `delete_html_tags` is never used [INFO] [stdout] --> src/main.rs:216:4 [INFO] [stdout] | [INFO] [stdout] 216 | fn delete_html_tags(s: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `delete_non_russian_letters` is never used [INFO] [stdout] --> src/main.rs:221:4 [INFO] [stdout] | [INFO] [stdout] 221 | fn delete_non_russian_letters(s: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `delete_non_english_letters` is never used [INFO] [stdout] --> src/main.rs:226:4 [INFO] [stdout] | [INFO] [stdout] 226 | fn delete_non_english_letters(s: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_books_in_dir` is never used [INFO] [stdout] --> src/main.rs:231:4 [INFO] [stdout] | [INFO] [stdout] 231 | fn read_books_in_dir(dir: String, words: &mut HashMap, is_russian: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_books` is never used [INFO] [stdout] --> src/main.rs:261:4 [INFO] [stdout] | [INFO] [stdout] 261 | fn read_books(dir: String, out: String, is_russian: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cut_statistics` is never used [INFO] [stdout] --> src/main.rs:313:4 [INFO] [stdout] | [INFO] [stdout] 313 | fn cut_statistics(stats: &Vec, size: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sort_words_hashmap` is never used [INFO] [stdout] --> src/main.rs:350:4 [INFO] [stdout] | [INFO] [stdout] 350 | fn sort_words_hashmap(hashmap: &HashMap) -> Vec<(String, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `select_best_rolls` is never used [INFO] [stdout] --> src/main.rs:671:4 [INFO] [stdout] | [INFO] [stdout] 671 | fn select_best_rolls(rolls: &Vec) -> RollSplitted { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `eval_one_handed_kladenets` is never used [INFO] [stdout] --> src/main.rs:779:4 [INFO] [stdout] | [INFO] [stdout] 779 | fn eval_one_handed_kladenets(kb: &KladenetsKeyboard, stats: &Vec) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mutate` is never used [INFO] [stdout] --> src/main.rs:853:4 [INFO] [stdout] | [INFO] [stdout] 853 | fn mutate(mut keyboard: KladenetsKeyboard, rng: &mut rand::rngs::ThreadRng) -> KladenetsKeyboard { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `manymutate` is never used [INFO] [stdout] --> src/main.rs:882:4 [INFO] [stdout] | [INFO] [stdout] 882 | fn manymutate(mut keyboard: KladenetsKeyboard, rng: &mut rand::rngs::ThreadRng) -> KladenetsKeyboard { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_optimal_kladenets_layout` is never used [INFO] [stdout] --> src/main.rs:889:4 [INFO] [stdout] | [INFO] [stdout] 889 | fn find_optimal_kladenets_layout(stats: &Vec) -> (KladenetsKeyboard, f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_vowels` is never used [INFO] [stdout] --> src/main.rs:929:4 [INFO] [stdout] | [INFO] [stdout] 929 | fn count_vowels() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `eval_kladenets_misc` is never used [INFO] [stdout] --> src/main.rs:948:4 [INFO] [stdout] | [INFO] [stdout] 948 | fn eval_kladenets_misc() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_good_rolls_percent` is never used [INFO] [stdout] --> src/main.rs:968:4 [INFO] [stdout] | [INFO] [stdout] 968 | fn count_good_rolls_percent(creature_keyboard: &Keyboard, evolution_stats: &Vec) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `KeyboardPos` is never constructed [INFO] [stdout] --> src/main.rs:981:8 [INFO] [stdout] | [INFO] [stdout] 981 | struct KeyboardPos (usize, usize, usize); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `swap` is never used [INFO] [stdout] --> src/main.rs:983:4 [INFO] [stdout] | [INFO] [stdout] 983 | fn swap(keyboard: &mut Keyboard, a: KeyboardPos, b: KeyboardPos) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `stole` is never used [INFO] [stdout] --> src/main.rs:999:4 [INFO] [stdout] | [INFO] [stdout] 999 | fn stole(keyboard: &mut Keyboard, from: KeyboardPos, to: KeyboardPos) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_random_keyboard_pos` is never used [INFO] [stdout] --> src/main.rs:1004:4 [INFO] [stdout] | [INFO] [stdout] 1004 | fn gen_random_keyboard_pos(keyboard: &Keyboard, rng: &mut rand::rngs::ThreadRng) -> KeyboardPos { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mutate_keyboard` is never used [INFO] [stdout] --> src/main.rs:1012:4 [INFO] [stdout] | [INFO] [stdout] 1012 | fn mutate_keyboard(keyboard: &Keyboard, rng: &mut rand::rngs::ThreadRng) -> Keyboard { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_best_rolls_layout_by_evolution` is never used [INFO] [stdout] --> src/main.rs:1023:4 [INFO] [stdout] | [INFO] [stdout] 1023 | fn calc_best_rolls_layout_by_evolution(creature_keyboard: &Keyboard, evolution_stats: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_best_rolls_layout` is never used [INFO] [stdout] --> src/main.rs:1062:4 [INFO] [stdout] | [INFO] [stdout] 1062 | fn calc_best_rolls_layout() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `populationSize` should have a snake case name [INFO] [stdout] --> src/main.rs:894:9 [INFO] [stdout] | [INFO] [stdout] 894 | let populationSize = 50; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `population_size` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `evolutionsCount` should have a snake case name [INFO] [stdout] --> src/main.rs:896:9 [INFO] [stdout] | [INFO] [stdout] 896 | let evolutionsCount = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evolutions_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `bestCount` should have a snake case name [INFO] [stdout] --> src/main.rs:897:9 [INFO] [stdout] | [INFO] [stdout] 897 | let bestCount = 5; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `best_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `bestChildrenCount` should have a snake case name [INFO] [stdout] --> src/main.rs:898:9 [INFO] [stdout] | [INFO] [stdout] 898 | let bestChildrenCount = populationSize/bestCount - 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `best_children_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `evaledPopulation` should have a snake case name [INFO] [stdout] --> src/main.rs:909:21 [INFO] [stdout] | [INFO] [stdout] 909 | ... let mut evaledPopulation: Vec<(KladenetsKeyboard, f64)> = population.iter().map(|k| (k.clone(), eval_one_handed_kladenets(k, &stats... [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evaled_population` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `firstEmpty` should have a snake case name [INFO] [stdout] --> src/main.rs:984:9 [INFO] [stdout] | [INFO] [stdout] 984 | let firstEmpty = keyboard[a.0][a.1].len() == 0; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `first_empty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `secondEmpty` should have a snake case name [INFO] [stdout] --> src/main.rs:985:9 [INFO] [stdout] | [INFO] [stdout] 985 | let secondEmpty = keyboard[b.0][b.1].len() == 0; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `second_empty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `KladenetsKeyboard` is never used [INFO] [stdout] --> src/main.rs:85:6 [INFO] [stdout] | [INFO] [stdout] 85 | type KladenetsKeyboard = [Vec; 2]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `unparse0` is never used [INFO] [stdout] --> src/main.rs:115:8 [INFO] [stdout] | [INFO] [stdout] 109 | trait KeyboardParser { [INFO] [stdout] | -------------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 115 | fn unparse0(&self, p: &Presses) -> String; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_russian_file_to_string` is never used [INFO] [stdout] --> src/main.rs:201:4 [INFO] [stdout] | [INFO] [stdout] 201 | fn read_russian_file_to_string(s: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `delete_html_tags` is never used [INFO] [stdout] --> src/main.rs:216:4 [INFO] [stdout] | [INFO] [stdout] 216 | fn delete_html_tags(s: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `delete_non_russian_letters` is never used [INFO] [stdout] --> src/main.rs:221:4 [INFO] [stdout] | [INFO] [stdout] 221 | fn delete_non_russian_letters(s: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `delete_non_english_letters` is never used [INFO] [stdout] --> src/main.rs:226:4 [INFO] [stdout] | [INFO] [stdout] 226 | fn delete_non_english_letters(s: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_books_in_dir` is never used [INFO] [stdout] --> src/main.rs:231:4 [INFO] [stdout] | [INFO] [stdout] 231 | fn read_books_in_dir(dir: String, words: &mut HashMap, is_russian: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_books` is never used [INFO] [stdout] --> src/main.rs:261:4 [INFO] [stdout] | [INFO] [stdout] 261 | fn read_books(dir: String, out: String, is_russian: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cut_statistics` is never used [INFO] [stdout] --> src/main.rs:313:4 [INFO] [stdout] | [INFO] [stdout] 313 | fn cut_statistics(stats: &Vec, size: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sort_words_hashmap` is never used [INFO] [stdout] --> src/main.rs:350:4 [INFO] [stdout] | [INFO] [stdout] 350 | fn sort_words_hashmap(hashmap: &HashMap) -> Vec<(String, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `select_best_rolls` is never used [INFO] [stdout] --> src/main.rs:671:4 [INFO] [stdout] | [INFO] [stdout] 671 | fn select_best_rolls(rolls: &Vec) -> RollSplitted { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `eval_one_handed_kladenets` is never used [INFO] [stdout] --> src/main.rs:779:4 [INFO] [stdout] | [INFO] [stdout] 779 | fn eval_one_handed_kladenets(kb: &KladenetsKeyboard, stats: &Vec) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mutate` is never used [INFO] [stdout] --> src/main.rs:853:4 [INFO] [stdout] | [INFO] [stdout] 853 | fn mutate(mut keyboard: KladenetsKeyboard, rng: &mut rand::rngs::ThreadRng) -> KladenetsKeyboard { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `manymutate` is never used [INFO] [stdout] --> src/main.rs:882:4 [INFO] [stdout] | [INFO] [stdout] 882 | fn manymutate(mut keyboard: KladenetsKeyboard, rng: &mut rand::rngs::ThreadRng) -> KladenetsKeyboard { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_optimal_kladenets_layout` is never used [INFO] [stdout] --> src/main.rs:889:4 [INFO] [stdout] | [INFO] [stdout] 889 | fn find_optimal_kladenets_layout(stats: &Vec) -> (KladenetsKeyboard, f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_vowels` is never used [INFO] [stdout] --> src/main.rs:929:4 [INFO] [stdout] | [INFO] [stdout] 929 | fn count_vowels() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `eval_kladenets_misc` is never used [INFO] [stdout] --> src/main.rs:948:4 [INFO] [stdout] | [INFO] [stdout] 948 | fn eval_kladenets_misc() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_good_rolls_percent` is never used [INFO] [stdout] --> src/main.rs:968:4 [INFO] [stdout] | [INFO] [stdout] 968 | fn count_good_rolls_percent(creature_keyboard: &Keyboard, evolution_stats: &Vec) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `KeyboardPos` is never constructed [INFO] [stdout] --> src/main.rs:981:8 [INFO] [stdout] | [INFO] [stdout] 981 | struct KeyboardPos (usize, usize, usize); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `swap` is never used [INFO] [stdout] --> src/main.rs:983:4 [INFO] [stdout] | [INFO] [stdout] 983 | fn swap(keyboard: &mut Keyboard, a: KeyboardPos, b: KeyboardPos) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `stole` is never used [INFO] [stdout] --> src/main.rs:999:4 [INFO] [stdout] | [INFO] [stdout] 999 | fn stole(keyboard: &mut Keyboard, from: KeyboardPos, to: KeyboardPos) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_random_keyboard_pos` is never used [INFO] [stdout] --> src/main.rs:1004:4 [INFO] [stdout] | [INFO] [stdout] 1004 | fn gen_random_keyboard_pos(keyboard: &Keyboard, rng: &mut rand::rngs::ThreadRng) -> KeyboardPos { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mutate_keyboard` is never used [INFO] [stdout] --> src/main.rs:1012:4 [INFO] [stdout] | [INFO] [stdout] 1012 | fn mutate_keyboard(keyboard: &Keyboard, rng: &mut rand::rngs::ThreadRng) -> Keyboard { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_best_rolls_layout_by_evolution` is never used [INFO] [stdout] --> src/main.rs:1023:4 [INFO] [stdout] | [INFO] [stdout] 1023 | fn calc_best_rolls_layout_by_evolution(creature_keyboard: &Keyboard, evolution_stats: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_best_rolls_layout` is never used [INFO] [stdout] --> src/main.rs:1062:4 [INFO] [stdout] | [INFO] [stdout] 1062 | fn calc_best_rolls_layout() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `populationSize` should have a snake case name [INFO] [stdout] --> src/main.rs:894:9 [INFO] [stdout] | [INFO] [stdout] 894 | let populationSize = 50; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `population_size` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `evolutionsCount` should have a snake case name [INFO] [stdout] --> src/main.rs:896:9 [INFO] [stdout] | [INFO] [stdout] 896 | let evolutionsCount = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evolutions_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `bestCount` should have a snake case name [INFO] [stdout] --> src/main.rs:897:9 [INFO] [stdout] | [INFO] [stdout] 897 | let bestCount = 5; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `best_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `bestChildrenCount` should have a snake case name [INFO] [stdout] --> src/main.rs:898:9 [INFO] [stdout] | [INFO] [stdout] 898 | let bestChildrenCount = populationSize/bestCount - 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `best_children_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `evaledPopulation` should have a snake case name [INFO] [stdout] --> src/main.rs:909:21 [INFO] [stdout] | [INFO] [stdout] 909 | ... let mut evaledPopulation: Vec<(KladenetsKeyboard, f64)> = population.iter().map(|k| (k.clone(), eval_one_handed_kladenets(k, &stats... [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `evaled_population` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `firstEmpty` should have a snake case name [INFO] [stdout] --> src/main.rs:984:9 [INFO] [stdout] | [INFO] [stdout] 984 | let firstEmpty = keyboard[a.0][a.1].len() == 0; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `first_empty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `secondEmpty` should have a snake case name [INFO] [stdout] --> src/main.rs:985:9 [INFO] [stdout] | [INFO] [stdout] 985 | let secondEmpty = keyboard[b.0][b.1].len() == 0; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `second_empty` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.52s [INFO] running `Command { std: "docker" "inspect" "1472e46bdcbd2b2a4c9f0c6ced9779719314c94e5ce4fb670f62780b3e905daf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1472e46bdcbd2b2a4c9f0c6ced9779719314c94e5ce4fb670f62780b3e905daf", kill_on_drop: false }` [INFO] [stdout] 1472e46bdcbd2b2a4c9f0c6ced9779719314c94e5ce4fb670f62780b3e905daf