[INFO] cloning repository https://github.com/NuclearOreo/low-level-concurrency
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/NuclearOreo/low-level-concurrency" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNuclearOreo%2Flow-level-concurrency", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNuclearOreo%2Flow-level-concurrency'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 567fb2e150efb25d73ca7f8531af8902f5d2d5a7
[INFO] testing NuclearOreo/low-level-concurrency against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNuclearOreo%2Flow-level-concurrency" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/NuclearOreo/low-level-concurrency
[INFO] finished tweaking git repo https://github.com/NuclearOreo/low-level-concurrency
[INFO] tweaked toml for git repo https://github.com/NuclearOreo/low-level-concurrency written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/NuclearOreo/low-level-concurrency 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] crate git repo https://github.com/NuclearOreo/low-level-concurrency 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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded atomic-wait v1.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 649b57f133292a391ede52870b10ca2f767fdc67dca29d4c0587b9a77202bc56
[INFO] running `Command { std: "docker" "start" "-a" "649b57f133292a391ede52870b10ca2f767fdc67dca29d4c0587b9a77202bc56", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "649b57f133292a391ede52870b10ca2f767fdc67dca29d4c0587b9a77202bc56", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "649b57f133292a391ede52870b10ca2f767fdc67dca29d4c0587b9a77202bc56", kill_on_drop: false }`
[INFO] [stdout] 649b57f133292a391ede52870b10ca2f767fdc67dca29d4c0587b9a77202bc56
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 03bfada5e85f6610c0a981a4e76726e30bee2342ba19f148b8d1e7b5eb4161b9
[INFO] running `Command { std: "docker" "start" "-a" "03bfada5e85f6610c0a981a4e76726e30bee2342ba19f148b8d1e7b5eb4161b9", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling atomic-wait v1.1.0
[INFO] [stderr]    Compiling low-level-concurrency v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/chapter_9/condvar_no_syscalls.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn lock(&self) -> MutexGuard<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] 27 |     pub fn lock(&self) -> MutexGuard<'_, T> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/chapter_9/condvar_with_syscalls.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn lock(&self) -> MutexGuard<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] 28 |     pub fn lock(&self) -> MutexGuard<'_, T> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.58s
[INFO] running `Command { std: "docker" "inspect" "03bfada5e85f6610c0a981a4e76726e30bee2342ba19f148b8d1e7b5eb4161b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "03bfada5e85f6610c0a981a4e76726e30bee2342ba19f148b8d1e7b5eb4161b9", kill_on_drop: false }`
[INFO] [stdout] 03bfada5e85f6610c0a981a4e76726e30bee2342ba19f148b8d1e7b5eb4161b9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 338dfd0b73ef97013b2349249ce98f5b7344ad140eac963a131f813e7ffcc3ac
[INFO] running `Command { std: "docker" "start" "-a" "338dfd0b73ef97013b2349249ce98f5b7344ad140eac963a131f813e7ffcc3ac", kill_on_drop: false }`
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/chapter_9/condvar_no_syscalls.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn lock(&self) -> MutexGuard<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] 27 |     pub fn lock(&self) -> MutexGuard<'_, T> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling low-level-concurrency v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/chapter_9/condvar_with_syscalls.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn lock(&self) -> MutexGuard<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] 28 |     pub fn lock(&self) -> MutexGuard<'_, T> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/chapter_3/sequentially_consistent_ordering.rs:26:21
[INFO] [stdout]    |
[INFO] [stdout] 26 |                     S.push('!');
[INFO] [stdout]    |                     ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/chapter_3/sequentially_consistent_ordering.rs:35:21
[INFO] [stdout]    |
[INFO] [stdout] 35 |                     S.push('!');
[INFO] [stdout]    |                     ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/chapter_3/sequentially_consistent_ordering.rs:43:29
[INFO] [stdout]    |
[INFO] [stdout] 43 |         assert_eq!(unsafe { S.len() }, 1);
[INFO] [stdout]    |                             ^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/chapter_4/spinlock_complete_implementation.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |         pub fn lock(&self) -> Guard<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] 22 |         pub fn lock(&self) -> Guard<'_, T> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/chapter_9/condvar_no_syscalls.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn lock(&self) -> MutexGuard<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] 27 |     pub fn lock(&self) -> MutexGuard<'_, T> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/chapter_9/condvar_with_syscalls.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn lock(&self) -> MutexGuard<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] 28 |     pub fn lock(&self) -> MutexGuard<'_, T> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/chapter_9/mutex_no_syscalls.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |         pub fn lock(&self) -> MutexGuard<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] 28 |         pub fn lock(&self) -> MutexGuard<'_, T> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/chapter_9/mutex_with_syscalls.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |         pub fn lock(&self) -> MutexGuard<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] 27 |         pub fn lock(&self) -> MutexGuard<'_, T> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/chapter_9/rwlock.rs:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 |         pub fn read(&self) -> ReadGuard<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] 25 |         pub fn read(&self) -> ReadGuard<'_, T> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/chapter_9/rwlock.rs:42:22
[INFO] [stdout]    |
[INFO] [stdout] 42 |         pub fn write(&self) -> WriteGuard<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] 42 |         pub fn write(&self) -> WriteGuard<'_, T> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/chapter_9/rwlock_no_busy_loop.rs:29:21
[INFO] [stdout]    |
[INFO] [stdout] 29 |         pub fn read(&self) -> ReadGuard<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] 29 |         pub fn read(&self) -> ReadGuard<'_, T> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/chapter_9/rwlock_no_busy_loop.rs:46:22
[INFO] [stdout]    |
[INFO] [stdout] 46 |         pub fn write(&self) -> WriteGuard<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] 46 |         pub fn write(&self) -> WriteGuard<'_, T> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/chapter_9/rwlock_no_writer_stravation.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 |         pub fn read(&self) -> ReadGuard<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] 33 |         pub fn read(&self) -> ReadGuard<'_, T> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/chapter_9/rwlock_no_writer_stravation.rs:50:22
[INFO] [stdout]    |
[INFO] [stdout] 50 |         pub fn write(&self) -> WriteGuard<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] 50 |         pub fn write(&self) -> WriteGuard<'_, T> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.39s
[INFO] running `Command { std: "docker" "inspect" "338dfd0b73ef97013b2349249ce98f5b7344ad140eac963a131f813e7ffcc3ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "338dfd0b73ef97013b2349249ce98f5b7344ad140eac963a131f813e7ffcc3ac", kill_on_drop: false }`
[INFO] [stdout] 338dfd0b73ef97013b2349249ce98f5b7344ad140eac963a131f813e7ffcc3ac
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] b3936c0f928021789e676c572bf7362680a1dddf2e3a74620300414c5b1d3950
[INFO] running `Command { std: "docker" "start" "-a" "b3936c0f928021789e676c572bf7362680a1dddf2e3a74620300414c5b1d3950", kill_on_drop: false }`
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/chapter_9/condvar_no_syscalls.rs:27:17
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub fn lock(&self) -> MutexGuard<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] 27 |     pub fn lock(&self) -> MutexGuard<'_, T> {
[INFO] [stderr]    |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/chapter_9/condvar_with_syscalls.rs:28:17
[INFO] [stderr]    |
[INFO] [stderr] 28 |     pub fn lock(&self) -> MutexGuard<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] 28 |     pub fn lock(&self) -> MutexGuard<'_, T> {
[INFO] [stderr]    |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: `low-level-concurrency` (lib) generated 2 warnings (run `cargo fix --lib -p low-level-concurrency` to apply 2 suggestions)
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]   --> src/chapter_3/sequentially_consistent_ordering.rs:26:21
[INFO] [stderr]    |
[INFO] [stderr] 26 |                     S.push('!');
[INFO] [stderr]    |                     ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]   --> src/chapter_3/sequentially_consistent_ordering.rs:35:21
[INFO] [stderr]    |
[INFO] [stderr] 35 |                     S.push('!');
[INFO] [stderr]    |                     ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]   --> src/chapter_3/sequentially_consistent_ordering.rs:43:29
[INFO] [stderr]    |
[INFO] [stderr] 43 |         assert_eq!(unsafe { S.len() }, 1);
[INFO] [stderr]    |                             ^^^^^^^ shared reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/chapter_4/spinlock_complete_implementation.rs:22:21
[INFO] [stderr]    |
[INFO] [stderr] 22 |         pub fn lock(&self) -> Guard<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] 22 |         pub fn lock(&self) -> Guard<'_, T> {
[INFO] [stderr]    |                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/chapter_9/condvar_no_syscalls.rs:27:17
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub fn lock(&self) -> MutexGuard<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] 27 |     pub fn lock(&self) -> MutexGuard<'_, T> {
[INFO] [stderr]    |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/chapter_9/mutex_no_syscalls.rs:28:21
[INFO] [stderr]    |
[INFO] [stderr] 28 |         pub fn lock(&self) -> MutexGuard<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] 28 |         pub fn lock(&self) -> MutexGuard<'_, T> {
[INFO] [stderr]    |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/chapter_9/mutex_with_syscalls.rs:27:21
[INFO] [stderr]    |
[INFO] [stderr] 27 |         pub fn lock(&self) -> MutexGuard<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] 27 |         pub fn lock(&self) -> MutexGuard<'_, T> {
[INFO] [stderr]    |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/chapter_9/rwlock.rs:25:21
[INFO] [stderr]    |
[INFO] [stderr] 25 |         pub fn read(&self) -> ReadGuard<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] 25 |         pub fn read(&self) -> ReadGuard<'_, T> {
[INFO] [stderr]    |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/chapter_9/rwlock.rs:42:22
[INFO] [stderr]    |
[INFO] [stderr] 42 |         pub fn write(&self) -> WriteGuard<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] 42 |         pub fn write(&self) -> WriteGuard<'_, T> {
[INFO] [stderr]    |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/chapter_9/rwlock_no_busy_loop.rs:29:21
[INFO] [stderr]    |
[INFO] [stderr] 29 |         pub fn read(&self) -> ReadGuard<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] 29 |         pub fn read(&self) -> ReadGuard<'_, T> {
[INFO] [stderr]    |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/chapter_9/rwlock_no_busy_loop.rs:46:22
[INFO] [stderr]    |
[INFO] [stderr] 46 |         pub fn write(&self) -> WriteGuard<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] 46 |         pub fn write(&self) -> WriteGuard<'_, T> {
[INFO] [stderr]    |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/chapter_9/rwlock_no_writer_stravation.rs:33:21
[INFO] [stderr]    |
[INFO] [stderr] 33 |         pub fn read(&self) -> ReadGuard<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] 33 |         pub fn read(&self) -> ReadGuard<'_, T> {
[INFO] [stderr]    |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/chapter_9/rwlock_no_writer_stravation.rs:50:22
[INFO] [stderr]    |
[INFO] [stderr] 50 |         pub fn write(&self) -> WriteGuard<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] 50 |         pub fn write(&self) -> WriteGuard<'_, T> {
[INFO] [stderr]    |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: `low-level-concurrency` (lib test) generated 14 warnings (1 duplicate) (run `cargo fix --lib -p low-level-concurrency --tests` to apply 10 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/low_level_concurrency-7c5b474ea295c018)
[INFO] [stdout] 
[INFO] [stdout] running 51 tests
[INFO] [stdout] test chapter_1::basics::tests::spawn_threads_with_join ... ok
[INFO] [stdout] test chapter_1::basics::tests::get_average_using_threads ... ok
[INFO] [stdout] test chapter_1::basics::tests::spawn_threads_with_closure ... ok
[INFO] [stdout] test chapter_1::shared_ownership_and_reference_counting::tests::shared_ownership_with_arc ... ok
[INFO] [stdout] test chapter_2::atomic_load_and_store_operations::test::get_x ... ok
[INFO] [stdout] test chapter_1::shared_ownership_and_reference_counting::tests::shared_ownership_with_leaky_references ... ok
[INFO] [stdout] test chapter_1::scoped_threads::tests::scoped_threads ... ok
[INFO] [stdout] test chapter_1::shared_ownership_and_reference_counting::tests::shared_ownership_with_statics ... ok
[INFO] [stdout] test chapter_2::compare_and_exchange_operations::test::get_key_with_compare_exchange ... ok
[INFO] [stdout] test chapter_1::mutex_examples::test::accumulating_with_mutex ... ok
[INFO] [stdout] test chapter_2::compare_and_exchange_operations::test::id_allocation_without_overflow ... ok
[INFO] [stdout] test chapter_2::fetch_and_modify_operations::test::progress_reporting_with_multiple_threads ... ok
[INFO] [stdout] test chapter_2::fetch_and_modify_operations::test::statistics ... ok
[INFO] [stdout] test chapter_1::basics::tests::spawn_threads ... ok
[INFO] [stdout] test chapter_3::happen_before_relationship::test::only_1_and_2 ... ok
[INFO] [stdout] test chapter_2::atomic_load_and_store_operations::test::stop_flag ... ok
[INFO] [stdout] test chapter_3::locking::test::locking ... ok
[INFO] [stdout] test chapter_3::lazy_initialization_indirection::test::lazy_initialization_with_indirection ... ok
[INFO] [stdout] test chapter_3::release_and_acquire_ordering::test::guarantee_not_zero_unsafe ... ok
[INFO] [stdout] test chapter_3::sequentially_consistent_ordering::test::sequentially_consistent_ordering ... ok
[INFO] [stdout] test chapter_4::spinlock_complete_implementation::test::f ... ok
[INFO] [stdout] test chapter_4::spinlock_minimal_implementation::test::f ... ok
[INFO] [stdout] test chapter_4::spinlock_unsafe_implementation::test::f ... ok
[INFO] [stdout] test chapter_5::blocking::test::test_channel ... ok
[INFO] [stdout] test chapter_5::borrowing_to_avoid_allocation::test::test_channel ... ok
[INFO] [stdout] test chapter_5::safety_through_runtime_checks::test::test_channel ... ok
[INFO] [stdout] test chapter_5::safety_through_types::test::test_channel ... ok
[INFO] [stdout] test chapter_5::simple_mutex_based_channel::test::testing_channel ... ok
[INFO] [stdout] test chapter_5::unsafe_oneshot_channel::test::test_channel ... ok
[INFO] [stdout] test chapter_6::basic_reference_counting::test::test ... ok
[INFO] [stdout] test chapter_6::optimizing::test::test ... ok
[INFO] [stdout] test chapter_6::weak_pointers::test::test ... ok
[INFO] [stdout] test chapter_3::release_and_acquire_ordering::test::guarantee_not_zero ... FAILED
[INFO] [stdout] test chapter_3::fences::test::fences ... ok
[INFO] [stdout] test chapter_9::mutex_no_syscalls::tests::test_mutex ... ok
[INFO] [stdout] test chapter_9::mutex_no_syscalls::tests::test_mutex_concurrent ... ok
[INFO] [stdout] test chapter_9::mutex_with_syscalls::tests::test_mutex ... ok
[INFO] [stdout] test chapter_9::mutex_with_syscalls::tests::test_mutex_concurrent ... ok
[INFO] [stdout] test chapter_9::rwlock::tests::test1 ... ok
[INFO] [stdout] test chapter_9::rwlock::tests::test2 ... ok
[INFO] [stdout] test chapter_9::rwlock_no_busy_loop::tests::test1 ... ok
[INFO] [stdout] test chapter_9::rwlock_no_busy_loop::tests::test2 ... ok
[INFO] [stdout] test chapter_9::rwlock_no_writer_stravation::tests::test1 ... ok
[INFO] [stdout] test chapter_9::rwlock_no_writer_stravation::tests::test2 ... ok
[INFO] [stdout] test chapter_2::atomic_load_and_store_operations::test::progress_reporting_with_parking ... ok
[INFO] [stdout] test chapter_9::condvar_no_syscalls::tests::test_condvar ... ok
[INFO] [stdout] test chapter_9::condvar_with_syscalls::tests::test_condvar ... ok
[INFO] [stdout] test chapter_3::happen_before_relationship::test::happen_before_example ... ok
[INFO] [stdout] test chapter_2::atomic_load_and_store_operations::test::progress_reporting ... ok
[INFO] [stdout] test chapter_1::mutex_examples::test::parking_threads has been running for over 60 seconds
[INFO] [stdout] test chapter_1::mutex_examples::test::thread_conditional has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "b3936c0f928021789e676c572bf7362680a1dddf2e3a74620300414c5b1d3950", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b3936c0f928021789e676c572bf7362680a1dddf2e3a74620300414c5b1d3950", kill_on_drop: false }`
[INFO] [stdout] b3936c0f928021789e676c572bf7362680a1dddf2e3a74620300414c5b1d3950
