[INFO] fetching crate sandbox-ipc 0.4.0...
[INFO] testing sandbox-ipc-0.4.0 against 1.90.0 for beta-1.91-3
[INFO] extracting crate sandbox-ipc 0.4.0 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate sandbox-ipc 0.4.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate sandbox-ipc 0.4.0
[INFO] tweaked toml for crates.io crate sandbox-ipc 0.4.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate sandbox-ipc 0.4.0 on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.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.90.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 80 packages to latest compatible versions
[INFO] [stderr]       Adding bincode v0.9.2 (available: v2.0.1)
[INFO] [stderr]       Adding futures v0.1.31 (available: v0.3.31)
[INFO] [stderr]       Adding lazy_static v0.2.11 (available: v1.5.0)
[INFO] [stderr]       Adding mio v0.6.23 (available: v1.0.4)
[INFO] [stderr]       Adding rand v0.3.23 (available: v0.9.2)
[INFO] [stderr]       Adding tokio v0.1.22 (available: v1.47.1)
[INFO] [stderr]       Adding uuid v0.5.1 (available: v1.18.1)
[INFO] [stderr]       Adding widestring v0.2.2 (available: v1.2.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.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 tokio-timer v0.2.13
[INFO] [stderr]   Downloaded winhandle v0.3.0
[INFO] [stderr]   Downloaded widestring v0.2.2
[INFO] [stderr]   Downloaded uuid v0.5.1
[INFO] [stderr]   Downloaded tokio-codec v0.1.2
[INFO] [stderr]   Downloaded tokio-udp v0.1.6
[INFO] [stderr]   Downloaded bincode v0.9.2
[INFO] [stderr]   Downloaded tokio-threadpool v0.1.18
[INFO] [stderr]   Downloaded tokio-current-thread v0.1.7
[INFO] [stderr]   Downloaded tokio v0.1.22
[INFO] [stderr]   Downloaded lazy_static v0.2.11
[INFO] [stderr]   Downloaded tokio-fs v0.1.7
[INFO] [stderr]   Downloaded tokio-tcp v0.1.4
[INFO] [stderr]   Downloaded crossbeam-deque v0.7.4
[INFO] [stderr]   Downloaded tokio-uds v0.2.7
[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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fcd75308351460c7d858e6fd69587b7f8473fbe5faf649f82a27c51dd9bb0dc8
[INFO] running `Command { std: "docker" "start" "-a" "fcd75308351460c7d858e6fd69587b7f8473fbe5faf649f82a27c51dd9bb0dc8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fcd75308351460c7d858e6fd69587b7f8473fbe5faf649f82a27c51dd9bb0dc8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fcd75308351460c7d858e6fd69587b7f8473fbe5faf649f82a27c51dd9bb0dc8", kill_on_drop: false }`
[INFO] [stdout] fcd75308351460c7d858e6fd69587b7f8473fbe5faf649f82a27c51dd9bb0dc8
[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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9241a746aad07ecb013f6d362708bf62158e9979c18c83cbfc73e1bc598df616
[INFO] running `Command { std: "docker" "start" "-a" "9241a746aad07ecb013f6d362708bf62158e9979c18c83cbfc73e1bc598df616", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling iovec v0.1.4
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling futures v0.1.31
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling lock_api v0.3.4
[INFO] [stderr]    Compiling bytes v0.4.12
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling smallvec v0.6.14
[INFO] [stderr]    Compiling net2 v0.2.39
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling mio v0.6.23
[INFO] [stderr]    Compiling parking_lot_core v0.6.3
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]    Compiling lazy_static v0.2.11
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling tokio-sync v0.1.8
[INFO] [stderr]    Compiling tokio-executor v0.1.10
[INFO] [stderr]    Compiling tokio-io v0.1.13
[INFO] [stderr]    Compiling tokio-reactor v0.1.12
[INFO] [stderr]    Compiling uuid v0.5.1
[INFO] [stderr]    Compiling bincode v0.9.2
[INFO] [stderr]    Compiling sandbox-ipc v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: attribute must be of the form `#[link(name = "...", /*opt*/ kind = "dylib|static|...", /*opt*/ wasm_import_module = "...", /*opt*/ import_name_type = "decorated|noprefix|undecorated")]`
[INFO] [stdout]    --> src/unix/sharedmem.rs:188:1
[INFO] [stdout]     |
[INFO] [stdout] 188 | #[link = "c"]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout]     = note: `#[warn(ill_formed_attribute_input)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]    --> src/unix/sharedmem.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | / lazy_static! {
[INFO] [stdout] 183 | |     static ref PAGE_SIZE: usize = unsafe {
[INFO] [stdout] 184 | |         getpagesize() as usize
[INFO] [stdout] 185 | |     };
[INFO] [stdout] 186 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/io.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 |     Memory(SharedMemMap, io::Cursor<&'static [u8]>),
[INFO] [stdout]    |     ------ ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 69 -     Memory(SharedMemMap, io::Cursor<&'static [u8]>),
[INFO] [stdout] 69 +     Memory((), io::Cursor<&'static [u8]>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `mapping_offset` is never read
[INFO] [stdout]   --> src/unix/sharedmem.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) struct SharedMemMap {
[INFO] [stdout]    |                   ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     mapping_offset: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SharedMemMap` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sync.rs:82:17
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub fn lock(&self) -> LockResult<MutexGuard> {
[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] 82 |     pub fn lock(&self) -> LockResult<MutexGuard<'_>> {
[INFO] [stdout]    |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/unix/mod.rs:127:35
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn before_serialize(channel: &'a mut C) -> ChannelSerializeGuard {
[INFO] [stdout]     |                                   ^^           --------------------- the same lifetime is hidden here
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn before_serialize(channel: &'a mut C) -> ChannelSerializeGuard<'a> {
[INFO] [stdout]     |                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/unix/sync.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn lock(&self) -> MutexGuard {
[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] 93 |     pub fn lock(&self) -> MutexGuard<'_> {
[INFO] [stdout]    |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.31s
[INFO] running `Command { std: "docker" "inspect" "9241a746aad07ecb013f6d362708bf62158e9979c18c83cbfc73e1bc598df616", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9241a746aad07ecb013f6d362708bf62158e9979c18c83cbfc73e1bc598df616", kill_on_drop: false }`
[INFO] [stdout] 9241a746aad07ecb013f6d362708bf62158e9979c18c83cbfc73e1bc598df616
[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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5a2011092ca115cfb9d14e5a122a3bfa5d2369c0f28843cd9fab7ba7d6c73958
[INFO] running `Command { std: "docker" "start" "-a" "5a2011092ca115cfb9d14e5a122a3bfa5d2369c0f28843cd9fab7ba7d6c73958", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling tokio-codec v0.1.2
[INFO] [stderr]    Compiling crossbeam-queue v0.2.3
[INFO] [stderr]    Compiling mio-uds v0.6.8
[INFO] [stderr]    Compiling tokio-tcp v0.1.4
[INFO] [stderr]    Compiling tokio-current-thread v0.1.7
[INFO] [stderr]    Compiling tokio-timer v0.2.13
[INFO] [stderr]    Compiling tokio-udp v0.1.6
[INFO] [stderr]    Compiling tokio-uds v0.2.7
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stdout] warning: attribute must be of the form `#[link(name = "...", /*opt*/ kind = "dylib|static|...", /*opt*/ wasm_import_module = "...", /*opt*/ import_name_type = "decorated|noprefix|undecorated")]`
[INFO] [stdout]    --> src/unix/sharedmem.rs:188:1
[INFO] [stdout]     |
[INFO] [stdout] 188 | #[link = "c"]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout]     = note: `#[warn(ill_formed_attribute_input)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]    --> src/unix/sharedmem.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | / lazy_static! {
[INFO] [stdout] 183 | |     static ref PAGE_SIZE: usize = unsafe {
[INFO] [stdout] 184 | |         getpagesize() as usize
[INFO] [stdout] 185 | |     };
[INFO] [stdout] 186 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/io.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 |     Memory(SharedMemMap, io::Cursor<&'static [u8]>),
[INFO] [stdout]    |     ------ ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 69 -     Memory(SharedMemMap, io::Cursor<&'static [u8]>),
[INFO] [stdout] 69 +     Memory((), io::Cursor<&'static [u8]>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `mapping_offset` is never read
[INFO] [stdout]   --> src/unix/sharedmem.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) struct SharedMemMap {
[INFO] [stdout]    |                   ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     mapping_offset: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SharedMemMap` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sync.rs:82:17
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub fn lock(&self) -> LockResult<MutexGuard> {
[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] 82 |     pub fn lock(&self) -> LockResult<MutexGuard<'_>> {
[INFO] [stdout]    |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/unix/mod.rs:127:35
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn before_serialize(channel: &'a mut C) -> ChannelSerializeGuard {
[INFO] [stdout]     |                                   ^^           --------------------- the same lifetime is hidden here
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn before_serialize(channel: &'a mut C) -> ChannelSerializeGuard<'a> {
[INFO] [stdout]     |                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/unix/sync.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn lock(&self) -> MutexGuard {
[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] 93 |     pub fn lock(&self) -> MutexGuard<'_> {
[INFO] [stdout]    |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling crossbeam-deque v0.7.4
[INFO] [stderr]    Compiling tokio-threadpool v0.1.18
[INFO] [stderr]    Compiling tokio-fs v0.1.7
[INFO] [stderr]    Compiling tokio v0.1.22
[INFO] [stderr]    Compiling sandbox-ipc v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: attribute must be of the form `#[link(name = "...", /*opt*/ kind = "dylib|static|...", /*opt*/ wasm_import_module = "...", /*opt*/ import_name_type = "decorated|noprefix|undecorated")]`
[INFO] [stdout]    --> src/unix/sharedmem.rs:188:1
[INFO] [stdout]     |
[INFO] [stdout] 188 | #[link = "c"]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stdout]     = note: `#[warn(ill_formed_attribute_input)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]    --> src/unix/sharedmem.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | / lazy_static! {
[INFO] [stdout] 183 | |     static ref PAGE_SIZE: usize = unsafe {
[INFO] [stdout] 184 | |         getpagesize() as usize
[INFO] [stdout] 185 | |     };
[INFO] [stdout] 186 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:127:20
[INFO] [stdout]     |
[INFO] [stdout] 127 | fn check_send(_t: &Send) {
[INFO] [stdout]     |                    ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 | fn check_send(_t: &dyn Send) {
[INFO] [stdout]     |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `tokio_all::runtime::Runtime::reactor`: there is now a reactor per worker thread
[INFO] [stdout]    --> src/io.rs:170:81
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let (a, b) = MessageChannel::<SendableFile, SendableFile>::pair(runtime.reactor(), 8192).unwrap();
[INFO] [stdout]     |                                                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `tokio_all::runtime::Runtime::reactor`: there is now a reactor per worker thread
[INFO] [stdout]    --> src/shm/mod.rs:122:51
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let (a, b) = MessageChannel::pair(runtime.reactor(), 8192).unwrap();
[INFO] [stdout]     |                                                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `tokio::runtime::Runtime::reactor`: there is now a reactor per worker thread
[INFO] [stdout]   --> tests/child_channel.rs:22:66
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let channel = channel_serialized.into_channel(tokio_loop.reactor()).unwrap();
[INFO] [stdout]    |                                                                  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `tokio::runtime::Runtime::reactor`: there is now a reactor per worker thread
[INFO] [stdout]   --> tests/child_channel.rs:29:104
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let (a, mut child) = MessageChannel::establish_with_child(&mut child_command, 8192, tokio_loop.reactor(), |command, child_channel| {
[INFO] [stdout]    |                                                                                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `tokio::runtime::Runtime::reactor`: there is now a reactor per worker thread
[INFO] [stdout]   --> tests/named_channel.rs:22:84
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let channel = NamedMessageChannel::connect(&channel_name, None, tokio_loop.reactor(), 8192).unwrap();
[INFO] [stdout]    |                                                                                    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `tokio::runtime::Runtime::reactor`: there is now a reactor per worker thread
[INFO] [stdout]   --> tests/named_channel.rs:27:66
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let channel_server = NamedMessageChannel::new(tokio_loop.reactor(), 8192).unwrap();
[INFO] [stdout]    |                                                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/io.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 |     Memory(SharedMemMap, io::Cursor<&'static [u8]>),
[INFO] [stdout]    |     ------ ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 69 -     Memory(SharedMemMap, io::Cursor<&'static [u8]>),
[INFO] [stdout] 69 +     Memory((), io::Cursor<&'static [u8]>),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `mapping_offset` is never read
[INFO] [stdout]   --> src/unix/sharedmem.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) struct SharedMemMap {
[INFO] [stdout]    |                   ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     mapping_offset: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SharedMemMap` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sync.rs:82:17
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub fn lock(&self) -> LockResult<MutexGuard> {
[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] 82 |     pub fn lock(&self) -> LockResult<MutexGuard<'_>> {
[INFO] [stdout]    |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/shm/queue.rs:134:21
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn try_push(&self) -> Option<PushGuard> {
[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] 134 |     pub fn try_push(&self) -> Option<PushGuard<'_>> {
[INFO] [stdout]     |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/shm/queue.rs:183:20
[INFO] [stdout]     |
[INFO] [stdout] 183 |     pub fn try_pop(&self) -> LockResult<Option<PopGuard>> {
[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] 183 |     pub fn try_pop(&self) -> LockResult<Option<PopGuard<'_>>> {
[INFO] [stdout]     |                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/shm/queue.rs:316:43
[INFO] [stdout]     |
[INFO] [stdout] 316 |             let bytes_to_write = cmp::min((*self.slice).len() - self.write_offset, bytes.len());
[INFO] [stdout]     |                                           ^^----------^^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this raw pointer has type `*mut [u8]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[u8]`
[INFO] [stdout]    --> src/shm/queue.rs:316:43
[INFO] [stdout]     |
[INFO] [stdout] 316 |             let bytes_to_write = cmp::min((*self.slice).len() - self.write_offset, bytes.len());
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] note: method calls to `len` require a reference
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/slice/mod.rs:114:5
[INFO] [stdout]     = note: `#[warn(dangerous_implicit_autorefs)]` on by default
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 316 |             let bytes_to_write = cmp::min((&(*self.slice)).len() - self.write_offset, bytes.len());
[INFO] [stdout]     |                                           ++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/shm/queue.rs:318:13
[INFO] [stdout]     |
[INFO] [stdout] 318 |             (*self.slice)[self.write_offset..self.write_offset + bytes_to_write]
[INFO] [stdout]     |             ^^----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this raw pointer has type `*mut [u8]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&mut [u8]`
[INFO] [stdout]    --> src/shm/queue.rs:318:13
[INFO] [stdout]     |
[INFO] [stdout] 318 |             (*self.slice)[self.write_offset..self.write_offset + bytes_to_write]
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 318 |             (&mut (*self.slice))[self.write_offset..self.write_offset + bytes_to_write]
[INFO] [stdout]     |             +++++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/shm/queue.rs:351:42
[INFO] [stdout]     |
[INFO] [stdout] 351 |             let bytes_to_read = cmp::min((*self.slice).len() - self.read_offset, buffer.len());
[INFO] [stdout]     |                                          ^^----------^^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this raw pointer has type `*const [u8]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[u8]`
[INFO] [stdout]    --> src/shm/queue.rs:351:42
[INFO] [stdout]     |
[INFO] [stdout] 351 |             let bytes_to_read = cmp::min((*self.slice).len() - self.read_offset, buffer.len());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^
[INFO] [stdout] note: method calls to `len` require a reference
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/slice/mod.rs:114:5
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 351 |             let bytes_to_read = cmp::min((&(*self.slice)).len() - self.read_offset, buffer.len());
[INFO] [stdout]     |                                          ++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/shm/queue.rs:354:35
[INFO] [stdout]     |
[INFO] [stdout] 354 |                 .copy_from_slice(&(*self.slice)[self.read_offset..self.read_offset + bytes_to_read]);
[INFO] [stdout]     |                                   ^^----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this raw pointer has type `*const [u8]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[u8]`
[INFO] [stdout]    --> src/shm/queue.rs:354:35
[INFO] [stdout]     |
[INFO] [stdout] 354 |                 .copy_from_slice(&(*self.slice)[self.read_offset..self.read_offset + bytes_to_read]);
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 354 |                 .copy_from_slice(&(&(*self.slice))[self.read_offset..self.read_offset + bytes_to_read]);
[INFO] [stdout]     |                                   ++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/unix/mod.rs:127:35
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn before_serialize(channel: &'a mut C) -> ChannelSerializeGuard {
[INFO] [stdout]     |                                   ^^           --------------------- the same lifetime is hidden here
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn before_serialize(channel: &'a mut C) -> ChannelSerializeGuard<'a> {
[INFO] [stdout]     |                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/unix/sync.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn lock(&self) -> MutexGuard {
[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] 93 |     pub fn lock(&self) -> MutexGuard<'_> {
[INFO] [stdout]    |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 9.22s
[INFO] running `Command { std: "docker" "inspect" "5a2011092ca115cfb9d14e5a122a3bfa5d2369c0f28843cd9fab7ba7d6c73958", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5a2011092ca115cfb9d14e5a122a3bfa5d2369c0f28843cd9fab7ba7d6c73958", kill_on_drop: false }`
[INFO] [stdout] 5a2011092ca115cfb9d14e5a122a3bfa5d2369c0f28843cd9fab7ba7d6c73958
[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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c5b043c1616a346c7bc9156466a03105eea63f9859b2e12755328dcedc6939ed
[INFO] running `Command { std: "docker" "start" "-a" "c5b043c1616a346c7bc9156466a03105eea63f9859b2e12755328dcedc6939ed", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: attribute must be of the form `#[link(name = "...", /*opt*/ kind = "dylib|static|...", /*opt*/ wasm_import_module = "...", /*opt*/ import_name_type = "decorated|noprefix|undecorated")]`
[INFO] [stderr]    --> src/unix/sharedmem.rs:188:1
[INFO] [stderr]     |
[INFO] [stderr] 188 | #[link = "c"]
[INFO] [stderr]     | ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
[INFO] [stderr]     = note: `#[warn(ill_formed_attribute_input)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stderr]    --> src/unix/sharedmem.rs:182:1
[INFO] [stderr]     |
[INFO] [stderr] 182 | / lazy_static! {
[INFO] [stderr] 183 | |     static ref PAGE_SIZE: usize = unsafe {
[INFO] [stderr] 184 | |         getpagesize() as usize
[INFO] [stderr] 185 | |     };
[INFO] [stderr] 186 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/io.rs:69:12
[INFO] [stderr]    |
[INFO] [stderr] 69 |     Memory(SharedMemMap, io::Cursor<&'static [u8]>),
[INFO] [stderr]    |     ------ ^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 69 -     Memory(SharedMemMap, io::Cursor<&'static [u8]>),
[INFO] [stderr] 69 +     Memory((), io::Cursor<&'static [u8]>),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `mapping_offset` is never read
[INFO] [stderr]   --> src/unix/sharedmem.rs:30:5
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub(crate) struct SharedMemMap {
[INFO] [stderr]    |                   ------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 30 |     mapping_offset: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SharedMemMap` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/sync.rs:82:17
[INFO] [stderr]    |
[INFO] [stderr] 82 |     pub fn lock(&self) -> LockResult<MutexGuard> {
[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] 82 |     pub fn lock(&self) -> LockResult<MutexGuard<'_>> {
[INFO] [stderr]    |                                                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/unix/mod.rs:127:35
[INFO] [stderr]     |
[INFO] [stderr] 127 |     fn before_serialize(channel: &'a mut C) -> ChannelSerializeGuard {
[INFO] [stderr]     |                                   ^^           --------------------- the same lifetime is hidden here
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 127 |     fn before_serialize(channel: &'a mut C) -> ChannelSerializeGuard<'a> {
[INFO] [stderr]     |                                                                     ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/unix/sync.rs:93:17
[INFO] [stderr]    |
[INFO] [stderr] 93 |     pub fn lock(&self) -> MutexGuard {
[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] 93 |     pub fn lock(&self) -> MutexGuard<'_> {
[INFO] [stderr]    |                                     ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `sandbox-ipc` (lib) generated 7 warnings
[INFO] [stderr] warning: use of deprecated method `tokio::runtime::Runtime::reactor`: there is now a reactor per worker thread
[INFO] [stderr]   --> tests/named_channel.rs:22:84
[INFO] [stderr]    |
[INFO] [stderr] 22 |         let channel = NamedMessageChannel::connect(&channel_name, None, tokio_loop.reactor(), 8192).unwrap();
[INFO] [stderr]    |                                                                                    ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `tokio::runtime::Runtime::reactor`: there is now a reactor per worker thread
[INFO] [stderr]   --> tests/named_channel.rs:27:66
[INFO] [stderr]    |
[INFO] [stderr] 27 |         let channel_server = NamedMessageChannel::new(tokio_loop.reactor(), 8192).unwrap();
[INFO] [stderr]    |                                                                  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `tokio::runtime::Runtime::reactor`: there is now a reactor per worker thread
[INFO] [stderr]   --> tests/child_channel.rs:22:66
[INFO] [stderr]    |
[INFO] [stderr] 22 |         let channel = channel_serialized.into_channel(tokio_loop.reactor()).unwrap();
[INFO] [stderr]    |                                                                  ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `tokio::runtime::Runtime::reactor`: there is now a reactor per worker thread
[INFO] [stderr]   --> tests/child_channel.rs:29:104
[INFO] [stderr]    |
[INFO] [stderr] 29 |         let (a, mut child) = MessageChannel::establish_with_child(&mut child_command, 8192, tokio_loop.reactor(), |command, child_channel| {
[INFO] [stderr]    |                                                                                                        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:127:20
[INFO] [stderr]     |
[INFO] [stderr] 127 | fn check_send(_t: &Send) {
[INFO] [stderr]     |                    ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 127 | fn check_send(_t: &dyn Send) {
[INFO] [stderr]     |                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `tokio_all::runtime::Runtime::reactor`: there is now a reactor per worker thread
[INFO] [stderr]    --> src/io.rs:170:81
[INFO] [stderr]     |
[INFO] [stderr] 170 |         let (a, b) = MessageChannel::<SendableFile, SendableFile>::pair(runtime.reactor(), 8192).unwrap();
[INFO] [stderr]     |                                                                                 ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `tokio_all::runtime::Runtime::reactor`: there is now a reactor per worker thread
[INFO] [stderr]    --> src/shm/mod.rs:122:51
[INFO] [stderr]     |
[INFO] [stderr] 122 |         let (a, b) = MessageChannel::pair(runtime.reactor(), 8192).unwrap();
[INFO] [stderr]     |                                                   ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/shm/queue.rs:134:21
[INFO] [stderr]     |
[INFO] [stderr] 134 |     pub fn try_push(&self) -> Option<PushGuard> {
[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] 134 |     pub fn try_push(&self) -> Option<PushGuard<'_>> {
[INFO] [stderr]     |                                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/shm/queue.rs:183:20
[INFO] [stderr]     |
[INFO] [stderr] 183 |     pub fn try_pop(&self) -> LockResult<Option<PopGuard>> {
[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] 183 |     pub fn try_pop(&self) -> LockResult<Option<PopGuard<'_>>> {
[INFO] [stderr]     |                                                        ++++
[INFO] [stderr] 
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> src/shm/queue.rs:316:43
[INFO] [stderr]     |
[INFO] [stderr] 316 |             let bytes_to_write = cmp::min((*self.slice).len() - self.write_offset, bytes.len());
[INFO] [stderr]     |                                           ^^----------^^^^^^^
[INFO] [stderr]     |                                             |
[INFO] [stderr]     |                                             this raw pointer has type `*mut [u8]`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&[u8]`
[INFO] [stderr]    --> src/shm/queue.rs:316:43
[INFO] [stderr]     |
[INFO] [stderr] 316 |             let bytes_to_write = cmp::min((*self.slice).len() - self.write_offset, bytes.len());
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^
[INFO] [stderr] note: method calls to `len` require a reference
[INFO] [stderr]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/slice/mod.rs:114:5
[INFO] [stderr]     = note: `#[warn(dangerous_implicit_autorefs)]` on by default
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 316 |             let bytes_to_write = cmp::min((&(*self.slice)).len() - self.write_offset, bytes.len());
[INFO] [stderr]     |                                           ++             +
[INFO] [stderr] 
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> src/shm/queue.rs:318:13
[INFO] [stderr]     |
[INFO] [stderr] 318 |             (*self.slice)[self.write_offset..self.write_offset + bytes_to_write]
[INFO] [stderr]     |             ^^----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |               |
[INFO] [stderr]     |               this raw pointer has type `*mut [u8]`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&mut [u8]`
[INFO] [stderr]    --> src/shm/queue.rs:318:13
[INFO] [stderr]     |
[INFO] [stderr] 318 |             (*self.slice)[self.write_offset..self.write_offset + bytes_to_write]
[INFO] [stderr]     |             ^^^^^^^^^^^^^
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 318 |             (&mut (*self.slice))[self.write_offset..self.write_offset + bytes_to_write]
[INFO] [stderr]     |             +++++              +
[INFO] [stderr] 
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> src/shm/queue.rs:351:42
[INFO] [stderr]     |
[INFO] [stderr] 351 |             let bytes_to_read = cmp::min((*self.slice).len() - self.read_offset, buffer.len());
[INFO] [stderr]     |                                          ^^----------^^^^^^^
[INFO] [stderr]     |                                            |
[INFO] [stderr]     |                                            this raw pointer has type `*const [u8]`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&[u8]`
[INFO] [stderr]    --> src/shm/queue.rs:351:42
[INFO] [stderr]     |
[INFO] [stderr] 351 |             let bytes_to_read = cmp::min((*self.slice).len() - self.read_offset, buffer.len());
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^
[INFO] [stderr] note: method calls to `len` require a reference
[INFO] [stderr]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/slice/mod.rs:114:5
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 351 |             let bytes_to_read = cmp::min((&(*self.slice)).len() - self.read_offset, buffer.len());
[INFO] [stderr]     |                                          ++             +
[INFO] [stderr] 
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> src/shm/queue.rs:354:35
[INFO] [stderr]     |
[INFO] [stderr] 354 |                 .copy_from_slice(&(*self.slice)[self.read_offset..self.read_offset + bytes_to_read]);
[INFO] [stderr]     |                                   ^^----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                     |
[INFO] [stderr]     |                                     this raw pointer has type `*const [u8]`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&[u8]`
[INFO] [stderr]    --> src/shm/queue.rs:354:35
[INFO] [stderr]     |
[INFO] [stderr] 354 |                 .copy_from_slice(&(*self.slice)[self.read_offset..self.read_offset + bytes_to_read]);
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 354 |                 .copy_from_slice(&(&(*self.slice))[self.read_offset..self.read_offset + bytes_to_read]);
[INFO] [stderr]     |                                   ++             +
[INFO] [stderr] 
[INFO] [stderr] warning: `sandbox-ipc` (test "named_channel") generated 2 warnings
[INFO] [stderr] warning: `sandbox-ipc` (test "child_channel") generated 2 warnings
[INFO] [stderr] warning: `sandbox-ipc` (lib test) generated 16 warnings (7 duplicates) (run `cargo fix --lib -p sandbox-ipc --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sandbox_ipc-aa9f6517d46bbf48)
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test channel::tests::pre_raw_message_channel_is_send ... ok
[INFO] [stdout] test channel::tests::process_handle_is_send ... ok
[INFO] [stdout] test shm::queue::tests::empty_queue_try_pop ... ok
[INFO] [stdout] test shm::queue::tests::full_queue_emptied_try_pop ... ok
[INFO] [stdout] test shm::queue::tests::full_queue_try_push ... ok
[INFO] [stdout] test shm::tests::big_shm ... ok
[INFO] [stdout] test shm::tests::shared_mem_is_send ... ok
[INFO] [stdout] test shm::tests::shared_mem_map_is_send ... ok
[INFO] [stdout] test sync::tests::uncontested_mutex_lock ... ok
[INFO] [stdout] test tests::raw_message_channel_pair ... ok
[INFO] [stdout] test sync::tests::mutex_is_send ... ok
[INFO] [stdout] test tests::named_message_channel_pair ... ok
[INFO] [stdout] test io::tests::send_file_same_process ... ok
[INFO] [stdout] test shm::queue::tests::contested_fill_and_empty ... ok
[INFO] [stdout] test shm::tests::send_mem_same_process ... ok
[INFO] [stdout] test sync::tests::single_process_contested_mutex_lock ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/child_channel.rs (/opt/rustwide/target/debug/deps/child_channel-56327841bc5c2caf)
[INFO] [stdout] parent sent hello
[INFO] [stdout] child received hello
[INFO] [stdout] child sent ehlo
[INFO] [stdout] parent received ehlo
[INFO] [stdout] parent sent file handle
[INFO] [stdout] child received file handle
[INFO] [stdout] child sent file contents
[INFO] [stdout] child sent file handle
[INFO] [stdout] parent received file contents
[INFO] [stdout] parent received file handle
[INFO] [stdout] parent sent file contents
[INFO] [stdout] parent sent socket
[INFO] [stdout] child received file contents
[INFO] [stdout] parent sent mutex
[INFO] [stdout] child received mutex
[INFO] [stdout] child send shared memory write ack
[INFO] [stdout] received shared memory write ack
[INFO] [stderr]      Running tests/named_channel.rs (/opt/rustwide/target/debug/deps/named_channel-ec0b5cd7fd0ada1b)
[INFO] [stdout] parent sent hello
[INFO] [stdout] child received hello
[INFO] [stdout] parent received ehlo
[INFO] [stdout] child sent ehlo
[INFO] [stdout] parent sent file handle
[INFO] [stdout] child received file handle
[INFO] [stdout] child sent file contents
[INFO] [stdout] parent received file contents
[INFO] [stdout] child sent file handle
[INFO] [stdout] parent received file handle
[INFO] [stdout] parent sent file contents
[INFO] [stdout] child received file contents
[INFO] [stdout] parent sent socket
[INFO] [stdout] parent sent mutex
[INFO] [stdout] child received mutex
[INFO] [stdout] child send shared memory write ack
[INFO] [stdout] received shared memory write ack
[INFO] [stderr]    Doc-tests sandbox_ipc
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/lib.rs - (line 7) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c5b043c1616a346c7bc9156466a03105eea63f9859b2e12755328dcedc6939ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c5b043c1616a346c7bc9156466a03105eea63f9859b2e12755328dcedc6939ed", kill_on_drop: false }`
[INFO] [stdout] c5b043c1616a346c7bc9156466a03105eea63f9859b2e12755328dcedc6939ed
