[INFO] fetching crate memory-db 0.15.2... [INFO] checking memory-db-0.15.2 against try#ea663bba38739867a4b75ac820991b4f5d093c3b for pr-62262-1 [INFO] extracting crate memory-db 0.15.2 into /workspace/builds/worker-12/source [INFO] validating manifest of crates.io crate memory-db 0.15.2 on toolchain ea663bba38739867a4b75ac820991b4f5d093c3b [INFO] running `"/workspace/cargo-home/bin/cargo" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking crates.io crate memory-db 0.15.2 [INFO] finished tweaking crates.io crate memory-db 0.15.2 [INFO] tweaked toml for crates.io crate memory-db 0.15.2 written to /workspace/builds/worker-12/source/Cargo.toml [INFO] running `"/workspace/cargo-home/bin/cargo" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/workspace/cargo-home/bin/cargo" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded parity-util-mem v0.2.0 [INFO] [stderr] Downloaded hash-db v0.15.2 [INFO] [stderr] Downloaded hash256-std-hasher v0.15.2 [INFO] [stderr] Downloaded keccak-hasher v0.15.2 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 8743ffd2f6cd36035138fa2e0ff8bbd76cecd4402f27dfceb1ded2b12d0d0bc8 [INFO] running `"docker" "start" "-a" "8743ffd2f6cd36035138fa2e0ff8bbd76cecd4402f27dfceb1ded2b12d0d0bc8"` [INFO] [stderr] Checking hash-db v0.15.2 [INFO] [stderr] Compiling c2-chacha v0.2.2 [INFO] [stderr] Compiling hashbrown v0.6.1 [INFO] [stderr] Compiling getrandom v0.1.12 [INFO] [stderr] Checking hash256-std-hasher v0.15.2 [INFO] [stderr] Compiling malloc_size_of_derive v0.1.1 [INFO] [stderr] Checking criterion v0.2.11 [INFO] [stderr] Checking keccak-hasher v0.15.2 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling rand_chacha v0.2.1 [INFO] [stderr] Compiling rand v0.7.2 [INFO] [stderr] Checking parity-util-mem v0.2.0 [INFO] [stderr] Compiling const-random-macro v0.1.6 [INFO] [stderr] Checking const-random v0.1.6 [INFO] [stderr] Checking ahash v0.2.16 [INFO] [stderr] Checking memory-db v0.15.2 (/opt/rustwide/workdir) [INFO] [stderr] error[E0373]: closure may outlive the current function, but it borrows `key`, which is owned by the current function [INFO] [stderr] --> benches/bench.rs:42:57 [INFO] [stderr] | [INFO] [stderr] 42 | b.bench_function("compare_to_null_embedded_in_struct", |b| b.iter(|| { [INFO] [stderr] | ^^^ may outlive borrowed value `key` [INFO] [stderr] 43 | black_box(key == x.a_hash); [INFO] [stderr] | --- `key` is borrowed here [INFO] [stderr] | [INFO] [stderr] note: function requires argument type to outlive `'static` [INFO] [stderr] --> benches/bench.rs:42:2 [INFO] [stderr] | [INFO] [stderr] 42 | b.bench_function("compare_to_null_embedded_in_struct", |b| b.iter(|| { [INFO] [stderr] | _____^ [INFO] [stderr] 43 | | black_box(key == x.a_hash); [INFO] [stderr] 44 | | })); [INFO] [stderr] | |_______^ [INFO] [stderr] help: to force the closure to take ownership of `key` (and any other referenced variables), use the `move` keyword [INFO] [stderr] | [INFO] [stderr] 42 | b.bench_function("compare_to_null_embedded_in_struct", move |b| b.iter(|| { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0373]: closure may outlive the current function, but it borrows `x`, which is owned by the current function [INFO] [stderr] --> benches/bench.rs:42:57 [INFO] [stderr] | [INFO] [stderr] 42 | b.bench_function("compare_to_null_embedded_in_struct", |b| b.iter(|| { [INFO] [stderr] | ^^^ may outlive borrowed value `x` [INFO] [stderr] 43 | black_box(key == x.a_hash); [INFO] [stderr] | - `x` is borrowed here [INFO] [stderr] | [INFO] [stderr] note: function requires argument type to outlive `'static` [INFO] [stderr] --> benches/bench.rs:42:2 [INFO] [stderr] | [INFO] [stderr] 42 | b.bench_function("compare_to_null_embedded_in_struct", |b| b.iter(|| { [INFO] [stderr] | _____^ [INFO] [stderr] 43 | | black_box(key == x.a_hash); [INFO] [stderr] 44 | | })); [INFO] [stderr] | |_______^ [INFO] [stderr] help: to force the closure to take ownership of `x` (and any other referenced variables), use the `move` keyword [INFO] [stderr] | [INFO] [stderr] 42 | b.bench_function("compare_to_null_embedded_in_struct", move |b| b.iter(|| { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0373]: closure may outlive the current function, but it borrows `key`, which is owned by the current function [INFO] [stderr] --> benches/bench.rs:50:47 [INFO] [stderr] | [INFO] [stderr] 50 | b.bench_function("compare_to_null_in_const", |b| b.iter(|| { [INFO] [stderr] | ^^^ may outlive borrowed value `key` [INFO] [stderr] 51 | black_box(key == [0u8; 32]); [INFO] [stderr] | --- `key` is borrowed here [INFO] [stderr] | [INFO] [stderr] note: function requires argument type to outlive `'static` [INFO] [stderr] --> benches/bench.rs:50:2 [INFO] [stderr] | [INFO] [stderr] 50 | b.bench_function("compare_to_null_in_const", |b| b.iter(|| { [INFO] [stderr] | _____^ [INFO] [stderr] 51 | | black_box(key == [0u8; 32]); [INFO] [stderr] 52 | | })); [INFO] [stderr] | |_______^ [INFO] [stderr] help: to force the closure to take ownership of `key` (and any other referenced variables), use the `move` keyword [INFO] [stderr] | [INFO] [stderr] 50 | b.bench_function("compare_to_null_in_const", move |b| b.iter(|| { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0373]: closure may outlive the current function, but it borrows `m`, which is owned by the current function [INFO] [stderr] --> benches/bench.rs:59:49 [INFO] [stderr] | [INFO] [stderr] 59 | b.bench_function("contains_with_non_null_key", |b| b.iter(|| { [INFO] [stderr] | ^^^ may outlive borrowed value `m` [INFO] [stderr] 60 | m.contains(&key, EMPTY_PREFIX); [INFO] [stderr] | - `m` is borrowed here [INFO] [stderr] | [INFO] [stderr] note: function requires argument type to outlive `'static` [INFO] [stderr] --> benches/bench.rs:59:2 [INFO] [stderr] | [INFO] [stderr] 59 | b.bench_function("contains_with_non_null_key", |b| b.iter(|| { [INFO] [stderr] | _____^ [INFO] [stderr] 60 | | m.contains(&key, EMPTY_PREFIX); [INFO] [stderr] 61 | | })); [INFO] [stderr] | |_______^ [INFO] [stderr] help: to force the closure to take ownership of `m` (and any other referenced variables), use the `move` keyword [INFO] [stderr] | [INFO] [stderr] 59 | b.bench_function("contains_with_non_null_key", move |b| b.iter(|| { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0373]: closure may outlive the current function, but it borrows `key`, which is owned by the current function [INFO] [stderr] --> benches/bench.rs:59:49 [INFO] [stderr] | [INFO] [stderr] 59 | b.bench_function("contains_with_non_null_key", |b| b.iter(|| { [INFO] [stderr] | ^^^ may outlive borrowed value `key` [INFO] [stderr] 60 | m.contains(&key, EMPTY_PREFIX); [INFO] [stderr] | --- `key` is borrowed here [INFO] [stderr] | [INFO] [stderr] note: function requires argument type to outlive `'static` [INFO] [stderr] --> benches/bench.rs:59:2 [INFO] [stderr] | [INFO] [stderr] 59 | b.bench_function("contains_with_non_null_key", |b| b.iter(|| { [INFO] [stderr] | _____^ [INFO] [stderr] 60 | | m.contains(&key, EMPTY_PREFIX); [INFO] [stderr] 61 | | })); [INFO] [stderr] | |_______^ [INFO] [stderr] help: to force the closure to take ownership of `key` (and any other referenced variables), use the `move` keyword [INFO] [stderr] | [INFO] [stderr] 59 | b.bench_function("contains_with_non_null_key", move |b| b.iter(|| { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0373]: closure may outlive the current function, but it borrows `m`, which is owned by the current function [INFO] [stderr] --> benches/bench.rs:68:45 [INFO] [stderr] | [INFO] [stderr] 68 | b.bench_function("contains_with_null_key", |b| b.iter(|| { [INFO] [stderr] | ^^^ may outlive borrowed value `m` [INFO] [stderr] 69 | m.contains(&null_key, EMPTY_PREFIX); [INFO] [stderr] | - `m` is borrowed here [INFO] [stderr] | [INFO] [stderr] note: function requires argument type to outlive `'static` [INFO] [stderr] --> benches/bench.rs:68:2 [INFO] [stderr] | [INFO] [stderr] 68 | b.bench_function("contains_with_null_key", |b| b.iter(|| { [INFO] [stderr] | _____^ [INFO] [stderr] 69 | | m.contains(&null_key, EMPTY_PREFIX); [INFO] [stderr] 70 | | })); [INFO] [stderr] | |_______^ [INFO] [stderr] help: to force the closure to take ownership of `m` (and any other referenced variables), use the `move` keyword [INFO] [stderr] | [INFO] [stderr] 68 | b.bench_function("contains_with_null_key", move |b| b.iter(|| { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0373]: closure may outlive the current function, but it borrows `null_key`, which is owned by the current function [INFO] [stderr] --> benches/bench.rs:68:45 [INFO] [stderr] | [INFO] [stderr] 68 | b.bench_function("contains_with_null_key", |b| b.iter(|| { [INFO] [stderr] | ^^^ may outlive borrowed value `null_key` [INFO] [stderr] 69 | m.contains(&null_key, EMPTY_PREFIX); [INFO] [stderr] | -------- `null_key` is borrowed here [INFO] [stderr] | [INFO] [stderr] note: function requires argument type to outlive `'static` [INFO] [stderr] --> benches/bench.rs:68:2 [INFO] [stderr] | [INFO] [stderr] 68 | b.bench_function("contains_with_null_key", |b| b.iter(|| { [INFO] [stderr] | _____^ [INFO] [stderr] 69 | | m.contains(&null_key, EMPTY_PREFIX); [INFO] [stderr] 70 | | })); [INFO] [stderr] | |_______^ [INFO] [stderr] help: to force the closure to take ownership of `null_key` (and any other referenced variables), use the `move` keyword [INFO] [stderr] | [INFO] [stderr] 68 | b.bench_function("contains_with_null_key", move |b| b.iter(|| { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 7 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0373`. [INFO] [stderr] error: could not compile `memory-db`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "8743ffd2f6cd36035138fa2e0ff8bbd76cecd4402f27dfceb1ded2b12d0d0bc8"` [INFO] running `"docker" "rm" "-f" "8743ffd2f6cd36035138fa2e0ff8bbd76cecd4402f27dfceb1ded2b12d0d0bc8"` [INFO] [stdout] 8743ffd2f6cd36035138fa2e0ff8bbd76cecd4402f27dfceb1ded2b12d0d0bc8