[INFO] fetching crate cuckoocache 0.1.2... [INFO] checking cuckoocache-0.1.2 against try#f47dd4da3ae8c32c9e65d307bfe640b143e674df for pr-77526 [INFO] extracting crate cuckoocache 0.1.2 into /workspace/builds/worker-11/source [INFO] validating manifest of crates.io crate cuckoocache 0.1.2 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 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-11/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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] 6a75e1f931541fbd7d11ed4b39f53a89535f481fc819385da3c251a23e071ab9 [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" "6a75e1f931541fbd7d11ed4b39f53a89535f481fc819385da3c251a23e071ab9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6a75e1f931541fbd7d11ed4b39f53a89535f481fc819385da3c251a23e071ab9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6a75e1f931541fbd7d11ed4b39f53a89535f481fc819385da3c251a23e071ab9", kill_on_drop: false }` [INFO] [stdout] 6a75e1f931541fbd7d11ed4b39f53a89535f481fc819385da3c251a23e071ab9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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] [stdout] bffc72d6da6ecdf648fd1067a6ed671fbde8bbfcda00c59f5cc932289f49be0d [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" "bffc72d6da6ecdf648fd1067a6ed671fbde8bbfcda00c59f5cc932289f49be0d", kill_on_drop: false }` [INFO] [stderr] Compiling typenum v1.12.0 [INFO] [stderr] Checking byte-tools v0.3.1 [INFO] [stderr] Checking rand_core v0.4.2 [INFO] [stderr] Checking opaque-debug v0.2.3 [INFO] [stderr] Checking fake-simd v0.1.2 [INFO] [stderr] Checking cuckoocache v0.1.2 (/opt/rustwide/workdir) [INFO] [stderr] Checking block-padding v0.1.5 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking rand v0.5.6 [INFO] [stderr] Checking generic-array v0.12.3 [INFO] [stderr] Checking block-buffer v0.7.3 [INFO] [stderr] Checking digest v0.8.1 [INFO] [stderr] Checking sha2 v0.8.2 [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] = 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] [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] [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] [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] [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] [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] [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] [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] [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] [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] [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] [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] [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] [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] [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` 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] = note: `#[warn(unused_variables)]` on by default [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: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] [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: 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: function is never used: `insecure_GetRandHash` [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 `std::result::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: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `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] [stdout] warning: 31 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 7.69s [INFO] running `Command { std: "docker" "inspect" "bffc72d6da6ecdf648fd1067a6ed671fbde8bbfcda00c59f5cc932289f49be0d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bffc72d6da6ecdf648fd1067a6ed671fbde8bbfcda00c59f5cc932289f49be0d", kill_on_drop: false }` [INFO] [stdout] bffc72d6da6ecdf648fd1067a6ed671fbde8bbfcda00c59f5cc932289f49be0d