[INFO] fetching crate shared-mutex 0.3.1...
[INFO] testing shared-mutex-0.3.1 against 1.95.0 for beta-1.96-2
[INFO] extracting crate shared-mutex 0.3.1 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate shared-mutex 0.3.1
[INFO] finished tweaking crates.io crate shared-mutex 0.3.1
[INFO] tweaked toml for crates.io crate shared-mutex 0.3.1 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate shared-mutex 0.3.1 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "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" "+1.95.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 5 packages to latest compatible versions
[INFO] [stderr]       Adding scoped-pool v0.1.10 (available: v1.0.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded scoped-pool v0.1.10
[INFO] [stderr]   Downloaded poison v0.1.0
[INFO] [stderr]   Downloaded scopeguard v0.1.2
[INFO] [stderr]   Downloaded variance v0.1.3
[INFO] [stderr]   Downloaded crossbeam v0.2.12
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0b3725148e32e5b6621d14a4d466f497df585bf73fbbd10a2354d668fdfcbb65
[INFO] running `Command { std: "docker" "start" "-a" "0b3725148e32e5b6621d14a4d466f497df585bf73fbbd10a2354d668fdfcbb65", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0b3725148e32e5b6621d14a4d466f497df585bf73fbbd10a2354d668fdfcbb65", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0b3725148e32e5b6621d14a4d466f497df585bf73fbbd10a2354d668fdfcbb65", kill_on_drop: false }`
[INFO] [stdout] 0b3725148e32e5b6621d14a4d466f497df585bf73fbbd10a2354d668fdfcbb65
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 447ed511fcbe698ccc9478fada17cc5a1294cf5739874f2ad58774f77499ff21
[INFO] running `Command { std: "docker" "start" "-a" "447ed511fcbe698ccc9478fada17cc5a1294cf5739874f2ad58774f77499ff21", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling poison v0.1.0
[INFO] [stderr]    Compiling shared-mutex v0.3.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lib.rs:80:16
[INFO] [stdout]    |
[INFO] [stdout] 80 |             Ok(try!(unsafe { SharedMutexReadGuard::new(self) }))
[INFO] [stdout]    |                ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lib.rs:92:16
[INFO] [stdout]    |
[INFO] [stdout] 92 |             Ok(try!(unsafe { SharedMutexWriteGuard::new(self) }))
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/lib.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |         unsafe { self.data.into_inner().into_inner() }
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:62:18
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn write(&self) -> LockResult<SharedMutexWriteGuard<T>> {
[INFO] [stdout]    |                  ^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided 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: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn write(&self) -> LockResult<SharedMutexWriteGuard<'_, T>> {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn read(&self) -> LockResult<SharedMutexReadGuard<T>> {
[INFO] [stdout]    |                 ^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn read(&self) -> LockResult<SharedMutexReadGuard<'_, T>> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:78:21
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn try_read(&self) -> TryLockResult<SharedMutexReadGuard<T>> {
[INFO] [stdout]    |                     ^^^^^                   ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn try_read(&self) -> TryLockResult<SharedMutexReadGuard<'_, T>> {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:90:22
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn try_write(&self) -> TryLockResult<SharedMutexWriteGuard<T>> {
[INFO] [stdout]    |                      ^^^^^                   ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn try_write(&self) -> TryLockResult<SharedMutexWriteGuard<'_, T>> {
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/monitor.rs:47:17
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn read(&self) -> LockResult<MonitorReadGuard<T>> {
[INFO] [stdout]    |                 ^^^^^                ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn read(&self) -> LockResult<MonitorReadGuard<'_, T>> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/monitor.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn write(&self) -> LockResult<MonitorWriteGuard<T>> {
[INFO] [stdout]    |                  ^^^^^                ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn write(&self) -> LockResult<MonitorWriteGuard<'_, T>> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-binding let on a synchronization lock
[INFO] [stdout]    --> src/raw.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 141 |         let _ = self.unlock_read_to();
[INFO] [stdout]     |             ^ this lock is not assigned to a binding and is immediately dropped
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(let_underscore_lock)]` (part of `#[warn(let_underscore)]`) on by default
[INFO] [stdout] help: consider binding to an unused variable to avoid immediately dropping the value
[INFO] [stdout]     |
[INFO] [stdout] 141 |         let _unused = self.unlock_read_to();
[INFO] [stdout]     |              ++++++
[INFO] [stdout] help: consider immediately dropping the value
[INFO] [stdout]     |
[INFO] [stdout] 141 -         let _ = self.unlock_read_to();
[INFO] [stdout] 141 +         drop(self.unlock_read_to());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/raw.rs:144:23
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn unlock_read_to(&self) -> MutexGuard<State> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn unlock_read_to(&self) -> MutexGuard<'_, State> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-binding let on a synchronization lock
[INFO] [stdout]    --> src/raw.rs:173:13
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let _ = self.unlock_write_to();
[INFO] [stdout]     |             ^ this lock is not assigned to a binding and is immediately dropped
[INFO] [stdout]     |
[INFO] [stdout] help: consider binding to an unused variable to avoid immediately dropping the value
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let _unused = self.unlock_write_to();
[INFO] [stdout]     |              ++++++
[INFO] [stdout] help: consider immediately dropping the value
[INFO] [stdout]     |
[INFO] [stdout] 173 -         let _ = self.unlock_write_to();
[INFO] [stdout] 173 +         drop(self.unlock_write_to());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/raw.rs:177:24
[INFO] [stdout]     |
[INFO] [stdout] 177 |     fn unlock_write_to(&self) -> MutexGuard<State> {
[INFO] [stdout]     |                        ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 177 |     fn unlock_write_to(&self) -> MutexGuard<'_, State> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.48s
[INFO] running `Command { std: "docker" "inspect" "447ed511fcbe698ccc9478fada17cc5a1294cf5739874f2ad58774f77499ff21", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "447ed511fcbe698ccc9478fada17cc5a1294cf5739874f2ad58774f77499ff21", kill_on_drop: false }`
[INFO] [stdout] 447ed511fcbe698ccc9478fada17cc5a1294cf5739874f2ad58774f77499ff21
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 47fb8efcbb228a7410cd1d8fdf5640b4453b86a37734fca2b38728f7bff88616
[INFO] running `Command { std: "docker" "start" "-a" "47fb8efcbb228a7410cd1d8fdf5640b4453b86a37734fca2b38728f7bff88616", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling crossbeam v0.2.12
[INFO] [stderr]    Compiling scopeguard v0.1.2
[INFO] [stderr]    Compiling variance v0.1.3
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lib.rs:80:16
[INFO] [stdout]    |
[INFO] [stdout] 80 |             Ok(try!(unsafe { SharedMutexReadGuard::new(self) }))
[INFO] [stdout]    |                ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lib.rs:92:16
[INFO] [stdout]    |
[INFO] [stdout] 92 |             Ok(try!(unsafe { SharedMutexWriteGuard::new(self) }))
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/lib.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |         unsafe { self.data.into_inner().into_inner() }
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:62:18
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn write(&self) -> LockResult<SharedMutexWriteGuard<T>> {
[INFO] [stdout]    |                  ^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided 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: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn write(&self) -> LockResult<SharedMutexWriteGuard<'_, T>> {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn read(&self) -> LockResult<SharedMutexReadGuard<T>> {
[INFO] [stdout]    |                 ^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn read(&self) -> LockResult<SharedMutexReadGuard<'_, T>> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:78:21
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn try_read(&self) -> TryLockResult<SharedMutexReadGuard<T>> {
[INFO] [stdout]    |                     ^^^^^                   ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn try_read(&self) -> TryLockResult<SharedMutexReadGuard<'_, T>> {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:90:22
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn try_write(&self) -> TryLockResult<SharedMutexWriteGuard<T>> {
[INFO] [stdout]    |                      ^^^^^                   ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn try_write(&self) -> TryLockResult<SharedMutexWriteGuard<'_, T>> {
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/monitor.rs:47:17
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn read(&self) -> LockResult<MonitorReadGuard<T>> {
[INFO] [stdout]    |                 ^^^^^                ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn read(&self) -> LockResult<MonitorReadGuard<'_, T>> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/monitor.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn write(&self) -> LockResult<MonitorWriteGuard<T>> {
[INFO] [stdout]    |                  ^^^^^                ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn write(&self) -> LockResult<MonitorWriteGuard<'_, T>> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-binding let on a synchronization lock
[INFO] [stdout]    --> src/raw.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 141 |         let _ = self.unlock_read_to();
[INFO] [stdout]     |             ^ this lock is not assigned to a binding and is immediately dropped
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(let_underscore_lock)]` (part of `#[warn(let_underscore)]`) on by default
[INFO] [stdout] help: consider binding to an unused variable to avoid immediately dropping the value
[INFO] [stdout]     |
[INFO] [stdout] 141 |         let _unused = self.unlock_read_to();
[INFO] [stdout]     |              ++++++
[INFO] [stdout] help: consider immediately dropping the value
[INFO] [stdout]     |
[INFO] [stdout] 141 -         let _ = self.unlock_read_to();
[INFO] [stdout] 141 +         drop(self.unlock_read_to());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/raw.rs:144:23
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn unlock_read_to(&self) -> MutexGuard<State> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn unlock_read_to(&self) -> MutexGuard<'_, State> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-binding let on a synchronization lock
[INFO] [stdout]    --> src/raw.rs:173:13
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let _ = self.unlock_write_to();
[INFO] [stdout]     |             ^ this lock is not assigned to a binding and is immediately dropped
[INFO] [stdout]     |
[INFO] [stdout] help: consider binding to an unused variable to avoid immediately dropping the value
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let _unused = self.unlock_write_to();
[INFO] [stdout]     |              ++++++
[INFO] [stdout] help: consider immediately dropping the value
[INFO] [stdout]     |
[INFO] [stdout] 173 -         let _ = self.unlock_write_to();
[INFO] [stdout] 173 +         drop(self.unlock_write_to());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/raw.rs:177:24
[INFO] [stdout]     |
[INFO] [stdout] 177 |     fn unlock_write_to(&self) -> MutexGuard<State> {
[INFO] [stdout]     |                        ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 177 |     fn unlock_write_to(&self) -> MutexGuard<'_, State> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling scoped-pool v0.1.10
[INFO] [stderr]    Compiling shared-mutex v0.3.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lib.rs:80:16
[INFO] [stdout]    |
[INFO] [stdout] 80 |             Ok(try!(unsafe { SharedMutexReadGuard::new(self) }))
[INFO] [stdout]    |                ^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:1:24
[INFO] [stdout]    |
[INFO] [stdout]  1 | #![cfg_attr(test, deny(warnings))]
[INFO] [stdout]    |                        ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(deprecated)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lib.rs:92:16
[INFO] [stdout]    |
[INFO] [stdout] 92 |             Ok(try!(unsafe { SharedMutexWriteGuard::new(self) }))
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/lib.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |         unsafe { self.data.into_inner().into_inner() }
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:62:18
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn write(&self) -> LockResult<SharedMutexWriteGuard<T>> {
[INFO] [stdout]    |                  ^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided 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)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn write(&self) -> LockResult<SharedMutexWriteGuard<'_, T>> {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn read(&self) -> LockResult<SharedMutexReadGuard<T>> {
[INFO] [stdout]    |                 ^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn read(&self) -> LockResult<SharedMutexReadGuard<'_, T>> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:78:21
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn try_read(&self) -> TryLockResult<SharedMutexReadGuard<T>> {
[INFO] [stdout]    |                     ^^^^^                   ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn try_read(&self) -> TryLockResult<SharedMutexReadGuard<'_, T>> {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:90:22
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn try_write(&self) -> TryLockResult<SharedMutexWriteGuard<T>> {
[INFO] [stdout]    |                      ^^^^^                   ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn try_write(&self) -> TryLockResult<SharedMutexWriteGuard<'_, T>> {
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/monitor.rs:47:17
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn read(&self) -> LockResult<MonitorReadGuard<T>> {
[INFO] [stdout]    |                 ^^^^^                ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn read(&self) -> LockResult<MonitorReadGuard<'_, T>> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/monitor.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn write(&self) -> LockResult<MonitorWriteGuard<T>> {
[INFO] [stdout]    |                  ^^^^^                ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn write(&self) -> LockResult<MonitorWriteGuard<'_, T>> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-binding let on a synchronization lock
[INFO] [stdout]    --> src/raw.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 141 |         let _ = self.unlock_read_to();
[INFO] [stdout]     |             ^ this lock is not assigned to a binding and is immediately dropped
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(let_underscore_lock)]` (part of `#[warn(let_underscore)]`) on by default
[INFO] [stdout] help: consider binding to an unused variable to avoid immediately dropping the value
[INFO] [stdout]     |
[INFO] [stdout] 141 |         let _unused = self.unlock_read_to();
[INFO] [stdout]     |              ++++++
[INFO] [stdout] help: consider immediately dropping the value
[INFO] [stdout]     |
[INFO] [stdout] 141 -         let _ = self.unlock_read_to();
[INFO] [stdout] 141 +         drop(self.unlock_read_to());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/raw.rs:144:23
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn unlock_read_to(&self) -> MutexGuard<State> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn unlock_read_to(&self) -> MutexGuard<'_, State> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-binding let on a synchronization lock
[INFO] [stdout]    --> src/raw.rs:173:13
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let _ = self.unlock_write_to();
[INFO] [stdout]     |             ^ this lock is not assigned to a binding and is immediately dropped
[INFO] [stdout]     |
[INFO] [stdout] help: consider binding to an unused variable to avoid immediately dropping the value
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let _unused = self.unlock_write_to();
[INFO] [stdout]     |              ++++++
[INFO] [stdout] help: consider immediately dropping the value
[INFO] [stdout]     |
[INFO] [stdout] 173 -         let _ = self.unlock_write_to();
[INFO] [stdout] 173 +         drop(self.unlock_write_to());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/raw.rs:177:24
[INFO] [stdout]     |
[INFO] [stdout] 177 |     fn unlock_write_to(&self) -> MutexGuard<State> {
[INFO] [stdout]     |                        ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 177 |     fn unlock_write_to(&self) -> MutexGuard<'_, State> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.81s
[INFO] running `Command { std: "docker" "inspect" "47fb8efcbb228a7410cd1d8fdf5640b4453b86a37734fca2b38728f7bff88616", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "47fb8efcbb228a7410cd1d8fdf5640b4453b86a37734fca2b38728f7bff88616", kill_on_drop: false }`
[INFO] [stdout] 47fb8efcbb228a7410cd1d8fdf5640b4453b86a37734fca2b38728f7bff88616
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7ac137f2fa2e76129b5f2e6284de8ee63f9cc59b03d5bb5db90985ed102acb1e
[INFO] running `Command { std: "docker" "start" "-a" "7ac137f2fa2e76129b5f2e6284de8ee63f9cc59b03d5bb5db90985ed102acb1e", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/lib.rs:80:16
[INFO] [stderr]    |
[INFO] [stderr] 80 |             Ok(try!(unsafe { SharedMutexReadGuard::new(self) }))
[INFO] [stderr]    |                ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/lib.rs:92:16
[INFO] [stderr]    |
[INFO] [stderr] 92 |             Ok(try!(unsafe { SharedMutexWriteGuard::new(self) }))
[INFO] [stderr]    |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]   --> src/lib.rs:55:9
[INFO] [stderr]    |
[INFO] [stderr] 55 |         unsafe { self.data.into_inner().into_inner() }
[INFO] [stderr]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/lib.rs:62:18
[INFO] [stderr]    |
[INFO] [stderr] 62 |     pub fn write(&self) -> LockResult<SharedMutexWriteGuard<T>> {
[INFO] [stderr]    |                  ^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                  |
[INFO] [stderr]    |                  the lifetime is elided 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: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 62 |     pub fn write(&self) -> LockResult<SharedMutexWriteGuard<'_, T>> {
[INFO] [stderr]    |                                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/lib.rs:69:17
[INFO] [stderr]    |
[INFO] [stderr] 69 |     pub fn read(&self) -> LockResult<SharedMutexReadGuard<T>> {
[INFO] [stderr]    |                 ^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 69 |     pub fn read(&self) -> LockResult<SharedMutexReadGuard<'_, T>> {
[INFO] [stderr]    |                                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/lib.rs:78:21
[INFO] [stderr]    |
[INFO] [stderr] 78 |     pub fn try_read(&self) -> TryLockResult<SharedMutexReadGuard<T>> {
[INFO] [stderr]    |                     ^^^^^                   ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 78 |     pub fn try_read(&self) -> TryLockResult<SharedMutexReadGuard<'_, T>> {
[INFO] [stderr]    |                                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/lib.rs:90:22
[INFO] [stderr]    |
[INFO] [stderr] 90 |     pub fn try_write(&self) -> TryLockResult<SharedMutexWriteGuard<T>> {
[INFO] [stderr]    |                      ^^^^^                   ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                      |
[INFO] [stderr]    |                      the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 90 |     pub fn try_write(&self) -> TryLockResult<SharedMutexWriteGuard<'_, T>> {
[INFO] [stderr]    |                                                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/monitor.rs:47:17
[INFO] [stderr]    |
[INFO] [stderr] 47 |     pub fn read(&self) -> LockResult<MonitorReadGuard<T>> {
[INFO] [stderr]    |                 ^^^^^                ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 47 |     pub fn read(&self) -> LockResult<MonitorReadGuard<'_, T>> {
[INFO] [stderr]    |                                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/monitor.rs:57:18
[INFO] [stderr]    |
[INFO] [stderr] 57 |     pub fn write(&self) -> LockResult<MonitorWriteGuard<T>> {
[INFO] [stderr]    |                  ^^^^^                ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                  |
[INFO] [stderr]    |                  the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 57 |     pub fn write(&self) -> LockResult<MonitorWriteGuard<'_, T>> {
[INFO] [stderr]    |                                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: non-binding let on a synchronization lock
[INFO] [stderr]    --> src/raw.rs:141:13
[INFO] [stderr]     |
[INFO] [stderr] 141 |         let _ = self.unlock_read_to();
[INFO] [stderr]     |             ^ this lock is not assigned to a binding and is immediately dropped
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(let_underscore_lock)]` (part of `#[warn(let_underscore)]`) on by default
[INFO] [stderr] help: consider binding to an unused variable to avoid immediately dropping the value
[INFO] [stderr]     |
[INFO] [stderr] 141 |         let _unused = self.unlock_read_to();
[INFO] [stderr]     |              ++++++
[INFO] [stderr] help: consider immediately dropping the value
[INFO] [stderr]     |
[INFO] [stderr] 141 -         let _ = self.unlock_read_to();
[INFO] [stderr] 141 +         drop(self.unlock_read_to());
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/raw.rs:144:23
[INFO] [stderr]     |
[INFO] [stderr] 144 |     fn unlock_read_to(&self) -> MutexGuard<State> {
[INFO] [stderr]     |                       ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 144 |     fn unlock_read_to(&self) -> MutexGuard<'_, State> {
[INFO] [stderr]     |                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: non-binding let on a synchronization lock
[INFO] [stderr]    --> src/raw.rs:173:13
[INFO] [stderr]     |
[INFO] [stderr] 173 |         let _ = self.unlock_write_to();
[INFO] [stderr]     |             ^ this lock is not assigned to a binding and is immediately dropped
[INFO] [stderr]     |
[INFO] [stderr] help: consider binding to an unused variable to avoid immediately dropping the value
[INFO] [stderr]     |
[INFO] [stderr] 173 |         let _unused = self.unlock_write_to();
[INFO] [stderr]     |              ++++++
[INFO] [stderr] help: consider immediately dropping the value
[INFO] [stderr]     |
[INFO] [stderr] 173 -         let _ = self.unlock_write_to();
[INFO] [stderr] 173 +         drop(self.unlock_write_to());
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/raw.rs:177:24
[INFO] [stderr]     |
[INFO] [stderr] 177 |     fn unlock_write_to(&self) -> MutexGuard<State> {
[INFO] [stderr]     |                        ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 177 |     fn unlock_write_to(&self) -> MutexGuard<'_, State> {
[INFO] [stderr]     |                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: `shared-mutex` (lib) generated 13 warnings (run `cargo fix --lib -p shared-mutex` to apply 10 suggestions)
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/lib.rs:80:16
[INFO] [stderr]    |
[INFO] [stderr] 80 |             Ok(try!(unsafe { SharedMutexReadGuard::new(self) }))
[INFO] [stderr]    |                ^^^
[INFO] [stderr]    |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]   --> src/lib.rs:1:24
[INFO] [stderr]    |
[INFO] [stderr]  1 | #![cfg_attr(test, deny(warnings))]
[INFO] [stderr]    |                        ^^^^^^^^
[INFO] [stderr]    = note: `#[warn(deprecated)]` implied by `#[warn(warnings)]`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]   --> src/lib.rs:55:9
[INFO] [stderr]    |
[INFO] [stderr] 55 |         unsafe { self.data.into_inner().into_inner() }
[INFO] [stderr]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_unsafe)]` implied by `#[warn(warnings)]`
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/lib.rs:62:18
[INFO] [stderr]    |
[INFO] [stderr] 62 |     pub fn write(&self) -> LockResult<SharedMutexWriteGuard<T>> {
[INFO] [stderr]    |                  ^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                  |
[INFO] [stderr]    |                  the lifetime is elided 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)]` implied by `#[warn(warnings)]`
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 62 |     pub fn write(&self) -> LockResult<SharedMutexWriteGuard<'_, T>> {
[INFO] [stderr]    |                                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: `shared-mutex` (lib test) generated 13 warnings (10 duplicates) (run `cargo fix --lib -p shared-mutex --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/shared_mutex-42d5b83dc0e46d92)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test test::test_simple_single_thread ... ok
[INFO] [stdout] test test::test_map_recover ... ok
[INFO] [stdout] test test::test_try_locking ... ok
[INFO] [stdout] test test::test_mapping ... ok
[INFO] [stdout] test raw::test::test_raw_is ... ok
[INFO] [stdout] test test::test_simple_waiting ... ok
[INFO] [stdout] test test::test_simple_multithreaded ... ok
[INFO] [stderr]    Doc-tests shared_mutex
[INFO] [stdout] test test::test_locking_multithreaded ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[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" "7ac137f2fa2e76129b5f2e6284de8ee63f9cc59b03d5bb5db90985ed102acb1e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7ac137f2fa2e76129b5f2e6284de8ee63f9cc59b03d5bb5db90985ed102acb1e", kill_on_drop: false }`
[INFO] [stdout] 7ac137f2fa2e76129b5f2e6284de8ee63f9cc59b03d5bb5db90985ed102acb1e
