[INFO] fetching crate cuckoocache 0.1.2... [INFO] testing cuckoocache-0.1.2 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate cuckoocache 0.1.2 into /workspace/builds/worker-4-tc1/source [INFO] started tweaking crates.io crate cuckoocache 0.1.2 [INFO] finished tweaking crates.io crate cuckoocache 0.1.2 [INFO] tweaked toml for crates.io crate cuckoocache 0.1.2 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate cuckoocache 0.1.2 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 20 packages to latest compatible versions [INFO] [stderr] Adding rand v0.5.6 (available: v0.9.1) [INFO] [stderr] Adding sha2 v0.8.2 (available: v0.10.9) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e09fb79b8a975efd57f729528fab18e7e35c950f7a4259bb1c0bc2b6932d8a5d [INFO] running `Command { std: "docker" "start" "-a" "e09fb79b8a975efd57f729528fab18e7e35c950f7a4259bb1c0bc2b6932d8a5d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e09fb79b8a975efd57f729528fab18e7e35c950f7a4259bb1c0bc2b6932d8a5d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e09fb79b8a975efd57f729528fab18e7e35c950f7a4259bb1c0bc2b6932d8a5d", kill_on_drop: false }` [INFO] [stdout] e09fb79b8a975efd57f729528fab18e7e35c950f7a4259bb1c0bc2b6932d8a5d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 52cee513b494406bbc17e49755631bdcbb9d5ef83886413402b2cbf7852e21e8 [INFO] running `Command { std: "docker" "start" "-a" "52cee513b494406bbc17e49755631bdcbb9d5ef83886413402b2cbf7852e21e8", kill_on_drop: false }` [INFO] [stderr] Compiling cuckoocache v0.1.2 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.23s [INFO] running `Command { std: "docker" "inspect" "52cee513b494406bbc17e49755631bdcbb9d5ef83886413402b2cbf7852e21e8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "52cee513b494406bbc17e49755631bdcbb9d5ef83886413402b2cbf7852e21e8", kill_on_drop: false }` [INFO] [stdout] 52cee513b494406bbc17e49755631bdcbb9d5ef83886413402b2cbf7852e21e8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] c0312f389de42968ab5400c6dae6cf54d004d67c91b8f46bc2b3d68f6ca512d2 [INFO] running `Command { std: "docker" "start" "-a" "c0312f389de42968ab5400c6dae6cf54d004d67c91b8f46bc2b3d68f6ca512d2", kill_on_drop: false }` [INFO] [stderr] Compiling byte-tools v0.3.1 [INFO] [stderr] Compiling rand_core v0.4.2 [INFO] [stderr] Compiling opaque-debug v0.2.3 [INFO] [stderr] Compiling fake-simd v0.1.2 [INFO] [stderr] Compiling generic-array v0.12.4 [INFO] [stderr] Compiling block-padding v0.1.5 [INFO] [stderr] Compiling rand_core v0.3.1 [INFO] [stderr] Compiling digest v0.8.1 [INFO] [stderr] Compiling block-buffer v0.7.3 [INFO] [stderr] Compiling rand v0.5.6 [INFO] [stderr] Compiling sha2 v0.8.2 [INFO] [stderr] Compiling cuckoocache v0.1.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::sync::RwLock` [INFO] [stdout] --> src/lib.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | use std::sync::RwLock; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lib.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 171 | /** Do the insert */ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 172 | hashes.iter().for_each(|h| set.insert(h)); [INFO] [stdout] | ----------------------------------------- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `/* */` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lib.rs:173:9 [INFO] [stdout] | [INFO] [stdout] 173 | /** Count the hits */ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 174 | let count: usize = hashes.iter().map(|h| set.contains(h, false) as usize).sum(); [INFO] [stdout] | -------------------------------------------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `/* */` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lib.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | / /** Arbitrarily selected Hit Rate threshold that happens to work for this test [INFO] [stdout] 203 | | * as a lower bound on performance. [INFO] [stdout] 204 | | */ [INFO] [stdout] | |___________^ [INFO] [stdout] 205 | let hit_rate_thresh = 0.98; [INFO] [stdout] | --------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `/* */` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lib.rs:229:9 [INFO] [stdout] | [INFO] [stdout] 229 | /** Insert the first half */ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 230 | hashes[0..(n_insert / 2)].iter().for_each(|h| set.insert(h)); [INFO] [stdout] | ------------------------------------------------------------ rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `/* */` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lib.rs:231:9 [INFO] [stdout] | [INFO] [stdout] 231 | /** Erase the first quarter */ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 232 | / hashes[0..(n_insert / 4)].iter().for_each(|h| { [INFO] [stdout] 233 | | set.contains(h, true); [INFO] [stdout] 234 | | }); [INFO] [stdout] | |__________- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `/* */` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lib.rs:235:9 [INFO] [stdout] | [INFO] [stdout] 235 | /** Insert the second half */ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 236 | hashes[(n_insert / 2)..].iter().for_each(|h| set.insert(h)); [INFO] [stdout] | ----------------------------------------------------------- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `/* */` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lib.rs:238:9 [INFO] [stdout] | [INFO] [stdout] 238 | /** elements that we marked erased but that are still there */ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 239 | / let count_erased_but_contained: usize = hashes[..(n_insert / 4)] [INFO] [stdout] 240 | | .iter() [INFO] [stdout] 241 | | .map(|h| set.contains(h, false) as usize) [INFO] [stdout] 242 | | .sum(); [INFO] [stdout] | |___________________- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `/* */` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lib.rs:243:9 [INFO] [stdout] | [INFO] [stdout] 243 | /** elements that we did not erase but are older */ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 244 | / let count_stale: usize = hashes[(n_insert / 4)..(n_insert / 2)] [INFO] [stdout] 245 | | .iter() [INFO] [stdout] 246 | | .map(|h| set.contains(h, false) as usize) [INFO] [stdout] 247 | | .sum(); [INFO] [stdout] | |___________________- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `/* */` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lib.rs:248:9 [INFO] [stdout] | [INFO] [stdout] 248 | /** elements that were most recently inserted */ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 249 | / let count_fresh: usize = hashes[(n_insert / 2)..] [INFO] [stdout] 250 | | .iter() [INFO] [stdout] 251 | | .map(|h| set.contains(h, false) as usize) [INFO] [stdout] 252 | | .sum(); [INFO] [stdout] | |___________________- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `/* */` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lib.rs:282:9 [INFO] [stdout] | [INFO] [stdout] 282 | /** Insert the first half */ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 283 | / for hash in hashes.iter().take(n_insert / 2) { [INFO] [stdout] 284 | | set.insert(hash); [INFO] [stdout] 285 | | } [INFO] [stdout] | |_________- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `/* */` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lib.rs:297:21 [INFO] [stdout] | [INFO] [stdout] 297 | /** Erase the first quarter */ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 298 | let ntodo = (n_insert / 4) / 3; [INFO] [stdout] | ------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `/* */` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lib.rs:311:9 [INFO] [stdout] | [INFO] [stdout] 311 | / /** Wait for all threads to finish [INFO] [stdout] 312 | | */ [INFO] [stdout] 313 | | /** Grab lock to make sure we observe erases */ [INFO] [stdout] 314 | | /** Insert the second half */ [INFO] [stdout] | |_____________________________________^ [INFO] [stdout] 315 | / for hash in hashes.iter().skip(n_insert / 2) { [INFO] [stdout] 316 | | Arc::get_mut(&mut set).map(|m| m.insert(hash)); [INFO] [stdout] 317 | | } [INFO] [stdout] | |_________- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `/* */` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lib.rs:319:9 [INFO] [stdout] | [INFO] [stdout] 319 | /** elements that we marked erased but that are still there */ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 320 | / let count_erased_but_contained: usize = hashes[..(n_insert / 4)] [INFO] [stdout] 321 | | .iter() [INFO] [stdout] 322 | | .map(|h| set.contains(h, false) as usize) [INFO] [stdout] 323 | | .sum(); [INFO] [stdout] | |___________________- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `/* */` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lib.rs:324:9 [INFO] [stdout] | [INFO] [stdout] 324 | /** elements that we did not erase but are older */ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 325 | / let count_stale: usize = hashes[(n_insert / 4)..(n_insert / 2)] [INFO] [stdout] 326 | | .iter() [INFO] [stdout] 327 | | .map(|h| set.contains(h, false) as usize) [INFO] [stdout] 328 | | .sum(); [INFO] [stdout] | |___________________- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `/* */` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/lib.rs:329:9 [INFO] [stdout] | [INFO] [stdout] 329 | /** elements that were most recently inserted */ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 330 | / let count_fresh: usize = hashes[(n_insert / 2)..] [INFO] [stdout] 331 | | .iter() [INFO] [stdout] 332 | | .map(|h| set.contains(h, false) as usize) [INFO] [stdout] 333 | | .sum(); [INFO] [stdout] | |___________________- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `/* */` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `block_activity` should have an upper camel case name [INFO] [stdout] --> src/lib.rs:357:12 [INFO] [stdout] | [INFO] [stdout] 357 | struct block_activity { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `BlockActivity` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:410:16 [INFO] [stdout] | [INFO] [stdout] 410 | if (last_few.len() == WINDOW_SIZE) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 410 - if (last_few.len() == WINDOW_SIZE) { [INFO] [stdout] 410 + if last_few.len() == WINDOW_SIZE { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/lib.rs:148:13 [INFO] [stdout] | [INFO] [stdout] 148 | for i in 0..100000 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/lib.rs:168:13 [INFO] [stdout] | [INFO] [stdout] 168 | for i in 0..n_insert { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/lib.rs:225:13 [INFO] [stdout] | [INFO] [stdout] 225 | for i in 0..n_insert { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/lib.rs:363:17 [INFO] [stdout] | [INFO] [stdout] 363 | for i in 0..n_insert / 4 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/lib.rs:367:17 [INFO] [stdout] | [INFO] [stdout] 367 | for i in 0..n_insert / 2 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/lib.rs:370:17 [INFO] [stdout] | [INFO] [stdout] 370 | for i in 0..n_insert / 4 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/lib.rs:409:13 [INFO] [stdout] | [INFO] [stdout] 409 | for i in 0..total { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `insecure_GetRandHash` is never used [INFO] [stdout] --> src/lib.rs:135:8 [INFO] [stdout] | [INFO] [stdout] 135 | fn insecure_GetRandHash() -> [u32; 8] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `insecure_GetRandHash` should have a snake case name [INFO] [stdout] --> src/lib.rs:135:8 [INFO] [stdout] | [INFO] [stdout] 135 | fn insecure_GetRandHash() -> [u32; 8] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `insecure_get_rand_hash` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:308:13 [INFO] [stdout] | [INFO] [stdout] 308 | thread.join(); [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] 308 | let _ = thread.join(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `BLOCK_SIZE` should have a snake case name [INFO] [stdout] --> src/lib.rs:391:13 [INFO] [stdout] | [INFO] [stdout] 391 | let BLOCK_SIZE = 1000; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `block_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `WINDOW_SIZE` should have a snake case name [INFO] [stdout] --> src/lib.rs:394:13 [INFO] [stdout] | [INFO] [stdout] 394 | let WINDOW_SIZE = 60; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `window_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `POP_AMOUNT` should have a snake case name [INFO] [stdout] --> src/lib.rs:395:13 [INFO] [stdout] | [INFO] [stdout] 395 | let POP_AMOUNT = (BLOCK_SIZE / WINDOW_SIZE) / 2; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `pop_amount` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.99s [INFO] running `Command { std: "docker" "inspect" "c0312f389de42968ab5400c6dae6cf54d004d67c91b8f46bc2b3d68f6ca512d2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c0312f389de42968ab5400c6dae6cf54d004d67c91b8f46bc2b3d68f6ca512d2", kill_on_drop: false }` [INFO] [stdout] c0312f389de42968ab5400c6dae6cf54d004d67c91b8f46bc2b3d68f6ca512d2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 920ab3da84caa43724bd7274747e57d9e119697c35339e7585b865cc2064202d [INFO] running `Command { std: "docker" "start" "-a" "920ab3da84caa43724bd7274747e57d9e119697c35339e7585b865cc2064202d", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `std::sync::RwLock` [INFO] [stderr] --> src/lib.rs:117:9 [INFO] [stderr] | [INFO] [stderr] 117 | use std::sync::RwLock; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/lib.rs:171:9 [INFO] [stderr] | [INFO] [stderr] 171 | /** Do the insert */ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 172 | hashes.iter().for_each(|h| set.insert(h)); [INFO] [stderr] | ----------------------------------------- rustdoc does not generate documentation for expressions [INFO] [stderr] | [INFO] [stderr] = help: use `/* */` for a plain comment [INFO] [stderr] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/lib.rs:173:9 [INFO] [stderr] | [INFO] [stderr] 173 | /** Count the hits */ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 174 | let count: usize = hashes.iter().map(|h| set.contains(h, false) as usize).sum(); [INFO] [stderr] | -------------------------------------------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stderr] | [INFO] [stderr] = help: use `/* */` for a plain comment [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/lib.rs:202:9 [INFO] [stderr] | [INFO] [stderr] 202 | / /** Arbitrarily selected Hit Rate threshold that happens to work for this test [INFO] [stderr] 203 | | * as a lower bound on performance. [INFO] [stderr] 204 | | */ [INFO] [stderr] | |___________^ [INFO] [stderr] 205 | let hit_rate_thresh = 0.98; [INFO] [stderr] | --------------------------- rustdoc does not generate documentation for statements [INFO] [stderr] | [INFO] [stderr] = help: use `/* */` for a plain comment [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/lib.rs:229:9 [INFO] [stderr] | [INFO] [stderr] 229 | /** Insert the first half */ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 230 | hashes[0..(n_insert / 2)].iter().for_each(|h| set.insert(h)); [INFO] [stderr] | ------------------------------------------------------------ rustdoc does not generate documentation for expressions [INFO] [stderr] | [INFO] [stderr] = help: use `/* */` for a plain comment [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/lib.rs:231:9 [INFO] [stderr] | [INFO] [stderr] 231 | /** Erase the first quarter */ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 232 | / hashes[0..(n_insert / 4)].iter().for_each(|h| { [INFO] [stderr] 233 | | set.contains(h, true); [INFO] [stderr] 234 | | }); [INFO] [stderr] | |__________- rustdoc does not generate documentation for expressions [INFO] [stderr] | [INFO] [stderr] = help: use `/* */` for a plain comment [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/lib.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | /** Insert the second half */ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 236 | hashes[(n_insert / 2)..].iter().for_each(|h| set.insert(h)); [INFO] [stderr] | ----------------------------------------------------------- rustdoc does not generate documentation for expressions [INFO] [stderr] | [INFO] [stderr] = help: use `/* */` for a plain comment [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/lib.rs:238:9 [INFO] [stderr] | [INFO] [stderr] 238 | /** elements that we marked erased but that are still there */ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 239 | / let count_erased_but_contained: usize = hashes[..(n_insert / 4)] [INFO] [stderr] 240 | | .iter() [INFO] [stderr] 241 | | .map(|h| set.contains(h, false) as usize) [INFO] [stderr] 242 | | .sum(); [INFO] [stderr] | |___________________- rustdoc does not generate documentation for statements [INFO] [stderr] | [INFO] [stderr] = help: use `/* */` for a plain comment [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/lib.rs:243:9 [INFO] [stderr] | [INFO] [stderr] 243 | /** elements that we did not erase but are older */ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 244 | / let count_stale: usize = hashes[(n_insert / 4)..(n_insert / 2)] [INFO] [stderr] 245 | | .iter() [INFO] [stderr] 246 | | .map(|h| set.contains(h, false) as usize) [INFO] [stderr] 247 | | .sum(); [INFO] [stderr] | |___________________- rustdoc does not generate documentation for statements [INFO] [stderr] | [INFO] [stderr] = help: use `/* */` for a plain comment [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/lib.rs:248:9 [INFO] [stderr] | [INFO] [stderr] 248 | /** elements that were most recently inserted */ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 249 | / let count_fresh: usize = hashes[(n_insert / 2)..] [INFO] [stderr] 250 | | .iter() [INFO] [stderr] 251 | | .map(|h| set.contains(h, false) as usize) [INFO] [stderr] 252 | | .sum(); [INFO] [stderr] | |___________________- rustdoc does not generate documentation for statements [INFO] [stderr] | [INFO] [stderr] = help: use `/* */` for a plain comment [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/lib.rs:282:9 [INFO] [stderr] | [INFO] [stderr] 282 | /** Insert the first half */ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 283 | / for hash in hashes.iter().take(n_insert / 2) { [INFO] [stderr] 284 | | set.insert(hash); [INFO] [stderr] 285 | | } [INFO] [stderr] | |_________- rustdoc does not generate documentation for expressions [INFO] [stderr] | [INFO] [stderr] = help: use `/* */` for a plain comment [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/lib.rs:297:21 [INFO] [stderr] | [INFO] [stderr] 297 | /** Erase the first quarter */ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 298 | let ntodo = (n_insert / 4) / 3; [INFO] [stderr] | ------------------------------- rustdoc does not generate documentation for statements [INFO] [stderr] | [INFO] [stderr] = help: use `/* */` for a plain comment [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/lib.rs:311:9 [INFO] [stderr] | [INFO] [stderr] 311 | / /** Wait for all threads to finish [INFO] [stderr] 312 | | */ [INFO] [stderr] 313 | | /** Grab lock to make sure we observe erases */ [INFO] [stderr] 314 | | /** Insert the second half */ [INFO] [stderr] | |_____________________________________^ [INFO] [stderr] 315 | / for hash in hashes.iter().skip(n_insert / 2) { [INFO] [stderr] 316 | | Arc::get_mut(&mut set).map(|m| m.insert(hash)); [INFO] [stderr] 317 | | } [INFO] [stderr] | |_________- rustdoc does not generate documentation for expressions [INFO] [stderr] | [INFO] [stderr] = help: use `/* */` for a plain comment [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/lib.rs:319:9 [INFO] [stderr] | [INFO] [stderr] 319 | /** elements that we marked erased but that are still there */ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 320 | / let count_erased_but_contained: usize = hashes[..(n_insert / 4)] [INFO] [stderr] 321 | | .iter() [INFO] [stderr] 322 | | .map(|h| set.contains(h, false) as usize) [INFO] [stderr] 323 | | .sum(); [INFO] [stderr] | |___________________- rustdoc does not generate documentation for statements [INFO] [stderr] | [INFO] [stderr] = help: use `/* */` for a plain comment [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/lib.rs:324:9 [INFO] [stderr] | [INFO] [stderr] 324 | /** elements that we did not erase but are older */ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 325 | / let count_stale: usize = hashes[(n_insert / 4)..(n_insert / 2)] [INFO] [stderr] 326 | | .iter() [INFO] [stderr] 327 | | .map(|h| set.contains(h, false) as usize) [INFO] [stderr] 328 | | .sum(); [INFO] [stderr] | |___________________- rustdoc does not generate documentation for statements [INFO] [stderr] | [INFO] [stderr] = help: use `/* */` for a plain comment [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/lib.rs:329:9 [INFO] [stderr] | [INFO] [stderr] 329 | /** elements that were most recently inserted */ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 330 | / let count_fresh: usize = hashes[(n_insert / 2)..] [INFO] [stderr] 331 | | .iter() [INFO] [stderr] 332 | | .map(|h| set.contains(h, false) as usize) [INFO] [stderr] 333 | | .sum(); [INFO] [stderr] | |___________________- rustdoc does not generate documentation for statements [INFO] [stderr] | [INFO] [stderr] = help: use `/* */` for a plain comment [INFO] [stderr] [INFO] [stderr] warning: type `block_activity` should have an upper camel case name [INFO] [stderr] --> src/lib.rs:357:12 [INFO] [stderr] | [INFO] [stderr] 357 | struct block_activity { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `BlockActivity` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lib.rs:410:16 [INFO] [stderr] | [INFO] [stderr] 410 | if (last_few.len() == WINDOW_SIZE) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 410 - if (last_few.len() == WINDOW_SIZE) { [INFO] [stderr] 410 + if last_few.len() == WINDOW_SIZE { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/lib.rs:148:13 [INFO] [stderr] | [INFO] [stderr] 148 | for i in 0..100000 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/lib.rs:168:13 [INFO] [stderr] | [INFO] [stderr] 168 | for i in 0..n_insert { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/lib.rs:225:13 [INFO] [stderr] | [INFO] [stderr] 225 | for i in 0..n_insert { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/lib.rs:363:17 [INFO] [stderr] | [INFO] [stderr] 363 | for i in 0..n_insert / 4 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/lib.rs:367:17 [INFO] [stderr] | [INFO] [stderr] 367 | for i in 0..n_insert / 2 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/lib.rs:370:17 [INFO] [stderr] | [INFO] [stderr] 370 | for i in 0..n_insert / 4 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/lib.rs:409:13 [INFO] [stderr] | [INFO] [stderr] 409 | for i in 0..total { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: function `insecure_GetRandHash` is never used [INFO] [stderr] --> src/lib.rs:135:8 [INFO] [stderr] | [INFO] [stderr] 135 | fn insecure_GetRandHash() -> [u32; 8] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `insecure_GetRandHash` should have a snake case name [INFO] [stderr] --> src/lib.rs:135:8 [INFO] [stderr] | [INFO] [stderr] 135 | fn insecure_GetRandHash() -> [u32; 8] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `insecure_get_rand_hash` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/lib.rs:308:13 [INFO] [stderr] | [INFO] [stderr] 308 | thread.join(); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 308 | let _ = thread.join(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: variable `BLOCK_SIZE` should have a snake case name [INFO] [stderr] --> src/lib.rs:391:13 [INFO] [stderr] | [INFO] [stderr] 391 | let BLOCK_SIZE = 1000; [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `block_size` [INFO] [stderr] [INFO] [stderr] warning: variable `WINDOW_SIZE` should have a snake case name [INFO] [stderr] --> src/lib.rs:394:13 [INFO] [stderr] | [INFO] [stderr] 394 | let WINDOW_SIZE = 60; [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `window_size` [INFO] [stderr] [INFO] [stderr] warning: variable `POP_AMOUNT` should have a snake case name [INFO] [stderr] --> src/lib.rs:395:13 [INFO] [stderr] | [INFO] [stderr] 395 | let POP_AMOUNT = (BLOCK_SIZE / WINDOW_SIZE) / 2; [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `pop_amount` [INFO] [stderr] [INFO] [stderr] warning: `cuckoocache` (lib test) generated 31 warnings (run `cargo fix --lib -p cuckoocache --tests` to apply 2 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/cuckoocache-a78b59d05b165c98) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test tests::basic_cache_works ... ok [INFO] [stdout] test tests::cuckoocache_erase_parallel_ok ... ok [INFO] [stdout] test tests::test_cuckoocache_no_fakes ... ok [INFO] [stdout] test tests::cuckoocache_erase_ok ... ok [INFO] [stdout] test tests::cuckoocache_hit_rate_ok ... ok [INFO] [stdout] test tests::test_cache_generations ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 36.99s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "920ab3da84caa43724bd7274747e57d9e119697c35339e7585b865cc2064202d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "920ab3da84caa43724bd7274747e57d9e119697c35339e7585b865cc2064202d", kill_on_drop: false }` [INFO] [stdout] 920ab3da84caa43724bd7274747e57d9e119697c35339e7585b865cc2064202d