[INFO] cloning repository https://github.com/staronj/Automata [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/staronj/Automata" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstaronj%2FAutomata", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstaronj%2FAutomata'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 378172f593c980ab3518a07704be5ea10d599443 [INFO] checking staronj/Automata against try#f47dd4da3ae8c32c9e65d307bfe640b143e674df for pr-77526 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstaronj%2FAutomata" "/workspace/builds/worker-2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/staronj/Automata on toolchain f47dd4da3ae8c32c9e65d307bfe640b143e674df [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/staronj/Automata [INFO] finished tweaking git repo https://github.com/staronj/Automata [INFO] tweaked toml for git repo https://github.com/staronj/Automata written to /workspace/builds/worker-2/source/Cargo.toml [INFO] crate git repo https://github.com/staronj/Automata already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded is_sorted v0.1.1 [INFO] [stderr] Downloaded multiset v0.0.5 [INFO] [stderr] Downloaded polynomial v0.1.0 [INFO] [stderr] Downloaded colorify v0.2.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8314d7fd34a89f9d5fec1799b61d14ab74744152f78f1611f44f2341e7d941ad [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "8314d7fd34a89f9d5fec1799b61d14ab74744152f78f1611f44f2341e7d941ad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8314d7fd34a89f9d5fec1799b61d14ab74744152f78f1611f44f2341e7d941ad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8314d7fd34a89f9d5fec1799b61d14ab74744152f78f1611f44f2341e7d941ad", kill_on_drop: false }` [INFO] [stdout] 8314d7fd34a89f9d5fec1799b61d14ab74744152f78f1611f44f2341e7d941ad [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 961dbfa46625b403f64de9c545e43f430c12ffb06c57b6386346103d307d884e [INFO] running `Command { std: "docker" "start" "-a" "961dbfa46625b403f64de9c545e43f430c12ffb06c57b6386346103d307d884e", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v0.1.7 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Checking nodrop v0.1.14 [INFO] [stderr] Compiling syn v1.0.7 [INFO] [stderr] Checking scopeguard v1.0.0 [INFO] [stderr] Checking rustc-serialize v0.3.24 [INFO] [stderr] Compiling failure_derive v0.1.6 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling getrandom v0.1.13 [INFO] [stderr] Compiling semver v0.1.20 [INFO] [stderr] Compiling memchr v2.2.1 [INFO] [stderr] Compiling cl-sys v0.4.2 [INFO] [stderr] Compiling ryu v1.0.2 [INFO] [stderr] Compiling rayon-core v1.6.0 [INFO] [stderr] Checking ppv-lite86 v0.2.6 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Checking either v1.5.3 [INFO] [stderr] Checking unicode-width v0.1.6 [INFO] [stderr] Checking futures v0.1.29 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking vec_map v0.8.1 [INFO] [stderr] Checking itoa v0.4.4 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking superslice v1.0.0 [INFO] [stderr] Checking colorify v0.2.3 [INFO] [stderr] Checking multiset v0.0.5 [INFO] [stderr] Checking is_sorted v0.1.1 [INFO] [stderr] Checking permutohedron v0.2.4 [INFO] [stderr] Compiling backtrace-sys v0.1.32 [INFO] [stderr] Checking crossbeam-utils v0.6.6 [INFO] [stderr] Checking thread_local v0.3.6 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Compiling rustc_version v0.1.7 [INFO] [stderr] Checking itertools v0.8.1 [INFO] [stderr] Checking arrayvec v0.4.12 [INFO] [stderr] Compiling proc-macro2 v1.0.6 [INFO] [stderr] Checking crossbeam-queue v0.1.2 [INFO] [stderr] Checking crossbeam-channel v0.3.9 [INFO] [stderr] Checking num_cpus v1.10.1 [INFO] [stderr] Checking time v0.1.42 [INFO] [stderr] Compiling num-traits v0.2.8 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Compiling num-iter v0.1.39 [INFO] [stderr] Checking clap v2.33.0 [INFO] [stderr] Checking c2-chacha v0.2.3 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking serde_json v1.0.41 [INFO] [stderr] Compiling ocl-core v0.11.2 [INFO] [stderr] Checking aho-corasick v0.7.6 [INFO] [stderr] Checking rand_chacha v0.2.1 [INFO] [stderr] Checking rand v0.7.2 [INFO] [stderr] Compiling memoffset v0.5.1 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Checking backtrace v0.3.40 [INFO] [stderr] Checking crossbeam-epoch v0.7.2 [INFO] [stderr] Checking regex v1.3.1 [INFO] [stderr] Checking crossbeam-deque v0.7.1 [INFO] [stderr] Checking num-complex v0.1.43 [INFO] [stderr] Checking num-traits v0.1.43 [INFO] [stderr] Checking polynomial v0.1.0 [INFO] [stderr] Checking crossbeam v0.7.2 [INFO] [stderr] Checking enum_primitive v0.1.1 [INFO] [stderr] Checking qutex v0.2.3 [INFO] [stderr] Checking rayon v1.2.0 [INFO] [stderr] Checking num-bigint v0.1.44 [INFO] [stderr] Checking chrono v0.4.9 [INFO] [stderr] Checking env_logger v0.5.13 [INFO] [stderr] Checking num-rational v0.1.42 [INFO] [stderr] Checking num v0.1.42 [INFO] [stderr] Checking ocl-core-vector v0.1.0 [INFO] [stderr] Compiling synstructure v0.12.1 [INFO] [stderr] Compiling serde_derive v1.0.102 [INFO] [stderr] Checking failure v0.1.6 [INFO] [stderr] Checking ocl v0.19.3 [INFO] [stderr] Checking automaton v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `duplicates_threshold` [INFO] [stdout] --> src/lib/generating_words.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | let duplicates_threshold = (words_count as f64).sqrt() as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duplicates_threshold` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/lib/find_function.rs:94:24 [INFO] [stdout] | [INFO] [stdout] 94 | fn index_into_word(index: usize) -> CompressedWord { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/lib/find_function.rs:98:24 [INFO] [stdout] | [INFO] [stdout] 98 | fn word_into_index(index: usize) -> CompressedWord { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `duplicates_threshold` [INFO] [stdout] --> src/lib/generating_words.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | let duplicates_threshold = (words_count as f64).sqrt() as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duplicates_threshold` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/lib/find_function.rs:94:24 [INFO] [stdout] | [INFO] [stdout] 94 | fn index_into_word(index: usize) -> CompressedWord { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/lib/find_function.rs:98:24 [INFO] [stdout] | [INFO] [stdout] 98 | fn word_into_index(index: usize) -> CompressedWord { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `lower_bound` [INFO] [stdout] --> src/lib/find_function.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | lower_bound: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `upper_bound` [INFO] [stdout] --> src/lib/find_function.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | upper_bound: u8 [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant is never used: `MAX_VALUE` [INFO] [stdout] --> src/lib/find_function.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | const MAX_VALUE: u8 = 255; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/lib/find_function.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | fn new() -> PossibleValue { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `preprocessed` [INFO] [stdout] --> src/lib/find_function.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | preprocessed: Vec [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `index_into_word` [INFO] [stdout] --> src/lib/find_function.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | fn index_into_word(index: usize) -> CompressedWord { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `word_into_index` [INFO] [stdout] --> src/lib/find_function.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 98 | fn word_into_index(index: usize) -> CompressedWord { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `context` [INFO] [stdout] --> src/lib/update_hashes.rs:159:5 [INFO] [stdout] | [INFO] [stdout] 159 | context: ocl::Context, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `U32_PRIME_1` [INFO] [stdout] --> src/lib/integer.rs:387:1 [INFO] [stdout] | [INFO] [stdout] 387 | const U32_PRIME_1: u32 = 0xFFFFFFFB; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `U32_PRIME_2` [INFO] [stdout] --> src/lib/integer.rs:388:1 [INFO] [stdout] | [INFO] [stdout] 388 | const U32_PRIME_2: u32 = 0xFFFFFFBF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `U64_PRIME` [INFO] [stdout] --> src/lib/integer.rs:389:1 [INFO] [stdout] | [INFO] [stdout] 389 | const U64_PRIME: u64 = 0xFFFFFFFFFFFFFFC5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 14 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `lower_bound` [INFO] [stdout] --> src/lib/find_function.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | lower_bound: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `upper_bound` [INFO] [stdout] --> src/lib/find_function.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | upper_bound: u8 [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant is never used: `MAX_VALUE` [INFO] [stdout] --> src/lib/find_function.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | const MAX_VALUE: u8 = 255; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/lib/find_function.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | fn new() -> PossibleValue { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `preprocessed` [INFO] [stdout] --> src/lib/find_function.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | preprocessed: Vec [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `index_into_word` [INFO] [stdout] --> src/lib/find_function.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | fn index_into_word(index: usize) -> CompressedWord { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `word_into_index` [INFO] [stdout] --> src/lib/find_function.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 98 | fn word_into_index(index: usize) -> CompressedWord { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `context` [INFO] [stdout] --> src/lib/update_hashes.rs:159:5 [INFO] [stdout] | [INFO] [stdout] 159 | context: ocl::Context, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `U32_PRIME_1` [INFO] [stdout] --> src/lib/integer.rs:387:1 [INFO] [stdout] | [INFO] [stdout] 387 | const U32_PRIME_1: u32 = 0xFFFFFFFB; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `U32_PRIME_2` [INFO] [stdout] --> src/lib/integer.rs:388:1 [INFO] [stdout] | [INFO] [stdout] 388 | const U32_PRIME_2: u32 = 0xFFFFFFBF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `U64_PRIME` [INFO] [stdout] --> src/lib/integer.rs:389:1 [INFO] [stdout] | [INFO] [stdout] 389 | const U64_PRIME: u64 = 0xFFFFFFFFFFFFFFC5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 14 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `automaton::CompressedWord` [INFO] [stdout] --> src/bin/generalized_chinese_remainder_theorem.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use automaton::CompressedWord; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `automaton::generating_words::compute_duplicates` [INFO] [stdout] --> src/bin/generalized_chinese_remainder_theorem.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use automaton::generating_words::compute_duplicates; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `merge_congruences`, `prime_numbers` [INFO] [stdout] --> src/bin/generalized_chinese_remainder_theorem.rs:21:32 [INFO] [stdout] | [INFO] [stdout] 21 | use automaton::number_theory::{prime_numbers, merge_congruences}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/bin/separating_words.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `automaton::CompressedWord` [INFO] [stdout] --> src/bin/generalized_chinese_remainder_theorem.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use automaton::CompressedWord; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `automaton::generating_words::compute_duplicates` [INFO] [stdout] --> src/bin/generalized_chinese_remainder_theorem.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use automaton::generating_words::compute_duplicates; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `merge_congruences`, `prime_numbers` [INFO] [stdout] --> src/bin/generalized_chinese_remainder_theorem.rs:21:32 [INFO] [stdout] | [INFO] [stdout] 21 | use automaton::number_theory::{prime_numbers, merge_congruences}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/bin/separating_words.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/bin/robson_automata.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/bin/robson_automata.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `counts` [INFO] [stdout] --> src/bin/generalized_chinese_remainder_theorem.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 209 | let mut counts: Vec<_> = distinct_elements.iter().map(|&e| { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_counts` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/generalized_chinese_remainder_theorem.rs:190:9 [INFO] [stdout] | [INFO] [stdout] 190 | let mut hashes_multiset: HashMultiSet<_> = hashes.iter().collect(); [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/bin/generalized_chinese_remainder_theorem.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 209 | let mut counts: Vec<_> = distinct_elements.iter().map(|&e| { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `signature` [INFO] [stdout] --> src/bin/generalized_chinese_remainder_theorem.rs:45:4 [INFO] [stdout] | [INFO] [stdout] 45 | fn signature(set: &BitSet, prime: u32) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `signature_hash` [INFO] [stdout] --> src/bin/generalized_chinese_remainder_theorem.rs:75:4 [INFO] [stdout] | [INFO] [stdout] 75 | fn signature_hash(set: &BitSet, prime: u32) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_from_mask` [INFO] [stdout] --> src/bin/generalized_chinese_remainder_theorem.rs:83:4 [INFO] [stdout] | [INFO] [stdout] 83 | fn set_from_mask(mut mask: u64) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `N` should have a snake case name [INFO] [stdout] --> src/bin/generalized_chinese_remainder_theorem.rs:178:9 [INFO] [stdout] | [INFO] [stdout] 178 | let N = value_t_or_exit!(matches, "N", u32); [INFO] [stdout] | ^ help: convert the identifier to snake case: `n` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `K` should have a snake case name [INFO] [stdout] --> src/bin/generalized_chinese_remainder_theorem.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 179 | let K = value_t_or_exit!(matches, "K", u32); [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `k` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 11 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `counts` [INFO] [stdout] --> src/bin/generalized_chinese_remainder_theorem.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 209 | let mut counts: Vec<_> = distinct_elements.iter().map(|&e| { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_counts` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `initialize_logging` [INFO] [stdout] --> src/bin/residua_multisets.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn initialize_logging() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `signature` [INFO] [stdout] --> src/bin/residua_multisets.rs:38:4 [INFO] [stdout] | [INFO] [stdout] 38 | fn signature(mut mask: u64, primes: &[u32]) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `calculate_hash` [INFO] [stdout] --> src/bin/residua_multisets.rs:60:4 [INFO] [stdout] | [INFO] [stdout] 60 | fn calculate_hash(t: &T) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `signature_hash` [INFO] [stdout] --> src/bin/residua_multisets.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | fn signature_hash(mask: u64, primes: &[u32]) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_from_mask` [INFO] [stdout] --> src/bin/residua_multisets.rs:70:4 [INFO] [stdout] | [INFO] [stdout] 70 | fn set_from_mask(mut mask: u64) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `print_set` [INFO] [stdout] --> src/bin/residua_multisets.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn print_set(vec: Vec) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `main2` [INFO] [stdout] --> src/bin/residua_multisets.rs:153:4 [INFO] [stdout] | [INFO] [stdout] 153 | fn main2() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `N` should have a snake case name [INFO] [stdout] --> src/bin/residua_multisets.rs:178:9 [INFO] [stdout] | [INFO] [stdout] 178 | let N = value_t_or_exit!(matches, "N", u8); [INFO] [stdout] | ^ help: convert the identifier to snake case: `n` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `MASK_RANGE` should have a snake case name [INFO] [stdout] --> src/bin/residua_multisets.rs:181:9 [INFO] [stdout] | [INFO] [stdout] 181 | let MASK_RANGE = 0 .. (1u64 << N); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `mask_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/generalized_chinese_remainder_theorem.rs:190:9 [INFO] [stdout] | [INFO] [stdout] 190 | let mut hashes_multiset: HashMultiSet<_> = hashes.iter().collect(); [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/bin/generalized_chinese_remainder_theorem.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 209 | let mut counts: Vec<_> = distinct_elements.iter().map(|&e| { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `signature` [INFO] [stdout] --> src/bin/generalized_chinese_remainder_theorem.rs:45:4 [INFO] [stdout] | [INFO] [stdout] 45 | fn signature(set: &BitSet, prime: u32) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `signature_hash` [INFO] [stdout] --> src/bin/generalized_chinese_remainder_theorem.rs:75:4 [INFO] [stdout] | [INFO] [stdout] 75 | fn signature_hash(set: &BitSet, prime: u32) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_from_mask` [INFO] [stdout] --> src/bin/generalized_chinese_remainder_theorem.rs:83:4 [INFO] [stdout] | [INFO] [stdout] 83 | fn set_from_mask(mut mask: u64) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `N` should have a snake case name [INFO] [stdout] --> src/bin/generalized_chinese_remainder_theorem.rs:178:9 [INFO] [stdout] | [INFO] [stdout] 178 | let N = value_t_or_exit!(matches, "N", u32); [INFO] [stdout] | ^ help: convert the identifier to snake case: `n` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `K` should have a snake case name [INFO] [stdout] --> src/bin/generalized_chinese_remainder_theorem.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 179 | let K = value_t_or_exit!(matches, "K", u32); [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `k` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 11 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/bin/robson_automata.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 198 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 202 | let base = automata_kernel_base(length, &modulos); [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/bin/robson_automata.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 198 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 202 | let base = automata_kernel_base(length, &modulos); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `compute_minimal_number_of_ones` [INFO] [stdout] --> src/bin/robson_automata.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | fn compute_minimal_number_of_ones(linear_space: &LinearSpace) -> BitVector { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `initialize_logging` [INFO] [stdout] --> src/bin/residua_multisets.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn initialize_logging() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `signature` [INFO] [stdout] --> src/bin/residua_multisets.rs:38:4 [INFO] [stdout] | [INFO] [stdout] 38 | fn signature(mut mask: u64, primes: &[u32]) -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `calculate_hash` [INFO] [stdout] --> src/bin/residua_multisets.rs:60:4 [INFO] [stdout] | [INFO] [stdout] 60 | fn calculate_hash(t: &T) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `signature_hash` [INFO] [stdout] --> src/bin/residua_multisets.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | fn signature_hash(mask: u64, primes: &[u32]) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `set_from_mask` [INFO] [stdout] --> src/bin/residua_multisets.rs:70:4 [INFO] [stdout] | [INFO] [stdout] 70 | fn set_from_mask(mut mask: u64) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `print_set` [INFO] [stdout] --> src/bin/residua_multisets.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn print_set(vec: Vec) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `main2` [INFO] [stdout] --> src/bin/residua_multisets.rs:153:4 [INFO] [stdout] | [INFO] [stdout] 153 | fn main2() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `N` should have a snake case name [INFO] [stdout] --> src/bin/residua_multisets.rs:178:9 [INFO] [stdout] | [INFO] [stdout] 178 | let N = value_t_or_exit!(matches, "N", u8); [INFO] [stdout] | ^ help: convert the identifier to snake case: `n` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `MASK_RANGE` should have a snake case name [INFO] [stdout] --> src/bin/residua_multisets.rs:181:9 [INFO] [stdout] | [INFO] [stdout] 181 | let MASK_RANGE = 0 .. (1u64 << N); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `mask_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `compute_minimal_number_of_ones` [INFO] [stdout] --> src/bin/robson_automata.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | fn compute_minimal_number_of_ones(linear_space: &LinearSpace) -> BitVector { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 32.70s [INFO] running `Command { std: "docker" "inspect" "961dbfa46625b403f64de9c545e43f430c12ffb06c57b6386346103d307d884e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "961dbfa46625b403f64de9c545e43f430c12ffb06c57b6386346103d307d884e", kill_on_drop: false }` [INFO] [stdout] 961dbfa46625b403f64de9c545e43f430c12ffb06c57b6386346103d307d884e