[INFO] fetching crate bitcoin-cuckoo-cache 0.1.16-alpha.0... [INFO] testing bitcoin-cuckoo-cache-0.1.16-alpha.0 against try#5a3d3b91048a0adf280e7a4e589c1dda6443f172 for pr-115235 [INFO] extracting crate bitcoin-cuckoo-cache 0.1.16-alpha.0 into /workspace/builds/worker-2-tc2/source [INFO] validating manifest of crates.io crate bitcoin-cuckoo-cache 0.1.16-alpha.0 on toolchain 5a3d3b91048a0adf280e7a4e589c1dda6443f172 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5a3d3b91048a0adf280e7a4e589c1dda6443f172" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate bitcoin-cuckoo-cache 0.1.16-alpha.0 [INFO] finished tweaking crates.io crate bitcoin-cuckoo-cache 0.1.16-alpha.0 [INFO] tweaked toml for crates.io crate bitcoin-cuckoo-cache 0.1.16-alpha.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5a3d3b91048a0adf280e7a4e589c1dda6443f172" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5a3d3b91048a0adf280e7a4e589c1dda6443f172" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:4f8da3c744d2da974e54ce020a79f4ad54313e914ebeaab8fc086f07e8d8b066" "/opt/rustwide/cargo-home/bin/cargo" "+5a3d3b91048a0adf280e7a4e589c1dda6443f172" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3eef40d3acd7d3b998a36006b74f5d86797bf39f83a786424de2dd97766fe8da [INFO] running `Command { std: "docker" "start" "-a" "3eef40d3acd7d3b998a36006b74f5d86797bf39f83a786424de2dd97766fe8da", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3eef40d3acd7d3b998a36006b74f5d86797bf39f83a786424de2dd97766fe8da", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3eef40d3acd7d3b998a36006b74f5d86797bf39f83a786424de2dd97766fe8da", kill_on_drop: false }` [INFO] [stdout] 3eef40d3acd7d3b998a36006b74f5d86797bf39f83a786424de2dd97766fe8da [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:4f8da3c744d2da974e54ce020a79f4ad54313e914ebeaab8fc086f07e8d8b066" "/opt/rustwide/cargo-home/bin/cargo" "+5a3d3b91048a0adf280e7a4e589c1dda6443f172" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d84d7fb303efe9c2ca12544a4b1cc40e518ba929497f5d6974c0356083d27aa6 [INFO] running `Command { std: "docker" "start" "-a" "d84d7fb303efe9c2ca12544a4b1cc40e518ba929497f5d6974c0356083d27aa6", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.6.3 [INFO] [stderr] Compiling regex-syntax v0.7.5 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling serde v1.0.188 [INFO] [stderr] Compiling termcolor v1.2.0 [INFO] [stderr] Compiling gimli v0.28.0 [INFO] [stderr] Compiling adler v1.0.2 [INFO] [stderr] Compiling rustc-demangle v0.1.23 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling ahash v0.7.6 [INFO] [stderr] Compiling serde_json v1.0.107 [INFO] [stderr] Compiling term v0.4.6 [INFO] [stderr] Compiling itoa v1.0.9 [INFO] [stderr] Compiling ryu v1.0.15 [INFO] [stderr] Compiling num_cpus v1.16.0 [INFO] [stderr] Compiling itertools v0.8.2 [INFO] [stderr] Compiling miniz_oxide v0.7.1 [INFO] [stderr] Compiling shell-words v0.1.0 [INFO] [stderr] Compiling dunce v1.0.4 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling pathdiff v0.1.0 [INFO] [stderr] Compiling cpp_common v0.5.9 [INFO] [stderr] Compiling term-painter v0.2.4 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling num-traits v0.2.16 [INFO] [stderr] Compiling crossbeam-utils v0.8.16 [INFO] [stderr] Compiling humantime v1.3.0 [INFO] [stderr] Compiling os_str_bytes v6.5.1 [INFO] [stderr] Compiling proc-macro-hack v0.5.20+deprecated [INFO] [stderr] Compiling libloading v0.7.4 [INFO] [stderr] Compiling bindgen v0.60.1 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Compiling hashbrown v0.12.3 [INFO] [stderr] Compiling clap_lex v0.2.4 [INFO] [stderr] Compiling textwrap v0.16.0 [INFO] [stderr] Compiling clang-sys v1.6.1 [INFO] [stderr] Compiling aho-corasick v1.0.5 [INFO] [stderr] Compiling object v0.32.1 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling memoffset v0.9.0 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling backtrace v0.3.69 [INFO] [stderr] Compiling sqlite3-src v0.2.12 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling openssl-sys v0.9.93 [INFO] [stderr] Compiling num-bigint v0.4.4 [INFO] [stderr] Compiling clap v3.2.25 [INFO] [stderr] Compiling crossbeam-epoch v0.9.15 [INFO] [stderr] Compiling siphasher v0.3.11 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling phf_shared v0.10.0 [INFO] [stderr] Compiling num-iter v0.1.43 [INFO] [stderr] Compiling num-rational v0.4.1 [INFO] [stderr] Compiling crossbeam-queue v0.3.8 [INFO] [stderr] Compiling sqlite3-sys v0.12.0 [INFO] [stderr] Compiling regex-automata v0.3.8 [INFO] [stderr] Compiling phf_generator v0.10.0 [INFO] [stderr] Compiling addr2line v0.21.0 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling libc-stdhandle v0.1.0 [INFO] [stderr] Compiling cpp_core v0.6.0 [INFO] [stderr] Compiling priority-queue v1.3.2 [INFO] [stderr] Compiling parking_lot_core v0.9.8 [INFO] [stderr] Compiling crossbeam-deque v0.8.3 [INFO] [stderr] Compiling cexpr v0.6.0 [INFO] [stderr] Compiling num-complex v0.4.4 [INFO] [stderr] Compiling crossbeam-channel v0.5.8 [INFO] [stderr] Compiling raw-cpuid v10.7.0 [INFO] [stderr] Compiling thiserror-impl v1.0.48 [INFO] [stderr] Compiling poison v0.1.0 [INFO] [stderr] Compiling static_assertions v1.1.0 [INFO] [stderr] Compiling shared-mutex v0.3.1 [INFO] [stderr] Compiling parking_lot v0.12.1 [INFO] [stderr] Compiling cpp_macros v0.5.9 [INFO] [stderr] Compiling nix v0.24.3 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling toml v0.4.10 [INFO] [stderr] Compiling deranged v0.3.8 [INFO] [stderr] Compiling multimap v0.8.3 [INFO] [stderr] Compiling serde-big-array v0.4.1 [INFO] [stderr] Compiling tinyvec v1.6.0 [INFO] [stderr] Compiling crossbeam v0.8.2 [INFO] [stderr] Compiling sqlite v0.25.3 [INFO] [stderr] Compiling sqlite3 v0.24.0 [INFO] [stderr] Compiling errno v0.2.8 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Compiling regex v1.9.5 [INFO] [stderr] Compiling num v0.4.1 [INFO] [stderr] Compiling quanta v0.9.3 [INFO] [stderr] Compiling thiserror v1.0.48 [INFO] [stderr] Compiling fs2 v0.4.3 [INFO] [stderr] Compiling pnet_sys v0.31.0 [INFO] [stderr] Compiling socket2 v0.4.9 [INFO] [stderr] Compiling time v0.3.28 [INFO] [stderr] Compiling multiset v0.0.5 [INFO] [stderr] Compiling time-point v0.1.1 [INFO] [stderr] Compiling env_logger v0.7.1 [INFO] [stderr] Compiling cpp_build v0.5.9 [INFO] [stderr] Compiling env_logger v0.9.3 [INFO] [stderr] Compiling cpp v0.5.9 [INFO] [stderr] Compiling comparator v0.3.0 [INFO] [stderr] Compiling float-ord v0.3.2 [INFO] [stderr] Compiling atomic v0.5.3 [INFO] [stderr] Compiling const-default v1.0.0 [INFO] [stderr] Compiling winapi v0.2.8 [INFO] [stderr] Compiling maplit v1.0.2 [INFO] [stderr] Compiling atomic_float v0.1.0 [INFO] [stderr] Compiling integer-encoding v3.0.4 [INFO] [stderr] Compiling indoc v1.0.9 [INFO] [stderr] Compiling atomic-take v1.1.0 [INFO] [stderr] Compiling bitset v0.1.2 [INFO] [stderr] Compiling qttypes v0.2.9 [INFO] [stderr] Compiling qmetaobject v0.2.9 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Compiling qt_macros v0.1.1 [INFO] [stderr] Compiling modular-bitfield-impl v0.11.2 [INFO] [stderr] Compiling phf_macros v0.10.0 [INFO] [stderr] Compiling qmetaobject_impl v0.2.9 [INFO] [stderr] Compiling try-catch v0.2.2 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling delegate v0.7.0 [INFO] [stderr] Compiling failure v0.1.8 [INFO] [stderr] Compiling ritual_common v0.4.0 [INFO] [stderr] Compiling phf v0.10.1 [INFO] [stderr] Compiling modular-bitfield v0.11.2 [INFO] [stderr] Compiling qt_ritual_common v0.4.0 [INFO] [stderr] Compiling ritual_build v0.4.0 [INFO] [stderr] Compiling qt_ritual_build v0.5.0 [INFO] [stderr] Compiling qt_core v0.5.0 [INFO] [stderr] Compiling qt_gui v0.5.0 [INFO] [stderr] Compiling libevent-sys v0.2.6 [INFO] [stderr] Compiling libevent v0.1.0 [INFO] [stderr] Compiling bitcoin-imports v0.1.16-alpha.0 [INFO] [stderr] Compiling bitcoin-cfg v0.1.16-alpha.0 [INFO] [stderr] Compiling bitcoin-cuckoo-cache v0.1.16-alpha.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/cuckoocache.rs:266:44 [INFO] [stdout] | [INFO] [stdout] 266 | #[inline] pub fn compute_hashes(&self, e: &Element) -> [u32; 8] { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cuckoocache.rs:312:41 [INFO] [stdout] | [INFO] [stdout] 312 | #[inline] pub fn allow_erase(&self, n: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cuckoocache.rs:333:41 [INFO] [stdout] | [INFO] [stdout] 333 | #[inline] pub fn please_keep(&self, n: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_size` [INFO] [stdout] --> src/cuckoocache.rs:411:29 [INFO] [stdout] | [INFO] [stdout] 411 | pub fn setup(&mut self, new_size: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bytes` [INFO] [stdout] --> src/cuckoocache.rs:456:35 [INFO] [stdout] | [INFO] [stdout] 456 | pub fn setup_bytes(&mut self, bytes: usize) -> u32 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/cuckoocache.rs:496:40 [INFO] [stdout] | [INFO] [stdout] 496 | #[inline] pub fn insert(&mut self, e: Element) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/cuckoocache.rs:593:9 [INFO] [stdout] | [INFO] [stdout] 593 | e: &Element, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `erase` [INFO] [stdout] --> src/cuckoocache.rs:594:9 [INFO] [stdout] | [INFO] [stdout] 594 | erase: bool) -> bool { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_erase` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/bit_packed_atomic_flags.rs:49:16 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn new(size: u32) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/bit_packed_atomic_flags.rs:78:39 [INFO] [stdout] | [INFO] [stdout] 78 | #[inline] pub fn setup(&mut self, b: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/bit_packed_atomic_flags.rs:99:41 [INFO] [stdout] | [INFO] [stdout] 99 | #[inline] pub fn bit_set(&mut self, s: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/bit_packed_atomic_flags.rs:120:43 [INFO] [stdout] | [INFO] [stdout] 120 | #[inline] pub fn bit_unset(&mut self, s: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/bit_packed_atomic_flags.rs:144:40 [INFO] [stdout] | [INFO] [stdout] 144 | #[inline] pub fn bit_is_set(&self, s: u32) -> bool { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/cuckoocache.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct Cache { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 86 | table: Vec, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | size: u32, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | collection_flags: RefCell, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | epoch_flags: RefCell>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | epoch_heuristic_counter: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | epoch_size: u32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | depth_limit: u8, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | hash_function: Hash, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `mem` is never read [INFO] [stdout] --> src/bit_packed_atomic_flags.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct BitPackedAtomicFlags { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] 27 | mem: Box>, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 15 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2m 01s [INFO] running `Command { std: "docker" "inspect" "d84d7fb303efe9c2ca12544a4b1cc40e518ba929497f5d6974c0356083d27aa6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d84d7fb303efe9c2ca12544a4b1cc40e518ba929497f5d6974c0356083d27aa6", kill_on_drop: false }` [INFO] [stdout] d84d7fb303efe9c2ca12544a4b1cc40e518ba929497f5d6974c0356083d27aa6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:4f8da3c744d2da974e54ce020a79f4ad54313e914ebeaab8fc086f07e8d8b066" "/opt/rustwide/cargo-home/bin/cargo" "+5a3d3b91048a0adf280e7a4e589c1dda6443f172" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] beeabb2c6376271746e5dbe03891db7fb5d3e36d028265188277cd6a10eff30c [INFO] running `Command { std: "docker" "start" "-a" "beeabb2c6376271746e5dbe03891db7fb5d3e36d028265188277cd6a10eff30c", kill_on_drop: false }` [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/cuckoocache.rs:266:44 [INFO] [stdout] | [INFO] [stdout] 266 | #[inline] pub fn compute_hashes(&self, e: &Element) -> [u32; 8] { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cuckoocache.rs:312:41 [INFO] [stdout] | [INFO] [stdout] 312 | #[inline] pub fn allow_erase(&self, n: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cuckoocache.rs:333:41 [INFO] [stdout] | [INFO] [stdout] 333 | #[inline] pub fn please_keep(&self, n: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_size` [INFO] [stdout] --> src/cuckoocache.rs:411:29 [INFO] [stdout] | [INFO] [stdout] 411 | pub fn setup(&mut self, new_size: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bytes` [INFO] [stdout] --> src/cuckoocache.rs:456:35 [INFO] [stdout] | [INFO] [stdout] 456 | pub fn setup_bytes(&mut self, bytes: usize) -> u32 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/cuckoocache.rs:496:40 [INFO] [stdout] | [INFO] [stdout] 496 | #[inline] pub fn insert(&mut self, e: Element) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/cuckoocache.rs:593:9 [INFO] [stdout] | [INFO] [stdout] 593 | e: &Element, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `erase` [INFO] [stdout] --> src/cuckoocache.rs:594:9 [INFO] [stdout] | [INFO] [stdout] 594 | erase: bool) -> bool { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_erase` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/bit_packed_atomic_flags.rs:49:16 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn new(size: u32) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/bit_packed_atomic_flags.rs:78:39 [INFO] [stdout] | [INFO] [stdout] 78 | #[inline] pub fn setup(&mut self, b: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/bit_packed_atomic_flags.rs:99:41 [INFO] [stdout] | [INFO] [stdout] 99 | #[inline] pub fn bit_set(&mut self, s: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/bit_packed_atomic_flags.rs:120:43 [INFO] [stdout] | [INFO] [stdout] 120 | #[inline] pub fn bit_unset(&mut self, s: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/bit_packed_atomic_flags.rs:144:40 [INFO] [stdout] | [INFO] [stdout] 144 | #[inline] pub fn bit_is_set(&self, s: u32) -> bool { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling bitcoin-cuckoo-cache v0.1.16-alpha.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/cuckoocache.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct Cache { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 86 | table: Vec, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | size: u32, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | collection_flags: RefCell, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | epoch_flags: RefCell>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | epoch_heuristic_counter: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | epoch_size: u32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | depth_limit: u8, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | hash_function: Hash, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `mem` is never read [INFO] [stdout] --> src/bit_packed_atomic_flags.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct BitPackedAtomicFlags { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] 27 | mem: Box>, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 15 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/cuckoocache.rs:266:44 [INFO] [stdout] | [INFO] [stdout] 266 | #[inline] pub fn compute_hashes(&self, e: &Element) -> [u32; 8] { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cuckoocache.rs:312:41 [INFO] [stdout] | [INFO] [stdout] 312 | #[inline] pub fn allow_erase(&self, n: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cuckoocache.rs:333:41 [INFO] [stdout] | [INFO] [stdout] 333 | #[inline] pub fn please_keep(&self, n: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_size` [INFO] [stdout] --> src/cuckoocache.rs:411:29 [INFO] [stdout] | [INFO] [stdout] 411 | pub fn setup(&mut self, new_size: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bytes` [INFO] [stdout] --> src/cuckoocache.rs:456:35 [INFO] [stdout] | [INFO] [stdout] 456 | pub fn setup_bytes(&mut self, bytes: usize) -> u32 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/cuckoocache.rs:496:40 [INFO] [stdout] | [INFO] [stdout] 496 | #[inline] pub fn insert(&mut self, e: Element) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/cuckoocache.rs:593:9 [INFO] [stdout] | [INFO] [stdout] 593 | e: &Element, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `erase` [INFO] [stdout] --> src/cuckoocache.rs:594:9 [INFO] [stdout] | [INFO] [stdout] 594 | erase: bool) -> bool { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_erase` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/bit_packed_atomic_flags.rs:49:16 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn new(size: u32) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/bit_packed_atomic_flags.rs:78:39 [INFO] [stdout] | [INFO] [stdout] 78 | #[inline] pub fn setup(&mut self, b: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/bit_packed_atomic_flags.rs:99:41 [INFO] [stdout] | [INFO] [stdout] 99 | #[inline] pub fn bit_set(&mut self, s: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/bit_packed_atomic_flags.rs:120:43 [INFO] [stdout] | [INFO] [stdout] 120 | #[inline] pub fn bit_unset(&mut self, s: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/bit_packed_atomic_flags.rs:144:40 [INFO] [stdout] | [INFO] [stdout] 144 | #[inline] pub fn bit_is_set(&self, s: u32) -> bool { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/cuckoocache.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct Cache { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 86 | table: Vec, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | size: u32, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | collection_flags: RefCell, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | epoch_flags: RefCell>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | epoch_heuristic_counter: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | epoch_size: u32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | depth_limit: u8, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | hash_function: Hash, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `mem` is never read [INFO] [stdout] --> src/bit_packed_atomic_flags.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct BitPackedAtomicFlags { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] 27 | mem: Box>, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 15 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 2.50s [INFO] running `Command { std: "docker" "inspect" "beeabb2c6376271746e5dbe03891db7fb5d3e36d028265188277cd6a10eff30c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "beeabb2c6376271746e5dbe03891db7fb5d3e36d028265188277cd6a10eff30c", kill_on_drop: false }` [INFO] [stdout] beeabb2c6376271746e5dbe03891db7fb5d3e36d028265188277cd6a10eff30c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:4f8da3c744d2da974e54ce020a79f4ad54313e914ebeaab8fc086f07e8d8b066" "/opt/rustwide/cargo-home/bin/cargo" "+5a3d3b91048a0adf280e7a4e589c1dda6443f172" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] ff0f39b58886e6a1f9af1edfd191c257f9403017e91d09066a8875a4e834e3d5 [INFO] running `Command { std: "docker" "start" "-a" "ff0f39b58886e6a1f9af1edfd191c257f9403017e91d09066a8875a4e834e3d5", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/cuckoocache.rs:266:44 [INFO] [stderr] | [INFO] [stderr] 266 | #[inline] pub fn compute_hashes(&self, e: &Element) -> [u32; 8] { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/cuckoocache.rs:312:41 [INFO] [stderr] | [INFO] [stderr] 312 | #[inline] pub fn allow_erase(&self, n: u32) { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/cuckoocache.rs:333:41 [INFO] [stderr] | [INFO] [stderr] 333 | #[inline] pub fn please_keep(&self, n: u32) { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `new_size` [INFO] [stderr] --> src/cuckoocache.rs:411:29 [INFO] [stderr] | [INFO] [stderr] 411 | pub fn setup(&mut self, new_size: u32) -> u32 { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_size` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytes` [INFO] [stderr] --> src/cuckoocache.rs:456:35 [INFO] [stderr] | [INFO] [stderr] 456 | pub fn setup_bytes(&mut self, bytes: usize) -> u32 { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/cuckoocache.rs:496:40 [INFO] [stderr] | [INFO] [stderr] 496 | #[inline] pub fn insert(&mut self, e: Element) { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/cuckoocache.rs:593:9 [INFO] [stderr] | [INFO] [stderr] 593 | e: &Element, [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `erase` [INFO] [stderr] --> src/cuckoocache.rs:594:9 [INFO] [stderr] | [INFO] [stderr] 594 | erase: bool) -> bool { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_erase` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `size` [INFO] [stderr] --> src/bit_packed_atomic_flags.rs:49:16 [INFO] [stderr] | [INFO] [stderr] 49 | pub fn new(size: u32) -> Self { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/bit_packed_atomic_flags.rs:78:39 [INFO] [stderr] | [INFO] [stderr] 78 | #[inline] pub fn setup(&mut self, b: u32) { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/bit_packed_atomic_flags.rs:99:41 [INFO] [stderr] | [INFO] [stderr] 99 | #[inline] pub fn bit_set(&mut self, s: u32) { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/bit_packed_atomic_flags.rs:120:43 [INFO] [stderr] | [INFO] [stderr] 120 | #[inline] pub fn bit_unset(&mut self, s: u32) { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/bit_packed_atomic_flags.rs:144:40 [INFO] [stderr] | [INFO] [stderr] 144 | #[inline] pub fn bit_is_set(&self, s: u32) -> bool { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: multiple fields are never read [INFO] [stderr] --> src/cuckoocache.rs:86:5 [INFO] [stderr] | [INFO] [stderr] 80 | pub struct Cache { [INFO] [stderr] | ----- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 86 | table: Vec, [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 93 | size: u32, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 102 | collection_flags: RefCell, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 112 | epoch_flags: RefCell>, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 124 | epoch_heuristic_counter: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 141 | epoch_size: u32, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 150 | depth_limit: u8, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 159 | hash_function: Hash, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field `mem` is never read [INFO] [stderr] --> src/bit_packed_atomic_flags.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 26 | pub struct BitPackedAtomicFlags { [INFO] [stderr] | -------------------- field in this struct [INFO] [stderr] 27 | mem: Box>, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: `bitcoin-cuckoo-cache` (lib) generated 15 warnings (run `cargo fix --lib -p bitcoin-cuckoo-cache` to apply 13 suggestions) [INFO] [stderr] warning: `bitcoin-cuckoo-cache` (lib test) generated 15 warnings (15 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.60s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bitcoin_cuckoo_cache-389faee89bcffab6) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests bitcoin-cuckoo-cache [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "ff0f39b58886e6a1f9af1edfd191c257f9403017e91d09066a8875a4e834e3d5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ff0f39b58886e6a1f9af1edfd191c257f9403017e91d09066a8875a4e834e3d5", kill_on_drop: false }` [INFO] [stdout] ff0f39b58886e6a1f9af1edfd191c257f9403017e91d09066a8875a4e834e3d5