[INFO] fetching crate sharded 0.3.0...
[INFO] testing sharded-0.3.0 against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] extracting crate sharded 0.3.0 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate sharded 0.3.0
[INFO] finished tweaking crates.io crate sharded 0.3.0
[INFO] tweaked toml for crates.io crate sharded 0.3.0 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate sharded 0.3.0 on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 11 packages to latest compatible versions
[INFO] [stderr]       Adding hashbrown v0.12.3 (available: v0.16.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f714494e6b6a319055e2931a3ca1a810649a5f47eba32d437f09b8bcf896a6c3
[INFO] running `Command { std: "docker" "start" "-a" "f714494e6b6a319055e2931a3ca1a810649a5f47eba32d437f09b8bcf896a6c3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f714494e6b6a319055e2931a3ca1a810649a5f47eba32d437f09b8bcf896a6c3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f714494e6b6a319055e2931a3ca1a810649a5f47eba32d437f09b8bcf896a6c3", kill_on_drop: false }`
[INFO] [stdout] f714494e6b6a319055e2931a3ca1a810649a5f47eba32d437f09b8bcf896a6c3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 19dd0cea3d5a81b43accd8d9c3caa63d0db25759211f0143381c8d20884eb0bd
[INFO] running `Command { std: "docker" "start" "-a" "19dd0cea3d5a81b43accd8d9c3caa63d0db25759211f0143381c8d20884eb0bd", kill_on_drop: false }`
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling sharded v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:297:74
[INFO] [stdout]     |
[INFO] [stdout] 297 |     pub fn get<'a>(&'a self, key: &'a K) -> Option<MappedRwLockReadGuard<'_, V>>
[INFO] [stdout]     |                     --             -- the lifetime is named here         ^^ the same lifetime is elided here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 297 -     pub fn get<'a>(&'a self, key: &'a K) -> Option<MappedRwLockReadGuard<'_, V>>
[INFO] [stdout] 297 +     pub fn get<'a>(&'a self, key: &'a K) -> Option<MappedRwLockReadGuard<'a, V>>
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.87s
[INFO] running `Command { std: "docker" "inspect" "19dd0cea3d5a81b43accd8d9c3caa63d0db25759211f0143381c8d20884eb0bd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "19dd0cea3d5a81b43accd8d9c3caa63d0db25759211f0143381c8d20884eb0bd", kill_on_drop: false }`
[INFO] [stdout] 19dd0cea3d5a81b43accd8d9c3caa63d0db25759211f0143381c8d20884eb0bd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] de64b9c57d73cd830dbc91d4fa66dbd7f5b2e062dda66f682ce6f94ee3a0680d
[INFO] running `Command { std: "docker" "start" "-a" "de64b9c57d73cd830dbc91d4fa66dbd7f5b2e062dda66f682ce6f94ee3a0680d", kill_on_drop: false }`
[INFO] [stderr]    Compiling sharded v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:297:74
[INFO] [stdout]     |
[INFO] [stdout] 297 |     pub fn get<'a>(&'a self, key: &'a K) -> Option<MappedRwLockReadGuard<'_, V>>
[INFO] [stdout]     |                     --             -- the lifetime is named here         ^^ the same lifetime is elided here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 297 -     pub fn get<'a>(&'a self, key: &'a K) -> Option<MappedRwLockReadGuard<'_, V>>
[INFO] [stdout] 297 +     pub fn get<'a>(&'a self, key: &'a K) -> Option<MappedRwLockReadGuard<'a, V>>
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:297:74
[INFO] [stdout]     |
[INFO] [stdout] 297 |     pub fn get<'a>(&'a self, key: &'a K) -> Option<MappedRwLockReadGuard<'_, V>>
[INFO] [stdout]     |                     --             -- the lifetime is named here         ^^ the same lifetime is elided here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 297 -     pub fn get<'a>(&'a self, key: &'a K) -> Option<MappedRwLockReadGuard<'_, V>>
[INFO] [stdout] 297 +     pub fn get<'a>(&'a self, key: &'a K) -> Option<MappedRwLockReadGuard<'a, V>>
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.75s
[INFO] running `Command { std: "docker" "inspect" "de64b9c57d73cd830dbc91d4fa66dbd7f5b2e062dda66f682ce6f94ee3a0680d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "de64b9c57d73cd830dbc91d4fa66dbd7f5b2e062dda66f682ce6f94ee3a0680d", kill_on_drop: false }`
[INFO] [stdout] de64b9c57d73cd830dbc91d4fa66dbd7f5b2e062dda66f682ce6f94ee3a0680d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 6d216d6e430d5b5752486f46db941ca5db6d2f404f8091b8b2623238d6a55a60
[INFO] running `Command { std: "docker" "start" "-a" "6d216d6e430d5b5752486f46db941ca5db6d2f404f8091b8b2623238d6a55a60", kill_on_drop: false }`
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:297:74
[INFO] [stderr]     |
[INFO] [stderr] 297 |     pub fn get<'a>(&'a self, key: &'a K) -> Option<MappedRwLockReadGuard<'_, V>>
[INFO] [stderr]     |                     --             -- the lifetime is named here         ^^ the same lifetime is elided here
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 297 -     pub fn get<'a>(&'a self, key: &'a K) -> Option<MappedRwLockReadGuard<'_, V>>
[INFO] [stderr] 297 +     pub fn get<'a>(&'a self, key: &'a K) -> Option<MappedRwLockReadGuard<'a, V>>
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: `sharded` (lib) generated 1 warning (run `cargo fix --lib -p sharded` to apply 1 suggestion)
[INFO] [stderr] warning: `sharded` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sharded-e4f5e10ef0e3d238)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::test_insert_values ... ok
[INFO] [stdout] test tests::test_other_deadlock ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests sharded
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test src/lib.rs - ConcurrentHashMap<K,V,S,N>::with_capacity_and_hasher (line 222) ... FAILED
[INFO] [stdout] test src/lib.rs - ConcurrentHashMap<K,V,S,N>::with_hasher (line 191) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 42) ... FAILED
[INFO] [stdout] test src/lib.rs - IntoIter (line 364) ... FAILED
[INFO] [stdout] test src/lib.rs - ConcurrentHashMap<K,V,S,N>::get (line 288) ... FAILED
[INFO] [stdout] test src/lib.rs - ConcurrentHashMap<K,V,S,N>::capacity (line 269) ... FAILED
[INFO] [stdout] test src/lib.rs - ConcurrentHashMap<K,V,RandomState,DEFAULT_SHARD_COUNT>::with_capacity (line 159) ... ok
[INFO] [stdout] test src/lib.rs - ConcurrentHashMap<K,V,RandomState,DEFAULT_SHARD_COUNT>::new (line 146) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/lib.rs - ConcurrentHashMap<K,V,S,N>::with_capacity_and_hasher (line 222) stdout ----
[INFO] [stdout] error[E0284]: type annotations needed for `ConcurrentHashMap<i32, i32, RandomState, _>`
[INFO] [stdout]    --> src/lib.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 | let mut map = ConcurrentHashMap::with_capacity_and_hasher(10, s);
[INFO] [stdout]     |     ^^^^^^^   ----------------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] note: required by a const generic parameter in `ConcurrentHashMap`
[INFO] [stdout]    --> src/lib.rs:133:53
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub struct ConcurrentHashMap<K, V, S = RandomState, const N: usize = DEFAULT_SHARD_COUNT> {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this const generic parameter in `ConcurrentHashMap`
[INFO] [stdout] help: consider giving `map` an explicit type, where the value of const parameter `N` is specified
[INFO] [stdout]     |
[INFO] [stdout] 228 | let mut map: ConcurrentHashMap<_, _, RandomState, N> = ConcurrentHashMap::with_capacity_and_hasher(10, s);
[INFO] [stdout]     |            +++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed for `ConcurrentHashMap<i32, i32, RandomState, _>`
[INFO] [stdout]    --> src/lib.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 | let mut map = ConcurrentHashMap::with_capacity_and_hasher(10, s);
[INFO] [stdout]     |     ^^^^^^^   -------------------------------------------------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] note: required by a const generic parameter in `ConcurrentHashMap::<K, V, S, N>::with_capacity_and_hasher`
[INFO] [stdout]    --> src/lib.rs:175:28
[INFO] [stdout]     |
[INFO] [stdout] 175 | impl<K, V, S: BuildHasher, const N: usize> ConcurrentHashMap<K, V, S, N> {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^ required by this const generic parameter in `ConcurrentHashMap::<K, V, S, N>::with_capacity_and_hasher`
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn with_capacity_and_hasher(
[INFO] [stdout]     |            ------------------------ required by a bound in this associated function
[INFO] [stdout] help: consider giving `map` an explicit type, where the value of const parameter `N` is specified
[INFO] [stdout]     |
[INFO] [stdout] 228 | let mut map: ConcurrentHashMap<_, _, RandomState, N> = ConcurrentHashMap::with_capacity_and_hasher(10, s);
[INFO] [stdout]     |            +++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed for `ConcurrentHashMap<i32, i32, RandomState, _>`
[INFO] [stdout]    --> src/lib.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 | let mut map = ConcurrentHashMap::with_capacity_and_hasher(10, s);
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 229 | map.insert(1, 2);
[INFO] [stdout]     |     ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] note: required by a const generic parameter in `ConcurrentHashMap::<K, V, S, N>::insert`
[INFO] [stdout]    --> src/lib.rs:175:28
[INFO] [stdout]     |
[INFO] [stdout] 175 | impl<K, V, S: BuildHasher, const N: usize> ConcurrentHashMap<K, V, S, N> {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^ required by this const generic parameter in `ConcurrentHashMap::<K, V, S, N>::insert`
[INFO] [stdout] ...
[INFO] [stdout] 322 |     pub fn insert(&self, k: K, v: V) -> Option<V>
[INFO] [stdout]     |            ------ required by a bound in this associated function
[INFO] [stdout] help: consider giving `map` an explicit type, where the value of const parameter `N` is specified
[INFO] [stdout]     |
[INFO] [stdout] 228 | let mut map: ConcurrentHashMap<_, _, RandomState, N> = ConcurrentHashMap::with_capacity_and_hasher(10, s);
[INFO] [stdout]     |            +++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0284`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - ConcurrentHashMap<K,V,S,N>::with_hasher (line 191) stdout ----
[INFO] [stdout] error[E0284]: type annotations needed for `ConcurrentHashMap<i32, i32, RandomState, _>`
[INFO] [stdout]    --> src/lib.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 196 | let mut map = ConcurrentHashMap::with_hasher(RandomState::new());
[INFO] [stdout]     |     ^^^^^^^   ----------------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] note: required by a const generic parameter in `ConcurrentHashMap`
[INFO] [stdout]    --> src/lib.rs:133:53
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub struct ConcurrentHashMap<K, V, S = RandomState, const N: usize = DEFAULT_SHARD_COUNT> {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this const generic parameter in `ConcurrentHashMap`
[INFO] [stdout] help: consider giving `map` an explicit type, where the value of const parameter `N` is specified
[INFO] [stdout]     |
[INFO] [stdout] 196 | let mut map: ConcurrentHashMap<_, _, RandomState, N> = ConcurrentHashMap::with_hasher(RandomState::new());
[INFO] [stdout]     |            +++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed for `ConcurrentHashMap<i32, i32, RandomState, _>`
[INFO] [stdout]    --> src/lib.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 196 | let mut map = ConcurrentHashMap::with_hasher(RandomState::new());
[INFO] [stdout]     |     ^^^^^^^   -------------------------------------------------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] note: required by a const generic parameter in `ConcurrentHashMap::<K, V, S, N>::with_hasher`
[INFO] [stdout]    --> src/lib.rs:175:28
[INFO] [stdout]     |
[INFO] [stdout] 175 | impl<K, V, S: BuildHasher, const N: usize> ConcurrentHashMap<K, V, S, N> {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^ required by this const generic parameter in `ConcurrentHashMap::<K, V, S, N>::with_hasher`
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn with_hasher(hash_builder: S) -> ConcurrentHashMap<K, V, S, N>
[INFO] [stdout]     |            ----------- required by a bound in this associated function
[INFO] [stdout] help: consider giving `map` an explicit type, where the value of const parameter `N` is specified
[INFO] [stdout]     |
[INFO] [stdout] 196 | let mut map: ConcurrentHashMap<_, _, RandomState, N> = ConcurrentHashMap::with_hasher(RandomState::new());
[INFO] [stdout]     |            +++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed for `ConcurrentHashMap<i32, i32, RandomState, _>`
[INFO] [stdout]    --> src/lib.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 196 | let mut map = ConcurrentHashMap::with_hasher(RandomState::new());
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 197 | map.insert(1, 2);
[INFO] [stdout]     |     ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] note: required by a const generic parameter in `ConcurrentHashMap::<K, V, S, N>::insert`
[INFO] [stdout]    --> src/lib.rs:175:28
[INFO] [stdout]     |
[INFO] [stdout] 175 | impl<K, V, S: BuildHasher, const N: usize> ConcurrentHashMap<K, V, S, N> {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^ required by this const generic parameter in `ConcurrentHashMap::<K, V, S, N>::insert`
[INFO] [stdout] ...
[INFO] [stdout] 322 |     pub fn insert(&self, k: K, v: V) -> Option<V>
[INFO] [stdout]     |            ------ required by a bound in this associated function
[INFO] [stdout] help: consider giving `map` an explicit type, where the value of const parameter `N` is specified
[INFO] [stdout]     |
[INFO] [stdout] 196 | let mut map: ConcurrentHashMap<_, _, RandomState, N> = ConcurrentHashMap::with_hasher(RandomState::new());
[INFO] [stdout]     |            +++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0284`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 42) stdout ----
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/lib.rs:47:32
[INFO] [stdout]     |
[INFO] [stdout]  47 | assert_eq!(&"Henry", users.get(32).unwrap());
[INFO] [stdout]     |                            --- ^^ expected `&{integer}`, found integer
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/lib.rs:297:12
[INFO] [stdout]     |
[INFO] [stdout] 297 |     pub fn get<'a>(&'a self, key: &'a K) -> Option<MappedRwLockReadGuard<'_, V>>
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout]  47 | assert_eq!(&"Henry", users.get(&32).unwrap());
[INFO] [stdout]     |                                +
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `&&str` with `lock_api::rwlock::MappedRwLockReadGuard<'_, parking_lot::raw_rwlock::RawRwLock, &str>`
[INFO] [stdout]   --> src/lib.rs:47:1
[INFO] [stdout]    |
[INFO] [stdout] 47 | assert_eq!(&"Henry", users.get(32).unwrap());
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `&&str == lock_api::rwlock::MappedRwLockReadGuard<'_, parking_lot::raw_rwlock::RawRwLock, &str>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `PartialEq<lock_api::rwlock::MappedRwLockReadGuard<'_, parking_lot::raw_rwlock::RawRwLock, &str>>` is not implemented for `&&str`
[INFO] [stdout]    = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - IntoIter (line 364) stdout ----
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/lib.rs:368:35
[INFO] [stdout]     |
[INFO] [stdout] 368 |   let map = ConcurrentHashMap::from([
[INFO] [stdout]     |  ___________-----------------------_^
[INFO] [stdout]     | |           |
[INFO] [stdout]     | |           arguments to this function are incorrect
[INFO] [stdout] 369 | |     ("a", 1),
[INFO] [stdout] 370 | | ]);
[INFO] [stdout]     | |_^ expected `ConcurrentHashMap<_, _, _, _>`, found `[(&str, {integer}); 1]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `ConcurrentHashMap<_, _, _, _>`
[INFO] [stdout]                 found array `[(&str, {integer}); 1]`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/convert/mod.rs:592:7
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `into_iter` exists for struct `ConcurrentHashMap<_, _, _, _>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/lib.rs:371:16
[INFO] [stdout]     |
[INFO] [stdout] 371 | let iter = map.into_iter();
[INFO] [stdout]     |                ^^^^^^^^^ method cannot be called on `ConcurrentHashMap<_, _, _, _>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:133:1
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub struct ConcurrentHashMap<K, V, S = RandomState, const N: usize = DEFAULT_SHARD_COUNT> {
[INFO] [stdout]     | ----------------------------------------------------------------------------------------- doesn't satisfy `ConcurrentHashMap<_, _, _, _>: IntoIterator` or `ConcurrentHashMap<_, _, _, _>: Iterator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `ConcurrentHashMap<_, _, _, _>: Iterator`
[INFO] [stdout]             which is required by `ConcurrentHashMap<_, _, _, _>: IntoIterator`
[INFO] [stdout]             `&ConcurrentHashMap<_, _, _, _>: Iterator`
[INFO] [stdout]             which is required by `&ConcurrentHashMap<_, _, _, _>: IntoIterator`
[INFO] [stdout]             `&mut ConcurrentHashMap<_, _, _, _>: Iterator`
[INFO] [stdout]             which is required by `&mut ConcurrentHashMap<_, _, _, _>: IntoIterator`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - ConcurrentHashMap<K,V,S,N>::get (line 288) stdout ----
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Option<lock_api::rwlock::MappedRwLockReadGuard<'_, parking_lot::raw_rwlock::RawRwLock, &str>>`
[INFO] [stdout]    --> src/lib.rs:294:1
[INFO] [stdout]     |
[INFO] [stdout] 294 | assert_eq!(map.get(&1), Some(&"a"));
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | Option<lock_api::rwlock::MappedRwLockReadGuard<'_, parking_lot::raw_rwlock::RawRwLock, &str>>
[INFO] [stdout]     | Option<&&str>
[INFO] [stdout]     |
[INFO] [stdout] note: `Option<lock_api::rwlock::MappedRwLockReadGuard<'_, parking_lot::raw_rwlock::RawRwLock, &str>>` does not implement `PartialEq<Option<&&str>>`
[INFO] [stdout]    --> /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/option.rs:600:0
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Option<lock_api::rwlock::MappedRwLockReadGuard<'_, parking_lot::raw_rwlock::RawRwLock, &str>>` is defined in another crate
[INFO] [stdout]     = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Option<lock_api::rwlock::MappedRwLockReadGuard<'_, parking_lot::raw_rwlock::RawRwLock, &str>>`
[INFO] [stdout]     --> src/lib.rs:295:1
[INFO] [stdout]      |
[INFO] [stdout]  295 | assert_eq!(map.get(&2), None);
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      | |
[INFO] [stdout]      | Option<lock_api::rwlock::MappedRwLockReadGuard<'_, parking_lot::raw_rwlock::RawRwLock, &str>>
[INFO] [stdout]      | Option<lock_api::rwlock::MappedRwLockReadGuard<'_, parking_lot::raw_rwlock::RawRwLock, &str>>
[INFO] [stdout]      |
[INFO] [stdout] note: `lock_api::rwlock::MappedRwLockReadGuard<'_, parking_lot::raw_rwlock::RawRwLock, &str>` does not implement `PartialEq`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:2795:1
[INFO] [stdout]      |
[INFO] [stdout] 2795 | pub struct MappedRwLockReadGuard<'a, R: RawRwLock, T: ?Sized> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `lock_api::rwlock::MappedRwLockReadGuard<'_, parking_lot::raw_rwlock::RawRwLock, &str>` is defined in another crate
[INFO] [stdout]      = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0369`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - ConcurrentHashMap<K,V,S,N>::capacity (line 269) stdout ----
[INFO] [stdout] Test executable failed (exit status: 101).
[INFO] [stdout] 
[INFO] [stdout] stderr:
[INFO] [stdout] 
[INFO] [stdout] thread 'main' (104) panicked at src/lib.rs:7:1:
[INFO] [stdout] assertion failed: map.capacity() >= 100
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5fb6b1b56352 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5fb6b1b56352 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5fb6b1b56352 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5fb6b1b56352 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5fb6b1b674aa - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5fb6b1b674aa - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x5fb6b1b5a326 - std[3b51380354919863]::io::default_write_fmt::<std[3b51380354919863]::sys::stdio::unix::Stderr>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5fb6b1b5a326 - <std[3b51380354919863]::sys::stdio::unix::Stderr as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5fb6b1b40e7f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5fb6b1b40e7f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5fb6b1b52211 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:319:9
[INFO] [stdout]   11:     0x5fb6b1b523cb - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:825:13
[INFO] [stdout]   12:     0x5fb6b1b40f6a - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:691:13
[INFO] [stdout]   13:     0x5fb6b1b363e9 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   14:     0x5fb6b1b4185d - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   15:     0x5fb6b1b67b7c - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   16:     0x5fb6b1b67b42 - core[27de1724e4349be2]::panicking::panic
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:150:5
[INFO] [stdout]   17:     0x5fb6b1b1fdd4 - rust_out[8e547ba4386cb4c9]::main::_doctest_main_src_lib_rs_269_0
[INFO] [stdout]   18:     0x5fb6b1b1dd56 - rust_out[8e547ba4386cb4c9]::main
[INFO] [stdout]   19:     0x5fb6b1b20b23 - <fn() as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   20:     0x5fb6b1b1d556 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
[INFO] [stdout]   21:     0x5fb6b1b1d9c9 - std[3b51380354919863]::rt::lang_start::<()>::{closure#0}
[INFO] [stdout]   22:     0x5fb6b1b51806 - <&dyn core[27de1724e4349be2]::ops::function::Fn<(), Output = i32> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::panic::unwind_safe::RefUnwindSafe as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:287:21
[INFO] [stdout]   23:     0x5fb6b1b51806 - std[3b51380354919863]::panicking::catch_unwind::do_call::<&dyn core[27de1724e4349be2]::ops::function::Fn<(), Output = i32> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::panic::unwind_safe::RefUnwindSafe, i32>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   24:     0x5fb6b1b51806 - std[3b51380354919863]::panicking::catch_unwind::<i32, &dyn core[27de1724e4349be2]::ops::function::Fn<(), Output = i32> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::panic::unwind_safe::RefUnwindSafe>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   25:     0x5fb6b1b51806 - std[3b51380354919863]::panic::catch_unwind::<&dyn core[27de1724e4349be2]::ops::function::Fn<(), Output = i32> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::panic::unwind_safe::RefUnwindSafe, i32>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   26:     0x5fb6b1b51806 - std[3b51380354919863]::rt::lang_start_internal::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/rt.rs:175:24
[INFO] [stdout]   27:     0x5fb6b1b51806 - std[3b51380354919863]::panicking::catch_unwind::do_call::<std[3b51380354919863]::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5fb6b1b51806 - std[3b51380354919863]::panicking::catch_unwind::<isize, std[3b51380354919863]::rt::lang_start_internal::{closure#0}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5fb6b1b51806 - std[3b51380354919863]::panic::catch_unwind::<std[3b51380354919863]::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5fb6b1b51806 - std[3b51380354919863]::rt::lang_start_internal
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/rt.rs:171:5
[INFO] [stdout]   31:     0x5fb6b1b1d541 - std[3b51380354919863]::rt::lang_start::<()>
[INFO] [stdout]   32:     0x5fb6b1b20ca5 - main
[INFO] [stdout]   33:     0x70bb029a81ca - <unknown>
[INFO] [stdout]   34:     0x70bb029a828b - __libc_start_main
[INFO] [stdout]   35:     0x5fb6b1b1cba5 - _start
[INFO] [stdout]   36:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/lib.rs - (line 42)
[INFO] [stdout]     src/lib.rs - ConcurrentHashMap<K,V,S,N>::capacity (line 269)
[INFO] [stdout]     src/lib.rs - ConcurrentHashMap<K,V,S,N>::get (line 288)
[INFO] [stdout]     src/lib.rs - ConcurrentHashMap<K,V,S,N>::with_capacity_and_hasher (line 222)
[INFO] [stdout]     src/lib.rs - ConcurrentHashMap<K,V,S,N>::with_hasher (line 191)
[INFO] [stdout]     src/lib.rs - IntoIter (line 364)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 2 passed; 6 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.52s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "6d216d6e430d5b5752486f46db941ca5db6d2f404f8091b8b2623238d6a55a60", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6d216d6e430d5b5752486f46db941ca5db6d2f404f8091b8b2623238d6a55a60", kill_on_drop: false }`
[INFO] [stdout] 6d216d6e430d5b5752486f46db941ca5db6d2f404f8091b8b2623238d6a55a60
