[INFO] cloning repository https://github.com/akonradi/lock-ordering
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/akonradi/lock-ordering" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fakonradi%2Flock-ordering", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fakonradi%2Flock-ordering'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 88723d2f4c0914c0a1617c2d70dfabc765f1ecea
[INFO] checking akonradi/lock-ordering against master#80399064afa4a2cd153f30d02c25f7ea0383ed65 for opaque-soundness-fix
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fakonradi%2Flock-ordering" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/akonradi/lock-ordering on toolchain 80399064afa4a2cd153f30d02c25f7ea0383ed65
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+80399064afa4a2cd153f30d02c25f7ea0383ed65" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/akonradi/lock-ordering
[INFO] finished tweaking git repo https://github.com/akonradi/lock-ordering
[INFO] tweaked toml for git repo https://github.com/akonradi/lock-ordering written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/akonradi/lock-ordering already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+80399064afa4a2cd153f30d02c25f7ea0383ed65" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+80399064afa4a2cd153f30d02c25f7ea0383ed65" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bd3e87228106996d685b791caa7da0be0bfe6c1c9eb403fc3c7cb79e288e4133
[INFO] running `Command { std: "docker" "start" "-a" "bd3e87228106996d685b791caa7da0be0bfe6c1c9eb403fc3c7cb79e288e4133", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bd3e87228106996d685b791caa7da0be0bfe6c1c9eb403fc3c7cb79e288e4133", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bd3e87228106996d685b791caa7da0be0bfe6c1c9eb403fc3c7cb79e288e4133", kill_on_drop: false }`
[INFO] [stdout] bd3e87228106996d685b791caa7da0be0bfe6c1c9eb403fc3c7cb79e288e4133
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+80399064afa4a2cd153f30d02c25f7ea0383ed65" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 96e1cf840da5c74c084d8b23dfa678ce3cd7bdff6b5e2c2c7bee4ac08524647b
[INFO] running `Command { std: "docker" "start" "-a" "96e1cf840da5c74c084d8b23dfa678ce3cd7bdff6b5e2c2c7bee4ac08524647b", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.69
[INFO] [stderr]    Compiling serde v1.0.188
[INFO] [stderr]    Compiling serde_json v1.0.107
[INFO] [stderr]    Compiling trybuild v1.0.85
[INFO] [stderr]     Checking itoa v1.0.9
[INFO] [stderr]     Checking ryu v1.0.15
[INFO] [stderr]     Checking once_cell v1.18.0
[INFO] [stderr]     Checking termcolor v1.3.0
[INFO] [stderr]     Checking glob v0.3.1
[INFO] [stderr]     Checking tokio v1.33.0
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling syn v2.0.38
[INFO] [stderr]     Checking lock_ordering v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the feature `async_fn_in_trait` has been stable since 1.75.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:40
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![cfg_attr(feature = "async", feature(async_fn_in_trait))]
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/lock/mutex.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     async fn lock(&self) -> Self::Guard<'_>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 62 -     async fn lock(&self) -> Self::Guard<'_>;
[INFO] [stdout] 62 +     fn lock(&self) -> impl std::future::Future<Output = Self::Guard<'_>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/lock/rwlock.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     async fn read(&self) -> Self::ReadGuard<'_>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 98 -     async fn read(&self) -> Self::ReadGuard<'_>;
[INFO] [stdout] 98 +     fn read(&self) -> impl std::future::Future<Output = Self::ReadGuard<'_>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/lock/rwlock.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     async fn write(&self) -> Self::WriteGuard<'_>;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 104 -     async fn write(&self) -> Self::WriteGuard<'_>;
[INFO] [stdout] 104 +     fn write(&self) -> impl std::future::Future<Output = Self::WriteGuard<'_>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling serde_derive v1.0.188
[INFO] [stderr]     Checking basic-toml v0.1.4
[INFO] [stdout] warning: the feature `async_fn_in_trait` has been stable since 1.75.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:40
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![cfg_attr(feature = "async", feature(async_fn_in_trait))]
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/lock/mutex.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     async fn lock(&self) -> Self::Guard<'_>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 62 -     async fn lock(&self) -> Self::Guard<'_>;
[INFO] [stdout] 62 +     fn lock(&self) -> impl std::future::Future<Output = Self::Guard<'_>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/lock/rwlock.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     async fn read(&self) -> Self::ReadGuard<'_>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 98 -     async fn read(&self) -> Self::ReadGuard<'_>;
[INFO] [stdout] 98 +     fn read(&self) -> impl std::future::Future<Output = Self::ReadGuard<'_>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/lock/rwlock.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     async fn write(&self) -> Self::WriteGuard<'_>;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 104 -     async fn write(&self) -> Self::WriteGuard<'_>;
[INFO] [stdout] 104 +     fn write(&self) -> impl std::future::Future<Output = Self::WriteGuard<'_>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.10s
[INFO] running `Command { std: "docker" "inspect" "96e1cf840da5c74c084d8b23dfa678ce3cd7bdff6b5e2c2c7bee4ac08524647b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "96e1cf840da5c74c084d8b23dfa678ce3cd7bdff6b5e2c2c7bee4ac08524647b", kill_on_drop: false }`
[INFO] [stdout] 96e1cf840da5c74c084d8b23dfa678ce3cd7bdff6b5e2c2c7bee4ac08524647b
[INFO] checking akonradi/lock-ordering against master#09bc67b9158392361780e779d32997f14cc75c39 for opaque-soundness-fix
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fakonradi%2Flock-ordering" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/akonradi/lock-ordering on toolchain 09bc67b9158392361780e779d32997f14cc75c39
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+09bc67b9158392361780e779d32997f14cc75c39" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/akonradi/lock-ordering
[INFO] finished tweaking git repo https://github.com/akonradi/lock-ordering
[INFO] tweaked toml for git repo https://github.com/akonradi/lock-ordering written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/akonradi/lock-ordering already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+09bc67b9158392361780e779d32997f14cc75c39" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+09bc67b9158392361780e779d32997f14cc75c39" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a36dab675fa1ccb59a523e546b3d05bfce8a5c876d72757259eff844c5144d6d
[INFO] running `Command { std: "docker" "start" "-a" "a36dab675fa1ccb59a523e546b3d05bfce8a5c876d72757259eff844c5144d6d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a36dab675fa1ccb59a523e546b3d05bfce8a5c876d72757259eff844c5144d6d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a36dab675fa1ccb59a523e546b3d05bfce8a5c876d72757259eff844c5144d6d", kill_on_drop: false }`
[INFO] [stdout] a36dab675fa1ccb59a523e546b3d05bfce8a5c876d72757259eff844c5144d6d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+09bc67b9158392361780e779d32997f14cc75c39" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ca0d3fc55035240559f296e2a4baca16d4ff76df96b8f40746502f85acc6badb
[INFO] running `Command { std: "docker" "start" "-a" "ca0d3fc55035240559f296e2a4baca16d4ff76df96b8f40746502f85acc6badb", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.69
[INFO] [stderr]    Compiling serde v1.0.188
[INFO] [stderr]    Compiling serde_json v1.0.107
[INFO] [stderr]     Checking itoa v1.0.9
[INFO] [stderr]    Compiling trybuild v1.0.85
[INFO] [stderr]     Checking ryu v1.0.15
[INFO] [stderr]     Checking termcolor v1.3.0
[INFO] [stderr]     Checking glob v0.3.1
[INFO] [stderr]     Checking once_cell v1.18.0
[INFO] [stderr]     Checking tokio v1.33.0
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling syn v2.0.38
[INFO] [stderr]     Checking lock_ordering v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the feature `async_fn_in_trait` has been stable since 1.75.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:2:40
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![cfg_attr(feature = "async", feature(async_fn_in_trait))]
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `NewLock` may not live long enough
[INFO] [stdout]    --> src/lockedat.rs:174:7
[INFO] [stdout]     |
[INFO] [stdout] 168 |       pub async fn wait_for_lock<'a, NewLock: LockAfter<L> + AsyncMutexLockLevel>(
[INFO] [stdout]     |                                  -- the parameter type `NewLock` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 174 |       ) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 175 | |         let guard = t.lock().await;
[INFO] [stdout] 176 | |         (LockedAt(PhantomData), guard)
[INFO] [stdout] 177 | |     }
[INFO] [stdout]     | |_____^ ...so that the type `NewLock` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 168 |     pub async fn wait_for_lock<'a, NewLock: LockAfter<L> + AsyncMutexLockLevel + 'a>(
[INFO] [stdout]     |                                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `NewLock` may not live long enough
[INFO] [stdout]    --> src/lockedat.rs:196:7
[INFO] [stdout]     |
[INFO] [stdout] 190 |       pub async fn wait_for_read<'a, NewLock: LockAfter<L> + AsyncRwLockLevel>(
[INFO] [stdout]     |                                  -- the parameter type `NewLock` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 196 |       ) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 197 | |         let guard = t.read().await;
[INFO] [stdout] 198 | |         (LockedAt(PhantomData), guard)
[INFO] [stdout] 199 | |     }
[INFO] [stdout]     | |_____^ ...so that the type `NewLock` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 190 |     pub async fn wait_for_read<'a, NewLock: LockAfter<L> + AsyncRwLockLevel + 'a>(
[INFO] [stdout]     |                                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0309]: the parameter type `NewLock` may not live long enough
[INFO] [stdout]    --> src/lockedat.rs:217:7
[INFO] [stdout]     |
[INFO] [stdout] 211 |       pub async fn wait_for_write<'a, NewLock: LockAfter<L> + AsyncRwLockLevel>(
[INFO] [stdout]     |                                   -- the parameter type `NewLock` must be valid for the lifetime `'a` as defined here...
[INFO] [stdout] ...
[INFO] [stdout] 217 |       ) {
[INFO] [stdout]     |  _______^
[INFO] [stdout] 218 | |         let guard = t.write().await;
[INFO] [stdout] 219 | |         (LockedAt(PhantomData), guard)
[INFO] [stdout] 220 | |     }
[INFO] [stdout]     | |_____^ ...so that the type `NewLock` will meet its required lifetime bounds
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub async fn wait_for_write<'a, NewLock: LockAfter<L> + AsyncRwLockLevel + 'a>(
[INFO] [stdout]     |                                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0309`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lock_ordering` (lib) due to 4 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "ca0d3fc55035240559f296e2a4baca16d4ff76df96b8f40746502f85acc6badb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ca0d3fc55035240559f296e2a4baca16d4ff76df96b8f40746502f85acc6badb", kill_on_drop: false }`
[INFO] [stdout] ca0d3fc55035240559f296e2a4baca16d4ff76df96b8f40746502f85acc6badb
