[INFO] fetching crate binder-rust 0.1.2...
[INFO] testing binder-rust-0.1.2 against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] extracting crate binder-rust 0.1.2 into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate binder-rust 0.1.2 on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate binder-rust 0.1.2
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate binder-rust 0.1.2
[INFO] tweaked toml for crates.io crate binder-rust 0.1.2 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] crate crates.io crate binder-rust 0.1.2 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" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded syn v1.0.63
[INFO] [stderr]   Downloaded libc v0.2.88
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 502c545f4f2cc13912da4950fd8a58863a95d9b3a7bbdbb8ba0ec79d538e7b81
[INFO] running `Command { std: "docker" "start" "-a" "502c545f4f2cc13912da4950fd8a58863a95d9b3a7bbdbb8ba0ec79d538e7b81", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "502c545f4f2cc13912da4950fd8a58863a95d9b3a7bbdbb8ba0ec79d538e7b81", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "502c545f4f2cc13912da4950fd8a58863a95d9b3a7bbdbb8ba0ec79d538e7b81", kill_on_drop: false }`
[INFO] [stdout] 502c545f4f2cc13912da4950fd8a58863a95d9b3a7bbdbb8ba0ec79d538e7b81
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1ead9d9eb342ff2612a622bf55eb86615814ca18a5a42603a9473ce1024f01b3
[INFO] running `Command { std: "docker" "start" "-a" "1ead9d9eb342ff2612a622bf55eb86615814ca18a5a42603a9473ce1024f01b3", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling syn v1.0.63
[INFO] [stderr]    Compiling libc v0.2.88
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling nix v0.20.0
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling binder-rust v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ioctl_write_int`
[INFO] [stdout]   --> src/binder.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     ioctl_write_int,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `convert::TryFrom`, `ops::BitOr`, `slice`
[INFO] [stdout]   --> src/binder.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::{convert::TryFrom, ffi::c_void, mem::size_of, ops::BitOr, os::unix::io::RawFd, ptr, slice};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^                             ^^^^^^^^^^                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mem::transmute`
[INFO] [stdout]  --> src/parcel.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     mem::transmute,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Binder`
[INFO] [stdout]   --> src/parcel.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{Binder, BinderFlatObject, BinderTransactionData, BinderType};
[INFO] [stdout]    |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `acquire_result` is assigned to, but never used
[INFO] [stdout]    --> src/binder.rs:472:17
[INFO] [stdout]     |
[INFO] [stdout] 472 |         let mut acquire_result = Result::NoError;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_acquire_result` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `acquire_result` is never read
[INFO] [stdout]    --> src/binder.rs:492:25
[INFO] [stdout]     |
[INFO] [stdout] 492 |                         acquire_result = if result == 0 {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/service.rs:108:29
[INFO] [stdout]     |
[INFO] [stdout] 102 | ...                   Interface => {
[INFO] [stdout]     |                       --------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 108 | ...                   _ => {}
[INFO] [stdout]     |                       ^ unreachable pattern
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Interface`
[INFO] [stdout]    --> src/service.rs:102:29
[INFO] [stdout]     |
[INFO] [stdout] 102 | ...                   Interface => {
[INFO] [stdout]     |                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_Interface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transaction`
[INFO] [stdout]    --> src/service.rs:149:14
[INFO] [stdout]     |
[INFO] [stdout] 149 |         let (transaction, mut parcel) = self.binder.transact(
[INFO] [stdout]     |              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transaction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transaction`
[INFO] [stdout]    --> src/service.rs:182:14
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let (transaction, mut parcel) = self.binder.transact(
[INFO] [stdout]     |              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transaction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parcel`
[INFO] [stdout]    --> src/service.rs:182:31
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let (transaction, mut parcel) = self.binder.transact(
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parcel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/service.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let (transaction, mut parcel) = self.binder.transact(
[INFO] [stdout]     |                           ----^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinderTransactionDataData` is never constructed
[INFO] [stdout]    --> src/binder.rs:162:19
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub(crate) struct BinderTransactionDataData {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `mem` is never read
[INFO] [stdout]    --> src/binder.rs:339:5
[INFO] [stdout]     |
[INFO] [stdout] 337 | pub struct Binder {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] 338 |     fd: RawFd,
[INFO] [stdout] 339 |     mem: *const c_void,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `CheckService` and `ListServices` are never constructed
[INFO] [stdout]   --> src/service.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | enum ServiceManagerFunctions {
[INFO] [stdout]    |      ----------------------- variants in this enum
[INFO] [stdout] 15 |     GetService = 1,
[INFO] [stdout] 16 |     CheckService = 2,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 17 |     AddService = 3,
[INFO] [stdout] 18 |     ListServices = 4,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/service.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Service<'a> {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     name: &'a str,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/service.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct ServiceListener<'a, BS>
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 74 |     name: &'a str,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `phantom` is never read
[INFO] [stdout]    --> src/service.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct ServiceManager<'a> {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 119 |     binder: Binder,
[INFO] [stdout] 120 |     phantom: &'a PhantomData<Binder>
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/binder.rs:56:47
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Hash, Clone, Copy, PartialEq, FromPrimitive)]
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_BinderType`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/binder.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 | #[derive(Debug, FromPrimitive)]
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_Transaction`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `OneWay` should have an upper case name
[INFO] [stdout]    --> src/binder.rs:215:15
[INFO] [stdout]     |
[INFO] [stdout] 215 |         const OneWay = 1;
[INFO] [stdout]     |               ^^^^^^ help: convert the identifier to upper case: `ONE_WAY`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `CollectNotedAppOps` should have an upper case name
[INFO] [stdout]    --> src/binder.rs:216:15
[INFO] [stdout]     |
[INFO] [stdout] 216 |         const CollectNotedAppOps = 2;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `COLLECT_NOTED_APP_OPS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `RootObject` should have an upper case name
[INFO] [stdout]    --> src/binder.rs:217:15
[INFO] [stdout]     |
[INFO] [stdout] 217 |         const RootObject = 4;
[INFO] [stdout]     |               ^^^^^^^^^^ help: convert the identifier to upper case: `ROOT_OBJECT`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `StatusCode` should have an upper case name
[INFO] [stdout]    --> src/binder.rs:218:15
[INFO] [stdout]     |
[INFO] [stdout] 218 |         const StatusCode = 8;
[INFO] [stdout]     |               ^^^^^^^^^^ help: convert the identifier to upper case: `STATUS_CODE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `AcceptFds` should have an upper case name
[INFO] [stdout]    --> src/binder.rs:219:15
[INFO] [stdout]     |
[INFO] [stdout] 219 |         const AcceptFds = 0x10;
[INFO] [stdout]     |               ^^^^^^^^^ help: convert the identifier to upper case: `ACCEPT_FDS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `ClearBuf` should have an upper case name
[INFO] [stdout]    --> src/binder.rs:220:15
[INFO] [stdout]     |
[INFO] [stdout] 220 |         const ClearBuf = 0x20;
[INFO] [stdout]     |               ^^^^^^^^ help: convert the identifier to upper case: `CLEAR_BUF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/binder.rs:261:17
[INFO] [stdout]     |
[INFO] [stdout] 261 | #[derive(Debug, FromPrimitive)]
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_BinderDriverCommandProtocol`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/binder.rs:308:17
[INFO] [stdout]     |
[INFO] [stdout] 308 | #[derive(Debug, FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_BinderDriverReturnProtocol`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/binder.rs:308:32
[INFO] [stdout]     |
[INFO] [stdout] 308 | #[derive(Debug, FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |                                ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_NUM_ToPrimitive_FOR_BinderDriverReturnProtocol`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/binder.rs:556:9
[INFO] [stdout]     |
[INFO] [stdout] 556 |         close(self.fd);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 556 |         let _ = close(self.fd);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/parcel.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |         self.cursor.write(other.to_slice());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let _ = self.cursor.write(other.to_slice());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         self.cursor.write_i32::<LittleEndian>(data);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let _ = self.cursor.write_i32::<LittleEndian>(data);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |         self.cursor.write_u32::<LittleEndian>(data);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let _ = self.cursor.write_u32::<LittleEndian>(data);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |         self.cursor.write_u16::<LittleEndian>(data);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let _ = self.cursor.write_u16::<LittleEndian>(data);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |         self.cursor.write_u32::<LittleEndian>(data as u32);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let _ = self.cursor.write_u32::<LittleEndian>(data as u32);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         self.cursor.read(&mut data);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let _ = self.cursor.read(&mut data);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |         self.cursor.read(&mut data);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 212 |         let _ = self.cursor.read(&mut data);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 | /         self.cursor.write(unsafe {
[INFO] [stdout] 239 | |             slice::from_raw_parts(&object as *const _ as *const u8, size_of::<T>())
[INFO] [stdout] 240 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 238 |         let _ = self.cursor.write(unsafe {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:249:13
[INFO] [stdout]     |
[INFO] [stdout] 249 |             s16.write_u16::<LittleEndian>(c);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 249 |             let _ = s16.write_u16::<LittleEndian>(c);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |         s16.write_u16::<LittleEndian>(0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 251 |         let _ = s16.write_u16::<LittleEndian>(0);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:257:9
[INFO] [stdout]     |
[INFO] [stdout] 257 |         self.cursor.write(s16.as_slice());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let _ = self.cursor.write(s16.as_slice());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Interface` should have a snake case name
[INFO] [stdout]    --> src/service.rs:102:29
[INFO] [stdout]     |
[INFO] [stdout] 102 | ...                   Interface => {
[INFO] [stdout]     |                       ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `interface`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 42 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.88s
[INFO] running `Command { std: "docker" "inspect" "1ead9d9eb342ff2612a622bf55eb86615814ca18a5a42603a9473ce1024f01b3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1ead9d9eb342ff2612a622bf55eb86615814ca18a5a42603a9473ce1024f01b3", kill_on_drop: false }`
[INFO] [stdout] 1ead9d9eb342ff2612a622bf55eb86615814ca18a5a42603a9473ce1024f01b3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3864c26e907c8d98adcf6ed2867331ff4ef4a80088d8dc83e1e614ea058e576c
[INFO] running `Command { std: "docker" "start" "-a" "3864c26e907c8d98adcf6ed2867331ff4ef4a80088d8dc83e1e614ea058e576c", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `ioctl_write_int`
[INFO] [stdout]   --> src/binder.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     ioctl_write_int,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `convert::TryFrom`, `ops::BitOr`, `slice`
[INFO] [stdout]   --> src/binder.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::{convert::TryFrom, ffi::c_void, mem::size_of, ops::BitOr, os::unix::io::RawFd, ptr, slice};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^                             ^^^^^^^^^^                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mem::transmute`
[INFO] [stdout]  --> src/parcel.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     mem::transmute,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Binder`
[INFO] [stdout]   --> src/parcel.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{Binder, BinderFlatObject, BinderTransactionData, BinderType};
[INFO] [stdout]    |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `acquire_result` is assigned to, but never used
[INFO] [stdout]    --> src/binder.rs:472:17
[INFO] [stdout]     |
[INFO] [stdout] 472 |         let mut acquire_result = Result::NoError;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_acquire_result` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `acquire_result` is never read
[INFO] [stdout]    --> src/binder.rs:492:25
[INFO] [stdout]     |
[INFO] [stdout] 492 |                         acquire_result = if result == 0 {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/service.rs:108:29
[INFO] [stdout]     |
[INFO] [stdout] 102 | ...                   Interface => {
[INFO] [stdout]     |                       --------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 108 | ...                   _ => {}
[INFO] [stdout]     |                       ^ unreachable pattern
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Interface`
[INFO] [stdout]    --> src/service.rs:102:29
[INFO] [stdout]     |
[INFO] [stdout] 102 | ...                   Interface => {
[INFO] [stdout]     |                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_Interface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transaction`
[INFO] [stdout]    --> src/service.rs:149:14
[INFO] [stdout]     |
[INFO] [stdout] 149 |         let (transaction, mut parcel) = self.binder.transact(
[INFO] [stdout]     |              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transaction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transaction`
[INFO] [stdout]    --> src/service.rs:182:14
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let (transaction, mut parcel) = self.binder.transact(
[INFO] [stdout]     |              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transaction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parcel`
[INFO] [stdout]    --> src/service.rs:182:31
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let (transaction, mut parcel) = self.binder.transact(
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parcel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/service.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let (transaction, mut parcel) = self.binder.transact(
[INFO] [stdout]     |                           ----^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinderTransactionDataData` is never constructed
[INFO] [stdout]    --> src/binder.rs:162:19
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub(crate) struct BinderTransactionDataData {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `mem` is never read
[INFO] [stdout]    --> src/binder.rs:339:5
[INFO] [stdout]     |
[INFO] [stdout] 337 | pub struct Binder {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] 338 |     fd: RawFd,
[INFO] [stdout] 339 |     mem: *const c_void,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `CheckService` and `ListServices` are never constructed
[INFO] [stdout]   --> src/service.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | enum ServiceManagerFunctions {
[INFO] [stdout]    |      ----------------------- variants in this enum
[INFO] [stdout] 15 |     GetService = 1,
[INFO] [stdout] 16 |     CheckService = 2,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 17 |     AddService = 3,
[INFO] [stdout] 18 |     ListServices = 4,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/service.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Service<'a> {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     name: &'a str,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/service.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct ServiceListener<'a, BS>
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 74 |     name: &'a str,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `phantom` is never read
[INFO] [stdout]    --> src/service.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct ServiceManager<'a> {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 119 |     binder: Binder,
[INFO] [stdout] 120 |     phantom: &'a PhantomData<Binder>
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/binder.rs:56:47
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Hash, Clone, Copy, PartialEq, FromPrimitive)]
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_BinderType`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/binder.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 | #[derive(Debug, FromPrimitive)]
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_Transaction`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling binder-rust v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: associated constant `OneWay` should have an upper case name
[INFO] [stdout]    --> src/binder.rs:215:15
[INFO] [stdout]     |
[INFO] [stdout] 215 |         const OneWay = 1;
[INFO] [stdout]     |               ^^^^^^ help: convert the identifier to upper case: `ONE_WAY`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `CollectNotedAppOps` should have an upper case name
[INFO] [stdout]    --> src/binder.rs:216:15
[INFO] [stdout]     |
[INFO] [stdout] 216 |         const CollectNotedAppOps = 2;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `COLLECT_NOTED_APP_OPS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `RootObject` should have an upper case name
[INFO] [stdout]    --> src/binder.rs:217:15
[INFO] [stdout]     |
[INFO] [stdout] 217 |         const RootObject = 4;
[INFO] [stdout]     |               ^^^^^^^^^^ help: convert the identifier to upper case: `ROOT_OBJECT`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `StatusCode` should have an upper case name
[INFO] [stdout]    --> src/binder.rs:218:15
[INFO] [stdout]     |
[INFO] [stdout] 218 |         const StatusCode = 8;
[INFO] [stdout]     |               ^^^^^^^^^^ help: convert the identifier to upper case: `STATUS_CODE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `AcceptFds` should have an upper case name
[INFO] [stdout]    --> src/binder.rs:219:15
[INFO] [stdout]     |
[INFO] [stdout] 219 |         const AcceptFds = 0x10;
[INFO] [stdout]     |               ^^^^^^^^^ help: convert the identifier to upper case: `ACCEPT_FDS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `ClearBuf` should have an upper case name
[INFO] [stdout]    --> src/binder.rs:220:15
[INFO] [stdout]     |
[INFO] [stdout] 220 |         const ClearBuf = 0x20;
[INFO] [stdout]     |               ^^^^^^^^ help: convert the identifier to upper case: `CLEAR_BUF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/binder.rs:261:17
[INFO] [stdout]     |
[INFO] [stdout] 261 | #[derive(Debug, FromPrimitive)]
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_BinderDriverCommandProtocol`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/binder.rs:308:17
[INFO] [stdout]     |
[INFO] [stdout] 308 | #[derive(Debug, FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_BinderDriverReturnProtocol`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/binder.rs:308:32
[INFO] [stdout]     |
[INFO] [stdout] 308 | #[derive(Debug, FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |                                ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_NUM_ToPrimitive_FOR_BinderDriverReturnProtocol`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/binder.rs:556:9
[INFO] [stdout]     |
[INFO] [stdout] 556 |         close(self.fd);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 556 |         let _ = close(self.fd);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/parcel.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |         self.cursor.write(other.to_slice());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let _ = self.cursor.write(other.to_slice());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         self.cursor.write_i32::<LittleEndian>(data);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let _ = self.cursor.write_i32::<LittleEndian>(data);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |         self.cursor.write_u32::<LittleEndian>(data);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let _ = self.cursor.write_u32::<LittleEndian>(data);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |         self.cursor.write_u16::<LittleEndian>(data);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let _ = self.cursor.write_u16::<LittleEndian>(data);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |         self.cursor.write_u32::<LittleEndian>(data as u32);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let _ = self.cursor.write_u32::<LittleEndian>(data as u32);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         self.cursor.read(&mut data);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let _ = self.cursor.read(&mut data);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |         self.cursor.read(&mut data);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 212 |         let _ = self.cursor.read(&mut data);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 | /         self.cursor.write(unsafe {
[INFO] [stdout] 239 | |             slice::from_raw_parts(&object as *const _ as *const u8, size_of::<T>())
[INFO] [stdout] 240 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 238 |         let _ = self.cursor.write(unsafe {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:249:13
[INFO] [stdout]     |
[INFO] [stdout] 249 |             s16.write_u16::<LittleEndian>(c);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 249 |             let _ = s16.write_u16::<LittleEndian>(c);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |         s16.write_u16::<LittleEndian>(0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 251 |         let _ = s16.write_u16::<LittleEndian>(0);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:257:9
[INFO] [stdout]     |
[INFO] [stdout] 257 |         self.cursor.write(s16.as_slice());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let _ = self.cursor.write(s16.as_slice());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Interface` should have a snake case name
[INFO] [stdout]    --> src/service.rs:102:29
[INFO] [stdout]     |
[INFO] [stdout] 102 | ...                   Interface => {
[INFO] [stdout]     |                       ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `interface`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 42 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Binder`
[INFO] [stdout]  --> examples/myservice.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use binder_rust::{Binder, BinderService, Parcel, ServiceManager};
[INFO] [stdout]   |                   ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> examples/simple.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let mut service_manager = &mut ServiceManager::new();
[INFO] [stdout]   |         ----^^^^^^^^^^^^^^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ioctl_write_int`
[INFO] [stdout]   --> src/binder.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     ioctl_write_int,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `convert::TryFrom`, `ops::BitOr`, `slice`
[INFO] [stdout]   --> src/binder.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::{convert::TryFrom, ffi::c_void, mem::size_of, ops::BitOr, os::unix::io::RawFd, ptr, slice};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^                             ^^^^^^^^^^                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mem::transmute`
[INFO] [stdout]  --> src/parcel.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     mem::transmute,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Binder`
[INFO] [stdout]   --> src/parcel.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{Binder, BinderFlatObject, BinderTransactionData, BinderType};
[INFO] [stdout]    |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/myservice.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut service_manager = &mut ServiceManager::new();
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> examples/myservice.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Debug, FromPrimitive)]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_MyServiceCommands`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `acquire_result` is assigned to, but never used
[INFO] [stdout]    --> src/binder.rs:472:17
[INFO] [stdout]     |
[INFO] [stdout] 472 |         let mut acquire_result = Result::NoError;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_acquire_result` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `acquire_result` is never read
[INFO] [stdout]    --> src/binder.rs:492:25
[INFO] [stdout]     |
[INFO] [stdout] 492 |                         acquire_result = if result == 0 {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/service.rs:108:29
[INFO] [stdout]     |
[INFO] [stdout] 102 | ...                   Interface => {
[INFO] [stdout]     |                       --------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 108 | ...                   _ => {}
[INFO] [stdout]     |                       ^ unreachable pattern
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Interface`
[INFO] [stdout]    --> src/service.rs:102:29
[INFO] [stdout]     |
[INFO] [stdout] 102 | ...                   Interface => {
[INFO] [stdout]     |                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_Interface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transaction`
[INFO] [stdout]    --> src/service.rs:149:14
[INFO] [stdout]     |
[INFO] [stdout] 149 |         let (transaction, mut parcel) = self.binder.transact(
[INFO] [stdout]     |              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transaction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transaction`
[INFO] [stdout]    --> src/service.rs:182:14
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let (transaction, mut parcel) = self.binder.transact(
[INFO] [stdout]     |              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transaction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parcel`
[INFO] [stdout]    --> src/service.rs:182:31
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let (transaction, mut parcel) = self.binder.transact(
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parcel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/service.rs:182:27
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let (transaction, mut parcel) = self.binder.transact(
[INFO] [stdout]     |                           ----^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinderTransactionDataData` is never constructed
[INFO] [stdout]    --> src/binder.rs:162:19
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub(crate) struct BinderTransactionDataData {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `mem` is never read
[INFO] [stdout]    --> src/binder.rs:339:5
[INFO] [stdout]     |
[INFO] [stdout] 337 | pub struct Binder {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] 338 |     fd: RawFd,
[INFO] [stdout] 339 |     mem: *const c_void,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `CheckService` and `ListServices` are never constructed
[INFO] [stdout]   --> src/service.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | enum ServiceManagerFunctions {
[INFO] [stdout]    |      ----------------------- variants in this enum
[INFO] [stdout] 15 |     GetService = 1,
[INFO] [stdout] 16 |     CheckService = 2,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 17 |     AddService = 3,
[INFO] [stdout] 18 |     ListServices = 4,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/service.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Service<'a> {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     name: &'a str,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/service.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct ServiceListener<'a, BS>
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 74 |     name: &'a str,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `phantom` is never read
[INFO] [stdout]    --> src/service.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct ServiceManager<'a> {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 119 |     binder: Binder,
[INFO] [stdout] 120 |     phantom: &'a PhantomData<Binder>
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/binder.rs:56:47
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Hash, Clone, Copy, PartialEq, FromPrimitive)]
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_BinderType`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/binder.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 | #[derive(Debug, FromPrimitive)]
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_Transaction`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `OneWay` should have an upper case name
[INFO] [stdout]    --> src/binder.rs:215:15
[INFO] [stdout]     |
[INFO] [stdout] 215 |         const OneWay = 1;
[INFO] [stdout]     |               ^^^^^^ help: convert the identifier to upper case: `ONE_WAY`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `CollectNotedAppOps` should have an upper case name
[INFO] [stdout]    --> src/binder.rs:216:15
[INFO] [stdout]     |
[INFO] [stdout] 216 |         const CollectNotedAppOps = 2;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `COLLECT_NOTED_APP_OPS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `RootObject` should have an upper case name
[INFO] [stdout]    --> src/binder.rs:217:15
[INFO] [stdout]     |
[INFO] [stdout] 217 |         const RootObject = 4;
[INFO] [stdout]     |               ^^^^^^^^^^ help: convert the identifier to upper case: `ROOT_OBJECT`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `StatusCode` should have an upper case name
[INFO] [stdout]    --> src/binder.rs:218:15
[INFO] [stdout]     |
[INFO] [stdout] 218 |         const StatusCode = 8;
[INFO] [stdout]     |               ^^^^^^^^^^ help: convert the identifier to upper case: `STATUS_CODE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `AcceptFds` should have an upper case name
[INFO] [stdout]    --> src/binder.rs:219:15
[INFO] [stdout]     |
[INFO] [stdout] 219 |         const AcceptFds = 0x10;
[INFO] [stdout]     |               ^^^^^^^^^ help: convert the identifier to upper case: `ACCEPT_FDS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `ClearBuf` should have an upper case name
[INFO] [stdout]    --> src/binder.rs:220:15
[INFO] [stdout]     |
[INFO] [stdout] 220 |         const ClearBuf = 0x20;
[INFO] [stdout]     |               ^^^^^^^^ help: convert the identifier to upper case: `CLEAR_BUF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/binder.rs:261:17
[INFO] [stdout]     |
[INFO] [stdout] 261 | #[derive(Debug, FromPrimitive)]
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_BinderDriverCommandProtocol`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/binder.rs:308:17
[INFO] [stdout]     |
[INFO] [stdout] 308 | #[derive(Debug, FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_BinderDriverReturnProtocol`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/binder.rs:308:32
[INFO] [stdout]     |
[INFO] [stdout] 308 | #[derive(Debug, FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |                                ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_NUM_ToPrimitive_FOR_BinderDriverReturnProtocol`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/binder.rs:556:9
[INFO] [stdout]     |
[INFO] [stdout] 556 |         close(self.fd);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 556 |         let _ = close(self.fd);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/parcel.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |         self.cursor.write(other.to_slice());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let _ = self.cursor.write(other.to_slice());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         self.cursor.write_i32::<LittleEndian>(data);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let _ = self.cursor.write_i32::<LittleEndian>(data);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |         self.cursor.write_u32::<LittleEndian>(data);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let _ = self.cursor.write_u32::<LittleEndian>(data);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |         self.cursor.write_u16::<LittleEndian>(data);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let _ = self.cursor.write_u16::<LittleEndian>(data);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |         self.cursor.write_u32::<LittleEndian>(data as u32);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let _ = self.cursor.write_u32::<LittleEndian>(data as u32);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |         self.cursor.read(&mut data);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let _ = self.cursor.read(&mut data);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |         self.cursor.read(&mut data);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 212 |         let _ = self.cursor.read(&mut data);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 | /         self.cursor.write(unsafe {
[INFO] [stdout] 239 | |             slice::from_raw_parts(&object as *const _ as *const u8, size_of::<T>())
[INFO] [stdout] 240 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 238 |         let _ = self.cursor.write(unsafe {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:249:13
[INFO] [stdout]     |
[INFO] [stdout] 249 |             s16.write_u16::<LittleEndian>(c);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 249 |             let _ = s16.write_u16::<LittleEndian>(c);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |         s16.write_u16::<LittleEndian>(0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 251 |         let _ = s16.write_u16::<LittleEndian>(0);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/parcel.rs:257:9
[INFO] [stdout]     |
[INFO] [stdout] 257 |         self.cursor.write(s16.as_slice());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let _ = self.cursor.write(s16.as_slice());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Interface` should have a snake case name
[INFO] [stdout]    --> src/service.rs:102:29
[INFO] [stdout]     |
[INFO] [stdout] 102 | ...                   Interface => {
[INFO] [stdout]     |                       ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `interface`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 42 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.81s
[INFO] running `Command { std: "docker" "inspect" "3864c26e907c8d98adcf6ed2867331ff4ef4a80088d8dc83e1e614ea058e576c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3864c26e907c8d98adcf6ed2867331ff4ef4a80088d8dc83e1e614ea058e576c", kill_on_drop: false }`
[INFO] [stdout] 3864c26e907c8d98adcf6ed2867331ff4ef4a80088d8dc83e1e614ea058e576c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] cc80eaee30b290147d4922321e5f3aec41563546b8508f152f073e5b5a1f8af8
[INFO] running `Command { std: "docker" "start" "-a" "cc80eaee30b290147d4922321e5f3aec41563546b8508f152f073e5b5a1f8af8", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `ioctl_write_int`
[INFO] [stderr]   --> src/binder.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     ioctl_write_int,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `convert::TryFrom`, `ops::BitOr`, `slice`
[INFO] [stderr]   --> src/binder.rs:24:11
[INFO] [stderr]    |
[INFO] [stderr] 24 | use std::{convert::TryFrom, ffi::c_void, mem::size_of, ops::BitOr, os::unix::io::RawFd, ptr, slice};
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^                             ^^^^^^^^^^                            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `mem::transmute`
[INFO] [stderr]  --> src/parcel.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 |     mem::transmute,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Binder`
[INFO] [stderr]   --> src/parcel.rs:13:13
[INFO] [stderr]    |
[INFO] [stderr] 13 | use crate::{Binder, BinderFlatObject, BinderTransactionData, BinderType};
[INFO] [stderr]    |             ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable `acquire_result` is assigned to, but never used
[INFO] [stderr]    --> src/binder.rs:472:17
[INFO] [stderr]     |
[INFO] [stderr] 472 |         let mut acquire_result = Result::NoError;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_acquire_result` instead
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `acquire_result` is never read
[INFO] [stderr]    --> src/binder.rs:492:25
[INFO] [stderr]     |
[INFO] [stderr] 492 |                         acquire_result = if result == 0 {
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/service.rs:108:29
[INFO] [stderr]     |
[INFO] [stderr] 102 | ...                   Interface => {
[INFO] [stderr]     |                       --------- matches any value
[INFO] [stderr] ...
[INFO] [stderr] 108 | ...                   _ => {}
[INFO] [stderr]     |                       ^ unreachable pattern
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Interface`
[INFO] [stderr]    --> src/service.rs:102:29
[INFO] [stderr]     |
[INFO] [stderr] 102 | ...                   Interface => {
[INFO] [stderr]     |                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_Interface`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `transaction`
[INFO] [stderr]    --> src/service.rs:149:14
[INFO] [stderr]     |
[INFO] [stderr] 149 |         let (transaction, mut parcel) = self.binder.transact(
[INFO] [stderr]     |              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transaction`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `transaction`
[INFO] [stderr]    --> src/service.rs:182:14
[INFO] [stderr]     |
[INFO] [stderr] 182 |         let (transaction, mut parcel) = self.binder.transact(
[INFO] [stderr]     |              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transaction`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parcel`
[INFO] [stderr]    --> src/service.rs:182:31
[INFO] [stderr]     |
[INFO] [stderr] 182 |         let (transaction, mut parcel) = self.binder.transact(
[INFO] [stderr]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parcel`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/service.rs:182:27
[INFO] [stderr]     |
[INFO] [stderr] 182 |         let (transaction, mut parcel) = self.binder.transact(
[INFO] [stderr]     |                           ----^^^^^^
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BinderTransactionDataData` is never constructed
[INFO] [stderr]    --> src/binder.rs:162:19
[INFO] [stderr]     |
[INFO] [stderr] 162 | pub(crate) struct BinderTransactionDataData {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `mem` is never read
[INFO] [stderr]    --> src/binder.rs:339:5
[INFO] [stderr]     |
[INFO] [stderr] 337 | pub struct Binder {
[INFO] [stderr]     |            ------ field in this struct
[INFO] [stderr] 338 |     fd: RawFd,
[INFO] [stderr] 339 |     mem: *const c_void,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `CheckService` and `ListServices` are never constructed
[INFO] [stderr]   --> src/service.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | enum ServiceManagerFunctions {
[INFO] [stderr]    |      ----------------------- variants in this enum
[INFO] [stderr] 15 |     GetService = 1,
[INFO] [stderr] 16 |     CheckService = 2,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 17 |     AddService = 3,
[INFO] [stderr] 18 |     ListServices = 4,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `name` is never read
[INFO] [stderr]   --> src/service.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub struct Service<'a> {
[INFO] [stderr]    |            ------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 24 |     name: &'a str,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `name` is never read
[INFO] [stderr]   --> src/service.rs:74:5
[INFO] [stderr]    |
[INFO] [stderr] 68 | pub struct ServiceListener<'a, BS>
[INFO] [stderr]    |            --------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 74 |     name: &'a str,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `phantom` is never read
[INFO] [stderr]    --> src/service.rs:120:5
[INFO] [stderr]     |
[INFO] [stderr] 118 | pub struct ServiceManager<'a> {
[INFO] [stderr]     |            -------------- field in this struct
[INFO] [stderr] 119 |     binder: Binder,
[INFO] [stderr] 120 |     phantom: &'a PhantomData<Binder>
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> src/binder.rs:56:47
[INFO] [stderr]    |
[INFO] [stderr] 56 | #[derive(Debug, Hash, Clone, Copy, PartialEq, FromPrimitive)]
[INFO] [stderr]    |                                               ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_BinderType`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> src/binder.rs:108:17
[INFO] [stderr]     |
[INFO] [stderr] 108 | #[derive(Debug, FromPrimitive)]
[INFO] [stderr]     |                 ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_Transaction`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: associated constant `OneWay` should have an upper case name
[INFO] [stderr]    --> src/binder.rs:215:15
[INFO] [stderr]     |
[INFO] [stderr] 215 |         const OneWay = 1;
[INFO] [stderr]     |               ^^^^^^ help: convert the identifier to upper case: `ONE_WAY`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated constant `CollectNotedAppOps` should have an upper case name
[INFO] [stderr]    --> src/binder.rs:216:15
[INFO] [stderr]     |
[INFO] [stderr] 216 |         const CollectNotedAppOps = 2;
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `COLLECT_NOTED_APP_OPS`
[INFO] [stderr] 
[INFO] [stderr] warning: associated constant `RootObject` should have an upper case name
[INFO] [stderr]    --> src/binder.rs:217:15
[INFO] [stderr]     |
[INFO] [stderr] 217 |         const RootObject = 4;
[INFO] [stderr]     |               ^^^^^^^^^^ help: convert the identifier to upper case: `ROOT_OBJECT`
[INFO] [stderr] 
[INFO] [stderr] warning: associated constant `StatusCode` should have an upper case name
[INFO] [stderr]    --> src/binder.rs:218:15
[INFO] [stderr]     |
[INFO] [stderr] 218 |         const StatusCode = 8;
[INFO] [stderr]     |               ^^^^^^^^^^ help: convert the identifier to upper case: `STATUS_CODE`
[INFO] [stderr] 
[INFO] [stderr] warning: associated constant `AcceptFds` should have an upper case name
[INFO] [stderr]    --> src/binder.rs:219:15
[INFO] [stderr]     |
[INFO] [stderr] 219 |         const AcceptFds = 0x10;
[INFO] [stderr]     |               ^^^^^^^^^ help: convert the identifier to upper case: `ACCEPT_FDS`
[INFO] [stderr] 
[INFO] [stderr] warning: associated constant `ClearBuf` should have an upper case name
[INFO] [stderr]    --> src/binder.rs:220:15
[INFO] [stderr]     |
[INFO] [stderr] 220 |         const ClearBuf = 0x20;
[INFO] [stderr]     |               ^^^^^^^^ help: convert the identifier to upper case: `CLEAR_BUF`
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> src/binder.rs:261:17
[INFO] [stderr]     |
[INFO] [stderr] 261 | #[derive(Debug, FromPrimitive)]
[INFO] [stderr]     |                 ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_BinderDriverCommandProtocol`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> src/binder.rs:308:17
[INFO] [stderr]     |
[INFO] [stderr] 308 | #[derive(Debug, FromPrimitive, ToPrimitive)]
[INFO] [stderr]     |                 ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_BinderDriverReturnProtocol`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> src/binder.rs:308:32
[INFO] [stderr]     |
[INFO] [stderr] 308 | #[derive(Debug, FromPrimitive, ToPrimitive)]
[INFO] [stderr]     |                                ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current constant `_IMPL_NUM_ToPrimitive_FOR_BinderDriverReturnProtocol`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/binder.rs:556:9
[INFO] [stderr]     |
[INFO] [stderr] 556 |         close(self.fd);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 556 |         let _ = close(self.fd);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/parcel.rs:87:9
[INFO] [stderr]    |
[INFO] [stderr] 87 |         self.cursor.write(other.to_slice());
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 87 |         let _ = self.cursor.write(other.to_slice());
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/parcel.rs:129:9
[INFO] [stderr]     |
[INFO] [stderr] 129 |         self.cursor.write_i32::<LittleEndian>(data);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 129 |         let _ = self.cursor.write_i32::<LittleEndian>(data);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/parcel.rs:133:9
[INFO] [stderr]     |
[INFO] [stderr] 133 |         self.cursor.write_u32::<LittleEndian>(data);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 133 |         let _ = self.cursor.write_u32::<LittleEndian>(data);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/parcel.rs:137:9
[INFO] [stderr]     |
[INFO] [stderr] 137 |         self.cursor.write_u16::<LittleEndian>(data);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 137 |         let _ = self.cursor.write_u16::<LittleEndian>(data);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/parcel.rs:142:9
[INFO] [stderr]     |
[INFO] [stderr] 142 |         self.cursor.write_u32::<LittleEndian>(data as u32);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 142 |         let _ = self.cursor.write_u32::<LittleEndian>(data as u32);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/parcel.rs:206:9
[INFO] [stderr]     |
[INFO] [stderr] 206 |         self.cursor.read(&mut data);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 206 |         let _ = self.cursor.read(&mut data);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/parcel.rs:212:9
[INFO] [stderr]     |
[INFO] [stderr] 212 |         self.cursor.read(&mut data);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 212 |         let _ = self.cursor.read(&mut data);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/parcel.rs:238:9
[INFO] [stderr]     |
[INFO] [stderr] 238 | /         self.cursor.write(unsafe {
[INFO] [stderr] 239 | |             slice::from_raw_parts(&object as *const _ as *const u8, size_of::<T>())
[INFO] [stderr] 240 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 238 |         let _ = self.cursor.write(unsafe {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/parcel.rs:249:13
[INFO] [stderr]     |
[INFO] [stderr] 249 |             s16.write_u16::<LittleEndian>(c);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 249 |             let _ = s16.write_u16::<LittleEndian>(c);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/parcel.rs:251:9
[INFO] [stderr]     |
[INFO] [stderr] 251 |         s16.write_u16::<LittleEndian>(0);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 251 |         let _ = s16.write_u16::<LittleEndian>(0);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/parcel.rs:257:9
[INFO] [stderr]     |
[INFO] [stderr] 257 |         self.cursor.write(s16.as_slice());
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 257 |         let _ = self.cursor.write(s16.as_slice());
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Interface` should have a snake case name
[INFO] [stderr]    --> src/service.rs:102:29
[INFO] [stderr]     |
[INFO] [stderr] 102 | ...                   Interface => {
[INFO] [stderr]     |                       ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `interface`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `binder-rust` (lib) generated 42 warnings (run `cargo fix --lib -p binder-rust` to apply 5 suggestions)
[INFO] [stderr] warning: `binder-rust` (lib test) generated 42 warnings (42 duplicates)
[INFO] [stderr] warning: unused import: `Binder`
[INFO] [stderr]  --> examples/myservice.rs:3:19
[INFO] [stderr]   |
[INFO] [stderr] 3 | use binder_rust::{Binder, BinderService, Parcel, ServiceManager};
[INFO] [stderr]   |                   ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> examples/myservice.rs:45:9
[INFO] [stderr]    |
[INFO] [stderr] 45 |     let mut service_manager = &mut ServiceManager::new();
[INFO] [stderr]    |         ----^^^^^^^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> examples/myservice.rs:16:17
[INFO] [stderr]    |
[INFO] [stderr] 16 | #[derive(Debug, FromPrimitive)]
[INFO] [stderr]    |                 ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current constant `_IMPL_NUM_FromPrimitive_FOR_MyServiceCommands`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]  --> examples/simple.rs:5:9
[INFO] [stderr]   |
[INFO] [stderr] 5 |     let mut service_manager = &mut ServiceManager::new();
[INFO] [stderr]   |         ----^^^^^^^^^^^^^^^
[INFO] [stderr]   |         |
[INFO] [stderr]   |         help: remove this `mut`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `binder-rust` (example "myservice") generated 3 warnings (run `cargo fix --example "myservice"` to apply 2 suggestions)
[INFO] [stderr] warning: `binder-rust` (example "simple") generated 1 warning (run `cargo fix --example "simple"` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/binder_rust-1e2ff644264217a8)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests binder_rust
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "cc80eaee30b290147d4922321e5f3aec41563546b8508f152f073e5b5a1f8af8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cc80eaee30b290147d4922321e5f3aec41563546b8508f152f073e5b5a1f8af8", kill_on_drop: false }`
[INFO] [stdout] cc80eaee30b290147d4922321e5f3aec41563546b8508f152f073e5b5a1f8af8
