[INFO] cloning repository https://github.com/jmagaram/keylayout [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jmagaram/keylayout" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjmagaram%2Fkeylayout", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjmagaram%2Fkeylayout'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e67e6536deb4067b715d4fc07c9f7bb5f8a6ffd9 [INFO] checking jmagaram/keylayout against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjmagaram%2Fkeylayout" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/jmagaram/keylayout on toolchain 1f12b9b0fdbe735968ac002792a720f0ba4faca6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/jmagaram/keylayout [INFO] finished tweaking git repo https://github.com/jmagaram/keylayout [INFO] tweaked toml for git repo https://github.com/jmagaram/keylayout written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/jmagaram/keylayout already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded hashlink v0.9.1 [INFO] [stderr] Downloaded thiserror v1.0.59 [INFO] [stderr] Downloaded unicode-width v0.1.12 [INFO] [stderr] Downloaded thiserror-impl v1.0.59 [INFO] [stderr] Downloaded serde_derive v1.0.200 [INFO] [stderr] Downloaded dialoguer v0.11.0 [INFO] [stderr] Downloaded textwrap v0.16.1 [INFO] [stderr] Downloaded os_str_bytes v6.6.1 [INFO] [stderr] Downloaded cc v1.0.94 [INFO] [stderr] Downloaded serde v1.0.200 [INFO] [stderr] Downloaded criterion v0.4.0 [INFO] [stderr] Downloaded clap v3.2.25 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e9f7013756eeba1a769ce62c9c2714e0fe930ebc7d894fadbcfc4d3f05bd4637 [INFO] running `Command { std: "docker" "start" "-a" "e9f7013756eeba1a769ce62c9c2714e0fe930ebc7d894fadbcfc4d3f05bd4637", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e9f7013756eeba1a769ce62c9c2714e0fe930ebc7d894fadbcfc4d3f05bd4637", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e9f7013756eeba1a769ce62c9c2714e0fe930ebc7d894fadbcfc4d3f05bd4637", kill_on_drop: false }` [INFO] [stdout] e9f7013756eeba1a769ce62c9c2714e0fe930ebc7d894fadbcfc4d3f05bd4637 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 47e6c0e8fb1d3979bcfd9d7fb9dfe237db35ccfe6bcdd24ce13458c8ba9efcde [INFO] running `Command { std: "docker" "start" "-a" "47e6c0e8fb1d3979bcfd9d7fb9dfe237db35ccfe6bcdd24ce13458c8ba9efcde", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.79 [INFO] [stderr] Compiling crossbeam-utils v0.8.19 [INFO] [stderr] Compiling serde v1.0.200 [INFO] [stderr] Compiling autocfg v1.2.0 [INFO] [stderr] Checking zerocopy v0.7.32 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Checking bitflags v2.5.0 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Checking either v1.11.0 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling serde_json v1.0.115 [INFO] [stderr] Compiling pkg-config v0.3.30 [INFO] [stderr] Compiling cc v1.0.94 [INFO] [stderr] Compiling thiserror v1.0.59 [INFO] [stderr] Compiling radium v0.7.0 [INFO] [stderr] Checking allocator-api2 v0.2.18 [INFO] [stderr] Checking memchr v2.7.2 [INFO] [stderr] Checking unicode-width v0.1.12 [INFO] [stderr] Checking fastrand v2.1.0 [INFO] [stderr] Checking wyz v0.5.1 [INFO] [stderr] Checking half v2.4.1 [INFO] [stderr] Checking regex-syntax v0.8.3 [INFO] [stderr] Checking console v0.15.8 [INFO] [stderr] Checking fallible-streaming-iterator v0.1.9 [INFO] [stderr] Compiling num-traits v0.2.18 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Checking shell-words v1.1.0 [INFO] [stderr] Checking os_str_bytes v6.6.1 [INFO] [stderr] Checking plotters-backend v0.3.5 [INFO] [stderr] Checking fallible-iterator v0.3.0 [INFO] [stderr] Checking funty v2.0.0 [INFO] [stderr] Checking ciborium-io v0.2.2 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking hashbrown v0.14.3 [INFO] [stderr] Checking clap_lex v0.2.4 [INFO] [stderr] Checking csv-core v0.1.11 [INFO] [stderr] Checking plotters-svg v0.3.5 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking crossbeam-channel v0.5.12 [INFO] [stderr] Checking crossbeam-queue v0.3.11 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking textwrap v0.16.1 [INFO] [stderr] Checking thousands v0.2.0 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Checking cast v0.3.0 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Checking clap v3.2.25 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking bitvec v1.0.1 [INFO] [stderr] Compiling syn v2.0.58 [INFO] [stderr] Checking anes v0.1.6 [INFO] [stderr] Checking rayon-core v1.12.1 [INFO] [stderr] Checking crossbeam v0.8.4 [INFO] [stderr] Checking oorandom v11.1.3 [INFO] [stderr] Checking hashlink v0.9.1 [INFO] [stderr] Compiling libsqlite3-sys v0.28.0 [INFO] [stderr] Checking regex-automata v0.4.6 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking plotters v0.3.5 [INFO] [stderr] Checking criterion-plot v0.5.0 [INFO] [stderr] Checking tempfile v3.10.1 [INFO] [stderr] Checking regex v1.10.4 [INFO] [stderr] Compiling serde_derive v1.0.200 [INFO] [stderr] Compiling thiserror-impl v1.0.59 [INFO] [stderr] Checking dialoguer v0.11.0 [INFO] [stderr] Checking csv v1.3.0 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking criterion v0.4.0 [INFO] [stderr] Checking rusqlite v0.31.0 [INFO] [stderr] Checking keylayout v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `single_key_penalties` is never read [INFO] [stdout] --> src/genetic.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 20 | struct Genetic<'a> { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 25 | single_key_penalties: &'a SingleKeyPenalties, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/genetic.rs:73:25 [INFO] [stdout] | [INFO] [stdout] 73 | self.sender.send(StatusMessage::CalculatedEstimate); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 73 | let _ = self.sender.send(StatusMessage::CalculatedEstimate); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/genetic.rs:76:25 [INFO] [stdout] | [INFO] [stdout] 76 | self.sender.send(StatusMessage::CalulatedPrecise); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 76 | let _ = self.sender.send(StatusMessage::CalulatedPrecise); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `single_key_penalties` is never read [INFO] [stdout] --> src/genetic.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 20 | struct Genetic<'a> { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 25 | single_key_penalties: &'a SingleKeyPenalties, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/genetic.rs:73:25 [INFO] [stdout] | [INFO] [stdout] 73 | self.sender.send(StatusMessage::CalculatedEstimate); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 73 | let _ = self.sender.send(StatusMessage::CalculatedEstimate); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/genetic.rs:76:25 [INFO] [stdout] | [INFO] [stdout] 76 | self.sender.send(StatusMessage::CalulatedPrecise); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 76 | let _ = self.sender.send(StatusMessage::CalulatedPrecise); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `replace_letters` is never used [INFO] [stdout] --> src/dictionary.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Dictionary { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn replace_letters(&self, find: Key, replace_with: Letter) -> Dictionary { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Custom` is never constructed [INFO] [stdout] --> src/exhaustive_n_key.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub enum DictionaryChoice { [INFO] [stdout] | ---------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 33 | Custom(Dictionary), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FillArgs` is never constructed [INFO] [stdout] --> src/exhaustive_n_key.rs:282:12 [INFO] [stdout] | [INFO] [stdout] 282 | pub struct FillArgs { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `solve` is never used [INFO] [stdout] --> src/exhaustive_n_key.rs:289:12 [INFO] [stdout] | [INFO] [stdout] 288 | impl FillArgs { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 289 | pub fn solve(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PopularLetterPairingsArgs` is never constructed [INFO] [stdout] --> src/exhaustive_n_key.rs:359:12 [INFO] [stdout] | [INFO] [stdout] 359 | pub struct PopularLetterPairingsArgs { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `solve` is never used [INFO] [stdout] --> src/exhaustive_n_key.rs:367:12 [INFO] [stdout] | [INFO] [stdout] 364 | impl PopularLetterPairingsArgs { [INFO] [stdout] | ------------------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 367 | pub fn solve(&self) -> Solution { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/frequency.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl Frequency { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 15 | pub fn new(value: f32) -> Frequency { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `single_key_penalties` is never read [INFO] [stdout] --> src/genetic.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 20 | struct Genetic<'a> { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 25 | single_key_penalties: &'a SingleKeyPenalties, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_every_letter`, `with_first_n_letters`, `random_subsets`, and `distribute` are never used [INFO] [stdout] --> src/key.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Key { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn with_every_letter() -> Key { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn with_first_n_letters(count: u8) -> Key { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn random_subsets(&self, groupings: &Vec) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 250 | pub fn distribute(&self, key_sizes: Tally) -> impl Iterator> + '_ { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RandomSubsets` is never constructed [INFO] [stdout] --> src/key.rs:381:8 [INFO] [stdout] | [INFO] [stdout] 381 | struct RandomSubsets { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DistributeLetters` is never constructed [INFO] [stdout] --> src/key.rs:406:8 [INFO] [stdout] | [INFO] [stdout] 406 | struct DistributeLetters { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `add`, `is_empty`, `children`, `dfs_include_empty`, and `dfs` are never used [INFO] [stdout] --> src/lazy_tree.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub trait Seed<'a, N, T> [INFO] [stdout] | ---- associated items in this trait [INFO] [stdout] ... [INFO] [stdout] 18 | fn add(result: T, item: N) -> T; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | fn is_empty(&self) -> bool; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | fn children(&self) -> impl Iterator + 'a; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | fn dfs_include_empty(&self) -> Box + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | fn dfs(&self) -> Box + 'a> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/letter.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl Letter { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 14 | pub fn new(char: char) -> Letter { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `pairings_to_ignore` is never read [INFO] [stdout] --> src/pairing.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Args { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] ... [INFO] [stdout] 22 | pub pairings_to_ignore: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `len` is never used [INFO] [stdout] --> src/prohibited.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Prohibited { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `save_csv` and `new` are never used [INFO] [stdout] --> src/single_key_penalties.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl SingleKeyPenalties { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn save_csv(&self) -> Result<(), csv::Error> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn new(dictionary: &Dictionary, max_key_size: u8) -> SingleKeyPenalties { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Args` is never constructed [INFO] [stdout] --> src/solution_samples.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Args<'a> { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Args` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/solution_samples.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl CsvOutput { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn new(s: &Solution, index: usize) -> CsvOutput { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `save_to_csv`, `partitions`, and `calculate` are never used [INFO] [stdout] --> src/solution_samples.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 71 | impl<'a> Args<'a> { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 72 | pub fn save_to_csv(&'a self) -> Result<(), csv::Error> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | fn partitions(&'a self) -> impl Iterator + 'a { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn calculate(&'a self) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_bits_decreasing` is never used [INFO] [stdout] --> src/util.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn set_bits_decreasing(n: u32) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `replace_letters` is never used [INFO] [stdout] --> src/word.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl Word { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn replace_letters(&self, find: impl Iterator, letter: Letter) -> Word { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `calculate`, `print`, and `save_to_csv` are never used [INFO] [stdout] --> src/word_overlap.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl WordOverlap { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 20 | pub fn calculate(dictionary: &Dictionary, max_pairs: u8) -> WordOverlap { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn print(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn save_to_csv(&self, file_name: &str) -> Result<(), csv::Error> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/genetic.rs:73:25 [INFO] [stdout] | [INFO] [stdout] 73 | self.sender.send(StatusMessage::CalculatedEstimate); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 73 | let _ = self.sender.send(StatusMessage::CalculatedEstimate); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/genetic.rs:76:25 [INFO] [stdout] | [INFO] [stdout] 76 | self.sender.send(StatusMessage::CalulatedPrecise); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 76 | let _ = self.sender.send(StatusMessage::CalulatedPrecise); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 24 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `replace_letters` is never used [INFO] [stdout] --> src/dictionary.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Dictionary { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn replace_letters(&self, find: Key, replace_with: Letter) -> Dictionary { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Custom` is never constructed [INFO] [stdout] --> src/exhaustive_n_key.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub enum DictionaryChoice { [INFO] [stdout] | ---------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 33 | Custom(Dictionary), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FillArgs` is never constructed [INFO] [stdout] --> src/exhaustive_n_key.rs:282:12 [INFO] [stdout] | [INFO] [stdout] 282 | pub struct FillArgs { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `solve` is never used [INFO] [stdout] --> src/exhaustive_n_key.rs:289:12 [INFO] [stdout] | [INFO] [stdout] 288 | impl FillArgs { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 289 | pub fn solve(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PopularLetterPairingsArgs` is never constructed [INFO] [stdout] --> src/exhaustive_n_key.rs:359:12 [INFO] [stdout] | [INFO] [stdout] 359 | pub struct PopularLetterPairingsArgs { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `solve` is never used [INFO] [stdout] --> src/exhaustive_n_key.rs:367:12 [INFO] [stdout] | [INFO] [stdout] 364 | impl PopularLetterPairingsArgs { [INFO] [stdout] | ------------------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 367 | pub fn solve(&self) -> Solution { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/frequency.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl Frequency { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 15 | pub fn new(value: f32) -> Frequency { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `single_key_penalties` is never read [INFO] [stdout] --> src/genetic.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 20 | struct Genetic<'a> { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 25 | single_key_penalties: &'a SingleKeyPenalties, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `pairings_to_ignore` is never read [INFO] [stdout] --> src/pairing.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Args { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] ... [INFO] [stdout] 22 | pub pairings_to_ignore: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `len` is never used [INFO] [stdout] --> src/prohibited.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Prohibited { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `save_csv` and `new` are never used [INFO] [stdout] --> src/single_key_penalties.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl SingleKeyPenalties { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn save_csv(&self) -> Result<(), csv::Error> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn new(dictionary: &Dictionary, max_key_size: u8) -> SingleKeyPenalties { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Args` is never constructed [INFO] [stdout] --> src/solution_samples.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Args<'a> { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Args` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/solution_samples.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl CsvOutput { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn new(s: &Solution, index: usize) -> CsvOutput { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `save_to_csv`, `partitions`, and `calculate` are never used [INFO] [stdout] --> src/solution_samples.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 71 | impl<'a> Args<'a> { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 72 | pub fn save_to_csv(&'a self) -> Result<(), csv::Error> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | fn partitions(&'a self) -> impl Iterator + 'a { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn calculate(&'a self) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `calculate`, `print`, and `save_to_csv` are never used [INFO] [stdout] --> src/word_overlap.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl WordOverlap { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 20 | pub fn calculate(dictionary: &Dictionary, max_pairs: u8) -> WordOverlap { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn print(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn save_to_csv(&self, file_name: &str) -> Result<(), csv::Error> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/genetic.rs:73:25 [INFO] [stdout] | [INFO] [stdout] 73 | self.sender.send(StatusMessage::CalculatedEstimate); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 73 | let _ = self.sender.send(StatusMessage::CalculatedEstimate); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/genetic.rs:76:25 [INFO] [stdout] | [INFO] [stdout] 76 | self.sender.send(StatusMessage::CalulatedPrecise); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 76 | let _ = self.sender.send(StatusMessage::CalulatedPrecise); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 17 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.55s [INFO] running `Command { std: "docker" "inspect" "47e6c0e8fb1d3979bcfd9d7fb9dfe237db35ccfe6bcdd24ce13458c8ba9efcde", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "47e6c0e8fb1d3979bcfd9d7fb9dfe237db35ccfe6bcdd24ce13458c8ba9efcde", kill_on_drop: false }` [INFO] [stdout] 47e6c0e8fb1d3979bcfd9d7fb9dfe237db35ccfe6bcdd24ce13458c8ba9efcde