[INFO] cloning repository https://github.com/technobaboo/binderbinder
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/technobaboo/binderbinder" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftechnobaboo%2Fbinderbinder", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftechnobaboo%2Fbinderbinder'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d469de6b2661e84e7c15c20c44331eb8e4fa4e96
[INFO] checking technobaboo/binderbinder against f4dd856795debe636f2ba39a900f162f5abeb7e8 for pr-160904
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftechnobaboo%2Fbinderbinder" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/technobaboo/binderbinder
[INFO] finished tweaking git repo https://github.com/technobaboo/binderbinder
[INFO] tweaked toml for git repo https://github.com/technobaboo/binderbinder written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/technobaboo/binderbinder on toolchain f4dd856795debe636f2ba39a900f162f5abeb7e8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f4dd856795debe636f2ba39a900f162f5abeb7e8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/technobaboo/binderbinder 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" "+f4dd856795debe636f2ba39a900f162f5abeb7e8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 630645509ca94568b3f4363196a0f06d6ddb197ccd32f7dcfbaf86722907d503
[INFO] running `Command { std: "docker" "start" "630645509ca94568b3f4363196a0f06d6ddb197ccd32f7dcfbaf86722907d503", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "630645509ca94568b3f4363196a0f06d6ddb197ccd32f7dcfbaf86722907d503", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "630645509ca94568b3f4363196a0f06d6ddb197ccd32f7dcfbaf86722907d503" "/opt/rustwide/cargo-home/bin/cargo" "+f4dd856795debe636f2ba39a900f162f5abeb7e8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "630645509ca94568b3f4363196a0f06d6ddb197ccd32f7dcfbaf86722907d503", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "630645509ca94568b3f4363196a0f06d6ddb197ccd32f7dcfbaf86722907d503" "/opt/rustwide/cargo-home/bin/cargo" "+f4dd856795debe636f2ba39a900f162f5abeb7e8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.105
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]     Checking regex-syntax v0.8.9
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling cfg_aliases v0.2.2
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]    Compiling quote v1.0.43
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking tempfile v3.24.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking binderbinder v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning[E0133]: call to unsafe function `device::write_binder_command` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/device.rs:404:9
[INFO] [stdout]     |
[INFO] [stdout] 404 |         write_binder_command(&self.fd, data).unwrap()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/device.rs:403:5
[INFO] [stdout]     |
[INFO] [stdout] 403 |     pub(crate) unsafe fn write_binder_command(&self, data: &[u8]) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `device::write_binder_struct_command` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/device.rs:407:9
[INFO] [stdout]     |
[INFO] [stdout] 407 |         write_binder_struct_command(&self.fd, command, data).unwrap()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/device.rs:406:5
[INFO] [stdout]     |
[INFO] [stdout] 406 |     pub(crate) unsafe fn write_binder_struct_command<T>(&self, command: BinderCommand, data: &T) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `device::write_binder_command` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/device.rs:404:9
[INFO] [stdout]     |
[INFO] [stdout] 404 |         write_binder_command(&self.fd, data).unwrap()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/device.rs:403:5
[INFO] [stdout]     |
[INFO] [stdout] 403 |     pub(crate) unsafe fn write_binder_command(&self, data: &[u8]) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `device::write_binder_struct_command` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/device.rs:407:9
[INFO] [stdout]     |
[INFO] [stdout] 407 |         write_binder_struct_command(&self.fd, command, data).unwrap()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/device.rs:406:5
[INFO] [stdout]     |
[INFO] [stdout] 406 |     pub(crate) unsafe fn write_binder_struct_command<T>(&self, command: BinderCommand, data: &T) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/device.rs:639:9
[INFO] [stdout]     |
[INFO] [stdout] 639 |         slice::from_raw_parts(transaction.data.buffer as *const u8, transaction.data_size);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/device.rs:634:1
[INFO] [stdout]     |
[INFO] [stdout] 634 | / unsafe fn for_each_embedded_binder_object(
[INFO] [stdout] 635 | |     transaction: &BinderTransactionData,
[INFO] [stdout] 636 | |     mut f: impl FnMut(BinderObjectId),
[INFO] [stdout] 637 | | ) {
[INFO] [stdout]     | |_^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/device.rs:640:19
[INFO] [stdout]     |
[INFO] [stdout] 640 |       let offsets = slice::from_raw_parts(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 641 | |         transaction.data.offsets as *const usize,
[INFO] [stdout] 642 | |         transaction.offsets_size / size_of::<usize>(),
[INFO] [stdout] 643 | |     );
[INFO] [stdout]     | |_____^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block
[INFO] [stdout]    --> src/device.rs:653:51
[INFO] [stdout]     |
[INFO] [stdout] 653 |                 let id = BinderObjectId::from_raw(flat_obj.data.binder, flat_obj.cookie);
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^ access to union field
[INFO] [stdout]     |
[INFO] [stdout]     = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/device.rs:705:29
[INFO] [stdout]     |
[INFO] [stdout] 705 |       bytes.extend_from_slice(slice::from_raw_parts(
[INFO] [stdout]     |  _____________________________^
[INFO] [stdout] 706 | |         data as *const _ as *const u8,
[INFO] [stdout] 707 | |         size_of_val(data),
[INFO] [stdout] 708 | |     ));
[INFO] [stdout]     | |_____^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/device.rs:698:1
[INFO] [stdout]     |
[INFO] [stdout] 698 | / unsafe fn write_binder_struct_command<T, Fd: AsFd>(
[INFO] [stdout] 699 | |     fd: impl AsRef<Fd>,
[INFO] [stdout] 700 | |     command: BinderCommand,
[INFO] [stdout] 701 | |     data: &T,
[INFO] [stdout] 702 | | ) -> rustix::io::Result<()> {
[INFO] [stdout]     | |___________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/device.rs:639:9
[INFO] [stdout]     |
[INFO] [stdout] 639 |         slice::from_raw_parts(transaction.data.buffer as *const u8, transaction.data_size);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/device.rs:634:1
[INFO] [stdout]     |
[INFO] [stdout] 634 | / unsafe fn for_each_embedded_binder_object(
[INFO] [stdout] 635 | |     transaction: &BinderTransactionData,
[INFO] [stdout] 636 | |     mut f: impl FnMut(BinderObjectId),
[INFO] [stdout] 637 | | ) {
[INFO] [stdout]     | |_^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/device.rs:640:19
[INFO] [stdout]     |
[INFO] [stdout] 640 |       let offsets = slice::from_raw_parts(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 641 | |         transaction.data.offsets as *const usize,
[INFO] [stdout] 642 | |         transaction.offsets_size / size_of::<usize>(),
[INFO] [stdout] 643 | |     );
[INFO] [stdout]     | |_____^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: access to union field is unsafe and requires unsafe block
[INFO] [stdout]    --> src/device.rs:653:51
[INFO] [stdout]     |
[INFO] [stdout] 653 |                 let id = BinderObjectId::from_raw(flat_obj.data.binder, flat_obj.cookie);
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^ access to union field
[INFO] [stdout]     |
[INFO] [stdout]     = note: the field may not be properly initialized: using uninitialized data will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `device::write_binder_command` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/device.rs:894:29
[INFO] [stdout]     |
[INFO] [stdout] 894 | ...                   write_binder_command(dev_fd, &bytes).unwrap();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/device.rs:782:1
[INFO] [stdout]     |
[INFO] [stdout] 782 | / unsafe fn binder_write_read(
[INFO] [stdout] 783 | |     dev_fd: &Arc<OwnedFd>,
[INFO] [stdout] 784 | |     write_data: Option<&[u8]>,
[INFO] [stdout] 785 | |     device: &Weak<BinderDevice>,
[INFO] [stdout] 786 | |     runtime: &tokio::runtime::Handle,
[INFO] [stdout] 787 | | ) -> Option<core::result::Result<(u32, PayloadReader), WriteReadError>> {
[INFO] [stdout]     | |_______________________________________________________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/device.rs:945:45
[INFO] [stdout]     |
[INFO] [stdout] 945 |                       bytes.extend_from_slice(slice::from_raw_parts(
[INFO] [stdout]     |  _____________________________________________^
[INFO] [stdout] 946 | |                         &raw const reply as _,
[INFO] [stdout] 947 | |                         size_of_val(&reply),
[INFO] [stdout] 948 | |                     ));
[INFO] [stdout]     | |_____________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `device::write_binder_struct_command` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/device.rs:1019:21
[INFO] [stdout]      |
[INFO] [stdout] 1019 |                 _ = write_binder_struct_command(dev_fd, BinderCommand::INCREFS_DONE, &v)
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `device::write_binder_struct_command` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/device.rs:1030:21
[INFO] [stdout]      |
[INFO] [stdout] 1030 |                 _ = write_binder_struct_command(dev_fd, BinderCommand::ACQUIRE_DONE, &target)
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `device::write_binder_struct_command` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/device.rs:1081:21
[INFO] [stdout]      |
[INFO] [stdout] 1081 |                 _ = write_binder_struct_command(dev_fd, BinderCommand::DEAD_BINDER_DONE, &v);
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/device.rs:705:29
[INFO] [stdout]     |
[INFO] [stdout] 705 |       bytes.extend_from_slice(slice::from_raw_parts(
[INFO] [stdout]     |  _____________________________^
[INFO] [stdout] 706 | |         data as *const _ as *const u8,
[INFO] [stdout] 707 | |         size_of_val(data),
[INFO] [stdout] 708 | |     ));
[INFO] [stdout]     | |_____^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/device.rs:698:1
[INFO] [stdout]     |
[INFO] [stdout] 698 | / unsafe fn write_binder_struct_command<T, Fd: AsFd>(
[INFO] [stdout] 699 | |     fd: impl AsRef<Fd>,
[INFO] [stdout] 700 | |     command: BinderCommand,
[INFO] [stdout] 701 | |     data: &T,
[INFO] [stdout] 702 | | ) -> rustix::io::Result<()> {
[INFO] [stdout]     | |___________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `device::write_binder_command` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/device.rs:894:29
[INFO] [stdout]     |
[INFO] [stdout] 894 | ...                   write_binder_command(dev_fd, &bytes).unwrap();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/device.rs:782:1
[INFO] [stdout]     |
[INFO] [stdout] 782 | / unsafe fn binder_write_read(
[INFO] [stdout] 783 | |     dev_fd: &Arc<OwnedFd>,
[INFO] [stdout] 784 | |     write_data: Option<&[u8]>,
[INFO] [stdout] 785 | |     device: &Weak<BinderDevice>,
[INFO] [stdout] 786 | |     runtime: &tokio::runtime::Handle,
[INFO] [stdout] 787 | | ) -> Option<core::result::Result<(u32, PayloadReader), WriteReadError>> {
[INFO] [stdout]     | |_______________________________________________________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/device.rs:945:45
[INFO] [stdout]     |
[INFO] [stdout] 945 |                       bytes.extend_from_slice(slice::from_raw_parts(
[INFO] [stdout]     |  _____________________________________________^
[INFO] [stdout] 946 | |                         &raw const reply as _,
[INFO] [stdout] 947 | |                         size_of_val(&reply),
[INFO] [stdout] 948 | |                     ));
[INFO] [stdout]     | |_____________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `device::write_binder_struct_command` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/device.rs:1019:21
[INFO] [stdout]      |
[INFO] [stdout] 1019 |                 _ = write_binder_struct_command(dev_fd, BinderCommand::INCREFS_DONE, &v)
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `device::write_binder_struct_command` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/device.rs:1030:21
[INFO] [stdout]      |
[INFO] [stdout] 1030 |                 _ = write_binder_struct_command(dev_fd, BinderCommand::ACQUIRE_DONE, &target)
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `device::write_binder_struct_command` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/device.rs:1081:21
[INFO] [stdout]      |
[INFO] [stdout] 1081 |                 _ = write_binder_struct_command(dev_fd, BinderCommand::DEAD_BINDER_DONE, &v);
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::read_unaligned` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/device.rs:1146:5
[INFO] [stdout]      |
[INFO] [stdout] 1146 |     ptr::read_unaligned(slice.as_ptr().cast())
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/device.rs:1143:1
[INFO] [stdout]      |
[INFO] [stdout] 1143 | unsafe fn read_from_slice<T>(slice: &[u8], consumed: &mut usize) -> T {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::read_unaligned` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/device.rs:1146:5
[INFO] [stdout]      |
[INFO] [stdout] 1146 |     ptr::read_unaligned(slice.as_ptr().cast())
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/device.rs:1143:1
[INFO] [stdout]      |
[INFO] [stdout] 1143 | unsafe fn read_from_slice<T>(slice: &[u8], consumed: &mut usize) -> T {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/payload.rs:388:53
[INFO] [stdout]     |
[INFO] [stdout] 388 |                 PayloadReaderBuffer::KernelBorrowed(slice::from_raw_parts(offsets_ptr, offsets_len))
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/payload.rs:374:5
[INFO] [stdout]     |
[INFO] [stdout] 374 | /     pub(crate) unsafe fn from_kernel_raw(
[INFO] [stdout] 375 | |         device: Arc<BinderDevice>,
[INFO] [stdout] 376 | |         data_ptr: *const u8,
[INFO] [stdout] 377 | |         data_len: usize,
[INFO] [stdout] 378 | |         offsets_ptr: *const usize,
[INFO] [stdout] 379 | |         offsets_len: usize,
[INFO] [stdout] 380 | |     ) -> Self {
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/payload.rs:388:53
[INFO] [stdout]     |
[INFO] [stdout] 388 |                 PayloadReaderBuffer::KernelBorrowed(slice::from_raw_parts(offsets_ptr, offsets_len))
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/payload.rs:374:5
[INFO] [stdout]     |
[INFO] [stdout] 374 | /     pub(crate) unsafe fn from_kernel_raw(
[INFO] [stdout] 375 | |         device: Arc<BinderDevice>,
[INFO] [stdout] 376 | |         data_ptr: *const u8,
[INFO] [stdout] 377 | |         data_len: usize,
[INFO] [stdout] 378 | |         offsets_ptr: *const usize,
[INFO] [stdout] 379 | |         offsets_len: usize,
[INFO] [stdout] 380 | |     ) -> Self {
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ForkedService` is never constructed
[INFO] [stdout]    --> tests/support/mod.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub struct ForkedService {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fork_service` is never used
[INFO] [stdout]    --> tests/support/mod.rs:165:8
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub fn fork_service<K, ServiceFut>(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `kill_child` is never used
[INFO] [stdout]    --> tests/support/mod.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub fn kill_child(pid: Pid) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reap` is never used
[INFO] [stdout]    --> tests/support/mod.rs:213:8
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub fn reap(pid: Pid) -> WaitStatus {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ForkedService` is never constructed
[INFO] [stdout]    --> tests/support/mod.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub struct ForkedService {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fork_service` is never used
[INFO] [stdout]    --> tests/support/mod.rs:165:8
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub fn fork_service<K, ServiceFut>(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `kill_child` is never used
[INFO] [stdout]    --> tests/support/mod.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub fn kill_child(pid: Pid) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reap` is never used
[INFO] [stdout]    --> tests/support/mod.rs:213:8
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub fn reap(pid: Pid) -> WaitStatus {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_trace_subscriber` is never used
[INFO] [stdout]   --> tests/support/mod.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn init_trace_subscriber(role: &str) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ComboResult` is never constructed
[INFO] [stdout]   --> tests/support/mod.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct ComboResult<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fork_combo` is never used
[INFO] [stdout]   --> tests/support/mod.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn fork_combo<K, ServiceFut, ClientFut, T>(
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ForkedService` is never constructed
[INFO] [stdout]    --> tests/support/mod.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub struct ForkedService {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fork_service` is never used
[INFO] [stdout]    --> tests/support/mod.rs:165:8
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub fn fork_service<K, ServiceFut>(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `kill_child` is never used
[INFO] [stdout]    --> tests/support/mod.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub fn kill_child(pid: Pid) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reap` is never used
[INFO] [stdout]    --> tests/support/mod.rs:213:8
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub fn reap(pid: Pid) -> WaitStatus {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `tracing-subscriber`
[INFO] [stderr]   --> Cargo.toml:16:15
[INFO] [stderr]    |
[INFO] [stderr] 16 | [dependencies.tracing-subscriber]
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `tracing-subscriber`
[INFO] [stderr] help: to still use for development builds, move to `dev-dependencies`
[INFO] [stderr] warning: unused dependency `tracing-subscriber`
[INFO] [stderr]   --> Cargo.toml:23:1
[INFO] [stderr]    |
[INFO] [stderr] 23 | tracing-subscriber = "0.3.22"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `tracing-subscriber`
[INFO] [stderr] help: to still use for development builds, move to `dev-dependencies`
[INFO] [stderr] warning: `binderbinder` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 27.99s
[INFO] running `Command { std: "docker" "inspect" "630645509ca94568b3f4363196a0f06d6ddb197ccd32f7dcfbaf86722907d503", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "630645509ca94568b3f4363196a0f06d6ddb197ccd32f7dcfbaf86722907d503", kill_on_drop: false }`
[INFO] [stdout] 630645509ca94568b3f4363196a0f06d6ddb197ccd32f7dcfbaf86722907d503
