[INFO] cloning repository https://github.com/Julius-IX/rin
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Julius-IX/rin" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJulius-IX%2Frin", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJulius-IX%2Frin'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ff02f6df25ffc3e3cc6ef861a2b0218318824c32
[INFO] checking Julius-IX/rin against 8773d2c75a8e90130dcce745a7ec4e66bb9963db+rustflags=-Aunfulfilled-lint-expectations for pr-163637
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJulius-IX%2Frin" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Julius-IX/rin
[INFO] finished tweaking git repo https://github.com/Julius-IX/rin
[INFO] tweaked toml for git repo https://github.com/Julius-IX/rin written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Julius-IX/rin on toolchain 8773d2c75a8e90130dcce745a7ec4e66bb9963db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8773d2c75a8e90130dcce745a7ec4e66bb9963db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Julius-IX/rin 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" "+8773d2c75a8e90130dcce745a7ec4e66bb9963db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking Julius-IX/rin against 8773d2c75a8e90130dcce745a7ec4e66bb9963db+rustflags=-Aunfulfilled-lint-expectations for pr-163637
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJulius-IX%2Frin" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Julius-IX/rin
[INFO] finished tweaking git repo https://github.com/Julius-IX/rin
[INFO] tweaked toml for git repo https://github.com/Julius-IX/rin written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Julius-IX/rin on toolchain 8773d2c75a8e90130dcce745a7ec4e66bb9963db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8773d2c75a8e90130dcce745a7ec4e66bb9963db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Julius-IX/rin 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" "+8773d2c75a8e90130dcce745a7ec4e66bb9963db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 60767d214b11948532246ab13e19e722cb37d7a85d4d301bad249cd9a7433620
[INFO] running `Command { std: "docker" "start" "60767d214b11948532246ab13e19e722cb37d7a85d4d301bad249cd9a7433620", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "60767d214b11948532246ab13e19e722cb37d7a85d4d301bad249cd9a7433620", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "60767d214b11948532246ab13e19e722cb37d7a85d4d301bad249cd9a7433620" "/opt/rustwide/cargo-home/bin/cargo" "+8773d2c75a8e90130dcce745a7ec4e66bb9963db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "60767d214b11948532246ab13e19e722cb37d7a85d4d301bad249cd9a7433620", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Aunfulfilled-lint-expectations" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "60767d214b11948532246ab13e19e722cb37d7a85d4d301bad249cd9a7433620" "/opt/rustwide/cargo-home/bin/cargo" "+8773d2c75a8e90130dcce745a7ec4e66bb9963db" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling unicode-ident v1.0.26
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]     Checking clap_lex v1.1.1
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]     Checking strum v0.28.0
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]     Checking clap_builder v4.6.7
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling syn v3.0.6
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling clap_derive v4.6.7
[INFO] [stderr]     Checking clap v4.6.7
[INFO] [stderr]     Checking rin v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ff_effect_type::FfEffectType`
[INFO] [stdout]   --> src/input/mod.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub use ff_effect_type::FfEffectType;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ff_property::FfProperty`
[INFO] [stdout]   --> src/input/mod.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub use ff_property::FfProperty;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ff_status::FfStatus`
[INFO] [stdout]   --> src/input/mod.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub use ff_status::FfStatus;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ff_effect_type::FfEffectType`
[INFO] [stdout]   --> src/input/mod.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub use ff_effect_type::FfEffectType;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ff_waveform::FfWaveform`
[INFO] [stdout]   --> src/input/mod.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub use ff_waveform::FfWaveform;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ff_property::FfProperty`
[INFO] [stdout]   --> src/input/mod.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub use ff_property::FfProperty;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ff_status::FfStatus`
[INFO] [stdout]   --> src/input/mod.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub use ff_status::FfStatus;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ff_waveform::FfWaveform`
[INFO] [stdout]   --> src/input/mod.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub use ff_waveform::FfWaveform;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FfConditionEffect`, `FfConstantEffect`, `FfEffectData`, `FfEnvelope`, `FfHapticEffect`, `FfPeriodicEffect`, `FfRampEffect`, `FfReplay`, `FfRumbleEffect`, and `FfTrigger`
[INFO] [stdout]   --> src/input/mod.rs:31:3
[INFO] [stdout]    |
[INFO] [stdout] 31 |   FfConditionEffect, FfConstantEffect, FfEffect, FfEffectData, FfEnvelope, FfHapticEffect,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^            ^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 32 |   FfPeriodicEffect, FfRampEffect, FfReplay, FfRumbleEffect, FfTrigger,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `id_field::IdField`
[INFO] [stdout]   --> src/input/mod.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub use id_field::IdField;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EV_VERSION` and `KernelUlong`
[INFO] [stdout]   --> src/input/mod.rs:35:35
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub use input_event::{InputEvent, KernelUlong, EV_VERSION};
[INFO] [stdout]    |                                   ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FfConditionEffect`, `FfConstantEffect`, `FfEffectData`, `FfEnvelope`, `FfHapticEffect`, `FfPeriodicEffect`, `FfRampEffect`, `FfReplay`, `FfRumbleEffect`, and `FfTrigger`
[INFO] [stdout]   --> src/input/mod.rs:31:3
[INFO] [stdout]    |
[INFO] [stdout] 31 |   FfConditionEffect, FfConstantEffect, FfEffect, FfEffectData, FfEnvelope, FfHapticEffect,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^            ^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 32 |   FfPeriodicEffect, FfRampEffect, FfReplay, FfRumbleEffect, FfTrigger,
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `id_field::IdField`
[INFO] [stdout]   --> src/input/mod.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub use id_field::IdField;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EV_VERSION` and `KernelUlong`
[INFO] [stdout]   --> src/input/mod.rs:35:35
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub use input_event::{InputEvent, KernelUlong, EV_VERSION};
[INFO] [stdout]    |                                   ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `INPUT_KEYMAP_BY_INDEX`
[INFO] [stdout]   --> src/input/mod.rs:38:42
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub use keymap_entry::{InputKeymapEntry, INPUT_KEYMAP_BY_INDEX};
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `INPUT_KEYMAP_BY_INDEX`
[INFO] [stdout]   --> src/input/mod.rs:38:42
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub use keymap_entry::{InputKeymapEntry, INPUT_KEYMAP_BY_INDEX};
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mt_tool::MtTool`
[INFO] [stdout]   --> src/input/mod.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub use mt_tool::MtTool;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mt_tool::MtTool`
[INFO] [stdout]   --> src/input/mod.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub use mt_tool::MtTool;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `autorepeat::Autorepeat`
[INFO] [stdout]   --> src/input_event_codes/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use autorepeat::Autorepeat;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sound_profile::SoundProfile`
[INFO] [stdout]   --> src/input_event_codes/mod.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub use sound_profile::SoundProfile;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `autorepeat::Autorepeat`
[INFO] [stdout]   --> src/input_event_codes/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use autorepeat::Autorepeat;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sound_profile::SoundProfile`
[INFO] [stdout]   --> src/input_event_codes/mod.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub use sound_profile::SoundProfile;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FF_MAX_EFFECTS` is never used
[INFO] [stdout]   --> src/input/mod.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const FF_MAX_EFFECTS: u32 = 0x60;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FF_MAX` is never used
[INFO] [stdout]   --> src/input/mod.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const FF_MAX: u32 = 0x7f;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FF_CNT` is never used
[INFO] [stdout]   --> src/input/mod.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub const FF_CNT: u32 = FF_MAX + 1;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/input/bus.rs:4:3
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub enum Bus {
[INFO] [stdout]    |          --- variants in this enum
[INFO] [stdout]  4 |   Pci,
[INFO] [stdout]    |   ^^^
[INFO] [stdout]  5 |   Isapnp,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]  6 |   Usb,
[INFO] [stdout]    |   ^^^
[INFO] [stdout]  7 |   Hil,
[INFO] [stdout]    |   ^^^
[INFO] [stdout]  8 |   Bluetooth,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |   Isa,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 12 |   I8042,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 13 |   Xtkbd,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 14 |   Rs232,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 15 |   Gameport,
[INFO] [stdout]    |   ^^^^^^^^
[INFO] [stdout] 16 |   Parport,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout] 17 |   Amiga,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 18 |   Adb,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 19 |   I2c,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 20 |   Host,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 21 |   Gsc,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 22 |   Atari,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 23 |   Spi,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 24 |   Rmi,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 25 |   Cec,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 26 |   IntelIshtp,
[INFO] [stdout]    |   ^^^^^^^^^^
[INFO] [stdout] 27 |   AmdSfh,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 28 |   Sdw,
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Bus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]   --> src/input/bus.rs:63:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl Bus {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 63 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FfEffectType` is never used
[INFO] [stdout]  --> src/input/ff_effect_type.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum FfEffectType {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input/ff_effect_type.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl FfEffectType {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 19 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 20 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FfProperty` is never used
[INFO] [stdout]  --> src/input/ff_property.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum FfProperty {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input/ff_property.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl FfProperty {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout]  9 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 10 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FfStatus` is never used
[INFO] [stdout]  --> src/input/ff_status.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum FfStatus {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input/ff_status.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl FfStatus {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 10 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 11 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FfWaveform` is never used
[INFO] [stdout]  --> src/input/ff_waveform.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum FfWaveform {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input/ff_waveform.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl FfWaveform {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 16 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 17 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FfReplay` is never constructed
[INFO] [stdout]   --> src/input/force_feedback.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct FfReplay {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FfTrigger` is never constructed
[INFO] [stdout]   --> src/input/force_feedback.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct FfTrigger {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FfEnvelope` is never constructed
[INFO] [stdout]   --> src/input/force_feedback.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct FfEnvelope {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FfConstantEffect` is never constructed
[INFO] [stdout]   --> src/input/force_feedback.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct FfConstantEffect {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FfRampEffect` is never constructed
[INFO] [stdout]   --> src/input/force_feedback.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct FfRampEffect {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FfConditionEffect` is never constructed
[INFO] [stdout]   --> src/input/force_feedback.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct FfConditionEffect {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FfPeriodicEffect` is never constructed
[INFO] [stdout]   --> src/input/force_feedback.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub struct FfPeriodicEffect {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FfRumbleEffect` is never constructed
[INFO] [stdout]    --> src/input/force_feedback.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct FfRumbleEffect {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FfHapticEffect` is never constructed
[INFO] [stdout]    --> src/input/force_feedback.rs:149:12
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub struct FfHapticEffect {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: union `FfEffectData` is never used
[INFO] [stdout]    --> src/input/force_feedback.rs:169:11
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub union FfEffectData {
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FfEffect` is never constructed
[INFO] [stdout]    --> src/input/force_feedback.rs:207:12
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub struct FfEffect {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `IdField` is never used
[INFO] [stdout]  --> src/input/id_field.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum IdField {
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input/id_field.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl IdField {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 11 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 12 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EV_VERSION` is never used
[INFO] [stdout]   --> src/input/input_event.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const EV_VERSION: u32 = 0x010001;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InputMask` is never constructed
[INFO] [stdout]  --> src/input/input_mask.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct InputMask {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT_KEYMAP_BY_INDEX` is never used
[INFO] [stdout]  --> src/input/keymap_entry.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const INPUT_KEYMAP_BY_INDEX: u8 = 1 << 0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InputKeymapEntry` is never constructed
[INFO] [stdout]   --> src/input/keymap_entry.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct InputKeymapEntry {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MtTool` is never used
[INFO] [stdout]  --> src/input/mt_tool.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum MtTool {
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input/mt_tool.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl MtTool {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] 12 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 13 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCGVERSION` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const EVIOCGVERSION: Request = ior::<c_int>(b'E', 0x01);
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCGID` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const EVIOCGID: Request = ior::<InputId>(b'E', 0x02);
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCGREP` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const EVIOCGREP: Request = ior::<[c_uint; 2]>(b'E', 0x03);
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCSREP` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const EVIOCSREP: Request = iow::<[c_uint; 2]>(b'E', 0x03);
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCGKEYCODE` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const EVIOCGKEYCODE: Request = ior::<[c_uint; 2]>(b'E', 0x04);
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCGKEYCODE_V2` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const EVIOCGKEYCODE_V2: Request = ior::<InputKeymapEntry>(b'E', 0x04);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCSKEYCODE` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const EVIOCSKEYCODE: Request = iow::<[c_uint; 2]>(b'E', 0x04);
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCSKEYCODE_V2` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const EVIOCSKEYCODE_V2: Request = iow::<InputKeymapEntry>(b'E', 0x04);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eviocgname` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:30:14
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const fn eviocgname(len: usize) -> Request {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eviocgphys` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const fn eviocgphys(len: usize) -> Request {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eviocguniq` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:38:14
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const fn eviocguniq(len: usize) -> Request {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eviocgprop` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:42:14
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const fn eviocgprop(len: usize) -> Request {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eviocgmtslots` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:71:14
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub const fn eviocgmtslots(len: usize) -> Request {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eviocgkey` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:76:14
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub const fn eviocgkey(len: usize) -> Request {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eviocgled` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:80:14
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub const fn eviocgled(len: usize) -> Request {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eviocgsnd` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:84:14
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub const fn eviocgsnd(len: usize) -> Request {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eviocgsw` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:88:14
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub const fn eviocgsw(len: usize) -> Request {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eviocgbit` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:95:14
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub const fn eviocgbit(ev: u32, len: usize) -> Request {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eviocgabs` is never used
[INFO] [stdout]    --> src/input/ioctls.rs:101:14
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub const fn eviocgabs(abs: u32) -> Request {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eviocsabs` is never used
[INFO] [stdout]    --> src/input/ioctls.rs:107:14
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub const fn eviocsabs(abs: u32) -> Request {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCSFF` is never used
[INFO] [stdout]    --> src/input/ioctls.rs:112:11
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub const EVIOCSFF: Request = iow::<FfEffect>(b'E', 0x80);
[INFO] [stdout]     |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCRMFF` is never used
[INFO] [stdout]    --> src/input/ioctls.rs:114:11
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub const EVIOCRMFF: Request = iow::<c_int>(b'E', 0x81);
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCGEFFECTS` is never used
[INFO] [stdout]    --> src/input/ioctls.rs:116:11
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub const EVIOCGEFFECTS: Request = ior::<c_int>(b'E', 0x84);
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCGRAB` is never used
[INFO] [stdout]    --> src/input/ioctls.rs:119:11
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub const EVIOCGRAB: Request = iow::<c_int>(b'E', 0x90);
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCREVOKE` is never used
[INFO] [stdout]    --> src/input/ioctls.rs:121:11
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub const EVIOCREVOKE: Request = iow::<c_int>(b'E', 0x91);
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCGMASK` is never used
[INFO] [stdout]    --> src/input/ioctls.rs:150:11
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub const EVIOCGMASK: Request = ior::<InputMask>(b'E', 0x92);
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCSMASK` is never used
[INFO] [stdout]    --> src/input/ioctls.rs:171:11
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub const EVIOCSMASK: Request = iow::<InputMask>(b'E', 0x93);
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCSCLOCKID` is never used
[INFO] [stdout]    --> src/input/ioctls.rs:174:11
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub const EVIOCSCLOCKID: Request = iow::<c_int>(b'E', 0xa0);
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AbsoluteAxis` is never used
[INFO] [stdout]  --> src/input_event_codes/absolute_axis.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum AbsoluteAxis {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]    --> src/input_event_codes/absolute_axis.rs:79:10
[INFO] [stdout]     |
[INFO] [stdout]  77 | impl AbsoluteAxis {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout]  78 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout]  79 |   pub fn code(&self) -> u32 {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Autorepeat` is never used
[INFO] [stdout]  --> src/input_event_codes/autorepeat.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Autorepeat {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input_event_codes/autorepeat.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Autorepeat {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 11 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 12 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Rep`, `Pwd`, `FfStatus`, and `Cnt` are never constructed
[INFO] [stdout]   --> src/input_event_codes/event_types.rs:12:3
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub enum EventTypes {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 12 |   Rep,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 13 |   Ff,
[INFO] [stdout] 14 |   Pwd,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 15 |   FfStatus,
[INFO] [stdout]    |   ^^^^^^^^
[INFO] [stdout] 16 |   Max,
[INFO] [stdout] 17 |   Cnt,
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventTypes` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]   --> src/input_event_codes/event_types.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl EventTypes {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InputProp` is never used
[INFO] [stdout]  --> src/input_event_codes/input_prop.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum InputProp {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input_event_codes/input_prop.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl InputProp {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 26 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 27 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_char` is never used
[INFO] [stdout]     --> src/input_event_codes/key.rs:2214:10
[INFO] [stdout]      |
[INFO] [stdout] 2207 | impl Key {
[INFO] [stdout]      | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2214 |   pub fn as_char(&self, shift: bool) -> Option<char> {
[INFO] [stdout]      |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generic_name` is never used
[INFO] [stdout]     --> src/input_event_codes/key.rs:3234:10
[INFO] [stdout]      |
[INFO] [stdout] 2436 | impl Key {
[INFO] [stdout]      | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 3234 |   pub fn generic_name(&self) -> Option<&'static str> {
[INFO] [stdout]      |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Led` is never used
[INFO] [stdout]  --> src/input_event_codes/led.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum Led {
[INFO] [stdout]   |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input_event_codes/led.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Led {
[INFO] [stdout]    | -------- methods in this implementation
[INFO] [stdout] 26 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 27 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Misc` is never used
[INFO] [stdout]  --> src/input_event_codes/misc.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Misc {
[INFO] [stdout]   |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input_event_codes/misc.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Misc {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] 15 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 16 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RelativeAxis` is never used
[INFO] [stdout]  --> src/input_event_codes/relative_axis.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum RelativeAxis {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input_event_codes/relative_axis.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl RelativeAxis {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 27 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 28 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Sound` is never used
[INFO] [stdout]  --> src/input_event_codes/sound.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Sound {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input_event_codes/sound.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Sound {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 12 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 13 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SoundProfile` is never used
[INFO] [stdout]  --> src/input_event_codes/sound_profile.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum SoundProfile {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input_event_codes/sound_profile.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl SoundProfile {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 10 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 11 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SwitchEvent` is never used
[INFO] [stdout]  --> src/input_event_codes/switch_event.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum SwitchEvent {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input_event_codes/switch_event.rs:48:10
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl SwitchEvent {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] 47 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 48 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Config`, `MtReport`, `Dropped`, and `Cnt` are never constructed
[INFO] [stdout]  --> src/input_event_codes/syn.rs:5:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Syn {
[INFO] [stdout]   |          --- variants in this enum
[INFO] [stdout] 4 |   Report,
[INFO] [stdout] 5 |   Config,
[INFO] [stdout]   |   ^^^^^^
[INFO] [stdout] 6 |   MtReport,
[INFO] [stdout]   |   ^^^^^^^^
[INFO] [stdout] 7 |   Dropped,
[INFO] [stdout]   |   ^^^^^^^
[INFO] [stdout] 8 |   Max,
[INFO] [stdout] 9 |   Cnt,
[INFO] [stdout]   |   ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Syn` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]   --> src/input_event_codes/syn.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Syn {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ior` is never used
[INFO] [stdout]   --> src/ioctl.rs:77:14
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub const fn ior<T>(ty: u8, nr: u8) -> Request {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `iowr` is never used
[INFO] [stdout]   --> src/ioctl.rs:87:14
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub const fn iowr<T>(ty: u8, nr: u8) -> Request {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IOC_READ` is never used
[INFO] [stdout]   --> src/ioctl.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 |   pub const IOC_READ: u32 = 2;
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UINPUT_VERSION` is never used
[INFO] [stdout]   --> src/uinput/mod.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const UINPUT_VERSION: u32 = 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ABS_CNT` is never used
[INFO] [stdout]   --> src/uinput/mod.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const ABS_CNT: usize = 0x40;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EV_UINPUT` is never used
[INFO] [stdout]   --> src/uinput/mod.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const EV_UINPUT: u16 = 0x0101;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UI_FF_UPLOAD` is never used
[INFO] [stdout]   --> src/uinput/mod.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const UI_FF_UPLOAD: u16 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UI_FF_ERASE` is never used
[INFO] [stdout]   --> src/uinput/mod.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const UI_FF_ERASE: u16 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UI_SET_PHYS` is never used
[INFO] [stdout]   --> src/uinput/ioctls.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const UI_SET_PHYS: Request = iow::<*const c_char>(UINPUT_IOCTL_BASE, 108);
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UI_BEGIN_FF_UPLOAD` is never used
[INFO] [stdout]   --> src/uinput/ioctls.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const UI_BEGIN_FF_UPLOAD: Request = iowr::<UinputFfUpload>(UINPUT_IOCTL_BASE, 200);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UI_END_FF_UPLOAD` is never used
[INFO] [stdout]   --> src/uinput/ioctls.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const UI_END_FF_UPLOAD: Request = iow::<UinputFfUpload>(UINPUT_IOCTL_BASE, 201);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UI_BEGIN_FF_ERASE` is never used
[INFO] [stdout]   --> src/uinput/ioctls.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const UI_BEGIN_FF_ERASE: Request = iowr::<UinputFfErase>(UINPUT_IOCTL_BASE, 202);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UI_END_FF_ERASE` is never used
[INFO] [stdout]   --> src/uinput/ioctls.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const UI_END_FF_ERASE: Request = iow::<UinputFfErase>(UINPUT_IOCTL_BASE, 203);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ui_get_sysname` is never used
[INFO] [stdout]   --> src/uinput/ioctls.rs:41:14
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const fn ui_get_sysname(len: usize) -> Request {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UI_GET_VERSION` is never used
[INFO] [stdout]   --> src/uinput/ioctls.rs:50:11
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub const UI_GET_VERSION: Request = ior::<c_uint>(UINPUT_IOCTL_BASE, 45);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UinputFfUpload` is never constructed
[INFO] [stdout]   --> src/uinput/structs.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct UinputFfUpload {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UinputFfErase` is never constructed
[INFO] [stdout]   --> src/uinput/structs.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct UinputFfErase {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UinputUserDev` is never constructed
[INFO] [stdout]    --> src/uinput/structs.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub struct UinputUserDev {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_name` is never used
[INFO] [stdout]    --> src/uinput/structs.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl UinputUserDev {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] 136 |   /// Sets [`name`](Self::name) from a string (see [`copy_name`]).
[INFO] [stdout] 137 |   pub fn set_name(&mut self, name: &str) {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `perm_bits` is never used
[INFO] [stdout]    --> src/cli/checks.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn perm_bits(path: &str) -> io::Result<u32> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_input_access` is never used
[INFO] [stdout]    --> src/cli/checks.rs:478:8
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub fn has_input_access() -> Result<bool, CheckError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Repeat` is never constructed
[INFO] [stdout]   --> src/devices/mod.rs:62:3
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub enum KeyState {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 62 |   Repeat,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `KeyState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Physical` is never constructed
[INFO] [stdout]   --> src/devices/mod.rs:78:3
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub(crate) enum Kind {
[INFO] [stdout]    |                 ---- variant in this enum
[INFO] [stdout] 77 |   /// Opened from `/dev/input/eventN`.
[INFO] [stdout] 78 |   Physical,
[INFO] [stdout]    |   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Kind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/devices/mod.rs:94:10
[INFO] [stdout]     |
[INFO] [stdout]  91 | impl InputDevice {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  94 |   pub fn open(path: impl AsRef<Path>) -> io::Result<Self> {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |   pub fn query_devices() -> io::Result<Vec<DeviceInfo>> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |   pub fn name(&self) -> io::Result<String> {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |   pub fn id(&self) -> io::Result<InputId> {
[INFO] [stdout]     |          ^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |   pub fn grab(&self) -> io::Result<()> {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |   pub fn ungrab(&self) -> io::Result<()> {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |   pub fn clone_device(&self, name: impl Into<String>) -> io::Result<InputDevice> {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_bits` is never used
[INFO] [stdout]    --> src/devices/mod.rs:282:4
[INFO] [stdout]     |
[INFO] [stdout] 282 | fn read_bits(fd: RawFd, event_type: u32, cnt: u32) -> io::Result<Vec<u8>> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bit_set` is never used
[INFO] [stdout]    --> src/devices/mod.rs:288:4
[INFO] [stdout]     |
[INFO] [stdout] 288 | fn bit_set(buf: &[u8], code: u32) -> bool {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `input_prop_from_code` is never used
[INFO] [stdout]    --> src/devices/mod.rs:293:4
[INFO] [stdout]     |
[INFO] [stdout] 293 | fn input_prop_from_code(code: u32) -> Option<InputProp> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/devices/builder.rs:69:10
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl DeviceBuilder {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  69 |   pub fn id(mut self, id: InputId) -> Self {
[INFO] [stdout]     |          ^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |   pub fn bus(mut self, bus: Bus) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |   pub fn vendor(mut self, vendor: u16) -> Self {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |   pub fn product(mut self, product: u16) -> Self {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |   pub fn version(mut self, version: u16) -> Self {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |   pub fn ff_effects_max(mut self, max: u32) -> Self {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |   pub fn event_type(mut self, event_type: EventTypes) -> Self {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |   pub fn abs_code(mut self, code: u32, info: InputAbsinfo) -> Self {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |   pub fn keys(mut self, keys: impl IntoIterator<Item = Key>) -> Self {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |   pub fn rel_axis(self, axis: RelativeAxis) -> Self {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |   pub fn abs_axis(self, axis: AbsoluteAxis, info: InputAbsinfo) -> Self {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |   pub fn led(self, led: Led) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |   pub fn sound(self, sound: Sound) -> Self {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |   pub fn misc(self, misc: Misc) -> Self {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |   pub fn switch(self, switch: SwitchEvent) -> Self {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |   pub fn prop(mut self, prop: InputProp) -> Self {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeviceInfo` is never constructed
[INFO] [stdout]  --> src/devices/info.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct DeviceInfo {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `query_devices` is never used
[INFO] [stdout]   --> src/devices/info.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(super) fn query_devices() -> io::Result<Vec<DeviceInfo>> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ioctl_read` is never used
[INFO] [stdout]   --> src/devices/raw.rs:41:15
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub(super) fn ioctl_read<T>(fd: RawFd, request: Request, value: &mut T) -> io::Result<c_int> {
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ioctl_read_buf` is never used
[INFO] [stdout]   --> src/devices/raw.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub(super) fn ioctl_read_buf(fd: RawFd, request: Request, buf: &mut [u8]) -> io::Result<c_int> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FF_MAX_EFFECTS` is never used
[INFO] [stdout]   --> src/input/mod.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const FF_MAX_EFFECTS: u32 = 0x60;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FF_MAX` is never used
[INFO] [stdout]   --> src/input/mod.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const FF_MAX: u32 = 0x7f;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FF_CNT` is never used
[INFO] [stdout]   --> src/input/mod.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub const FF_CNT: u32 = FF_MAX + 1;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/input/bus.rs:4:3
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub enum Bus {
[INFO] [stdout]    |          --- variants in this enum
[INFO] [stdout]  4 |   Pci,
[INFO] [stdout]    |   ^^^
[INFO] [stdout]  5 |   Isapnp,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]  6 |   Usb,
[INFO] [stdout]    |   ^^^
[INFO] [stdout]  7 |   Hil,
[INFO] [stdout]    |   ^^^
[INFO] [stdout]  8 |   Bluetooth,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |   Isa,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 12 |   I8042,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 13 |   Xtkbd,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 14 |   Rs232,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 15 |   Gameport,
[INFO] [stdout]    |   ^^^^^^^^
[INFO] [stdout] 16 |   Parport,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout] 17 |   Amiga,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 18 |   Adb,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 19 |   I2c,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 20 |   Host,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 21 |   Gsc,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 22 |   Atari,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 23 |   Spi,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 24 |   Rmi,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 25 |   Cec,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 26 |   IntelIshtp,
[INFO] [stdout]    |   ^^^^^^^^^^
[INFO] [stdout] 27 |   AmdSfh,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 28 |   Sdw,
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Bus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]   --> src/input/bus.rs:63:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl Bus {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 63 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FfEffectType` is never used
[INFO] [stdout]  --> src/input/ff_effect_type.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum FfEffectType {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input/ff_effect_type.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl FfEffectType {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 19 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 20 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FfProperty` is never used
[INFO] [stdout]  --> src/input/ff_property.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum FfProperty {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input/ff_property.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl FfProperty {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout]  9 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 10 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FfStatus` is never used
[INFO] [stdout]  --> src/input/ff_status.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum FfStatus {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input/ff_status.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl FfStatus {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 10 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 11 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FfWaveform` is never used
[INFO] [stdout]  --> src/input/ff_waveform.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum FfWaveform {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input/ff_waveform.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl FfWaveform {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 16 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 17 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FfReplay` is never constructed
[INFO] [stdout]   --> src/input/force_feedback.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct FfReplay {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FfTrigger` is never constructed
[INFO] [stdout]   --> src/input/force_feedback.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct FfTrigger {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FfEnvelope` is never constructed
[INFO] [stdout]   --> src/input/force_feedback.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct FfEnvelope {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FfConstantEffect` is never constructed
[INFO] [stdout]   --> src/input/force_feedback.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct FfConstantEffect {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FfRampEffect` is never constructed
[INFO] [stdout]   --> src/input/force_feedback.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct FfRampEffect {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FfConditionEffect` is never constructed
[INFO] [stdout]   --> src/input/force_feedback.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct FfConditionEffect {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FfPeriodicEffect` is never constructed
[INFO] [stdout]   --> src/input/force_feedback.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub struct FfPeriodicEffect {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FfRumbleEffect` is never constructed
[INFO] [stdout]    --> src/input/force_feedback.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct FfRumbleEffect {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FfHapticEffect` is never constructed
[INFO] [stdout]    --> src/input/force_feedback.rs:149:12
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub struct FfHapticEffect {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: union `FfEffectData` is never used
[INFO] [stdout]    --> src/input/force_feedback.rs:169:11
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub union FfEffectData {
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FfEffect` is never constructed
[INFO] [stdout]    --> src/input/force_feedback.rs:207:12
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub struct FfEffect {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `IdField` is never used
[INFO] [stdout]  --> src/input/id_field.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum IdField {
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input/id_field.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl IdField {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 11 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 12 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EV_VERSION` is never used
[INFO] [stdout]   --> src/input/input_event.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const EV_VERSION: u32 = 0x010001;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InputMask` is never constructed
[INFO] [stdout]  --> src/input/input_mask.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct InputMask {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INPUT_KEYMAP_BY_INDEX` is never used
[INFO] [stdout]  --> src/input/keymap_entry.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const INPUT_KEYMAP_BY_INDEX: u8 = 1 << 0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InputKeymapEntry` is never constructed
[INFO] [stdout]   --> src/input/keymap_entry.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct InputKeymapEntry {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MtTool` is never used
[INFO] [stdout]  --> src/input/mt_tool.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum MtTool {
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input/mt_tool.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl MtTool {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] 12 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 13 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCGVERSION` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const EVIOCGVERSION: Request = ior::<c_int>(b'E', 0x01);
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCGID` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const EVIOCGID: Request = ior::<InputId>(b'E', 0x02);
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCGREP` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const EVIOCGREP: Request = ior::<[c_uint; 2]>(b'E', 0x03);
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCSREP` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const EVIOCSREP: Request = iow::<[c_uint; 2]>(b'E', 0x03);
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCGKEYCODE` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const EVIOCGKEYCODE: Request = ior::<[c_uint; 2]>(b'E', 0x04);
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCGKEYCODE_V2` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const EVIOCGKEYCODE_V2: Request = ior::<InputKeymapEntry>(b'E', 0x04);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCSKEYCODE` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const EVIOCSKEYCODE: Request = iow::<[c_uint; 2]>(b'E', 0x04);
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCSKEYCODE_V2` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const EVIOCSKEYCODE_V2: Request = iow::<InputKeymapEntry>(b'E', 0x04);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eviocgname` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:30:14
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const fn eviocgname(len: usize) -> Request {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eviocgphys` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const fn eviocgphys(len: usize) -> Request {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eviocguniq` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:38:14
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const fn eviocguniq(len: usize) -> Request {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eviocgprop` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:42:14
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const fn eviocgprop(len: usize) -> Request {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eviocgmtslots` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:71:14
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub const fn eviocgmtslots(len: usize) -> Request {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eviocgkey` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:76:14
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub const fn eviocgkey(len: usize) -> Request {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eviocgled` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:80:14
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub const fn eviocgled(len: usize) -> Request {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eviocgsnd` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:84:14
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub const fn eviocgsnd(len: usize) -> Request {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eviocgsw` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:88:14
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub const fn eviocgsw(len: usize) -> Request {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eviocgbit` is never used
[INFO] [stdout]   --> src/input/ioctls.rs:95:14
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub const fn eviocgbit(ev: u32, len: usize) -> Request {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eviocgabs` is never used
[INFO] [stdout]    --> src/input/ioctls.rs:101:14
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub const fn eviocgabs(abs: u32) -> Request {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eviocsabs` is never used
[INFO] [stdout]    --> src/input/ioctls.rs:107:14
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub const fn eviocsabs(abs: u32) -> Request {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCSFF` is never used
[INFO] [stdout]    --> src/input/ioctls.rs:112:11
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub const EVIOCSFF: Request = iow::<FfEffect>(b'E', 0x80);
[INFO] [stdout]     |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCRMFF` is never used
[INFO] [stdout]    --> src/input/ioctls.rs:114:11
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub const EVIOCRMFF: Request = iow::<c_int>(b'E', 0x81);
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCGEFFECTS` is never used
[INFO] [stdout]    --> src/input/ioctls.rs:116:11
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub const EVIOCGEFFECTS: Request = ior::<c_int>(b'E', 0x84);
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCGRAB` is never used
[INFO] [stdout]    --> src/input/ioctls.rs:119:11
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub const EVIOCGRAB: Request = iow::<c_int>(b'E', 0x90);
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCREVOKE` is never used
[INFO] [stdout]    --> src/input/ioctls.rs:121:11
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub const EVIOCREVOKE: Request = iow::<c_int>(b'E', 0x91);
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCGMASK` is never used
[INFO] [stdout]    --> src/input/ioctls.rs:150:11
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub const EVIOCGMASK: Request = ior::<InputMask>(b'E', 0x92);
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCSMASK` is never used
[INFO] [stdout]    --> src/input/ioctls.rs:171:11
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub const EVIOCSMASK: Request = iow::<InputMask>(b'E', 0x93);
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVIOCSCLOCKID` is never used
[INFO] [stdout]    --> src/input/ioctls.rs:174:11
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub const EVIOCSCLOCKID: Request = iow::<c_int>(b'E', 0xa0);
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AbsoluteAxis` is never used
[INFO] [stdout]  --> src/input_event_codes/absolute_axis.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum AbsoluteAxis {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]    --> src/input_event_codes/absolute_axis.rs:79:10
[INFO] [stdout]     |
[INFO] [stdout]  77 | impl AbsoluteAxis {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout]  78 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout]  79 |   pub fn code(&self) -> u32 {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Autorepeat` is never used
[INFO] [stdout]  --> src/input_event_codes/autorepeat.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Autorepeat {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input_event_codes/autorepeat.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Autorepeat {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 11 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 12 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Rep`, `Pwd`, `FfStatus`, and `Cnt` are never constructed
[INFO] [stdout]   --> src/input_event_codes/event_types.rs:12:3
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub enum EventTypes {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 12 |   Rep,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 13 |   Ff,
[INFO] [stdout] 14 |   Pwd,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 15 |   FfStatus,
[INFO] [stdout]    |   ^^^^^^^^
[INFO] [stdout] 16 |   Max,
[INFO] [stdout] 17 |   Cnt,
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventTypes` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]   --> src/input_event_codes/event_types.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl EventTypes {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InputProp` is never used
[INFO] [stdout]  --> src/input_event_codes/input_prop.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum InputProp {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input_event_codes/input_prop.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl InputProp {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 26 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 27 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_char` is never used
[INFO] [stdout]     --> src/input_event_codes/key.rs:2214:10
[INFO] [stdout]      |
[INFO] [stdout] 2207 | impl Key {
[INFO] [stdout]      | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2214 |   pub fn as_char(&self, shift: bool) -> Option<char> {
[INFO] [stdout]      |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generic_name` is never used
[INFO] [stdout]     --> src/input_event_codes/key.rs:3234:10
[INFO] [stdout]      |
[INFO] [stdout] 2436 | impl Key {
[INFO] [stdout]      | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 3234 |   pub fn generic_name(&self) -> Option<&'static str> {
[INFO] [stdout]      |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Led` is never used
[INFO] [stdout]  --> src/input_event_codes/led.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum Led {
[INFO] [stdout]   |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input_event_codes/led.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Led {
[INFO] [stdout]    | -------- methods in this implementation
[INFO] [stdout] 26 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 27 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Misc` is never used
[INFO] [stdout]  --> src/input_event_codes/misc.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Misc {
[INFO] [stdout]   |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input_event_codes/misc.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Misc {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] 15 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 16 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RelativeAxis` is never used
[INFO] [stdout]  --> src/input_event_codes/relative_axis.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum RelativeAxis {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input_event_codes/relative_axis.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl RelativeAxis {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 27 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 28 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Sound` is never used
[INFO] [stdout]  --> src/input_event_codes/sound.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Sound {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input_event_codes/sound.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Sound {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 12 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 13 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SoundProfile` is never used
[INFO] [stdout]  --> src/input_event_codes/sound_profile.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum SoundProfile {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input_event_codes/sound_profile.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl SoundProfile {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 10 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 11 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SwitchEvent` is never used
[INFO] [stdout]  --> src/input_event_codes/switch_event.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum SwitchEvent {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code` and `name` are never used
[INFO] [stdout]   --> src/input_event_codes/switch_event.rs:48:10
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl SwitchEvent {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] 47 |   /// The raw numeric event code, as defined by the Linux kernel.
[INFO] [stdout] 48 |   pub fn code(&self) -> u32 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Config`, `MtReport`, `Dropped`, and `Cnt` are never constructed
[INFO] [stdout]  --> src/input_event_codes/syn.rs:5:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Syn {
[INFO] [stdout]   |          --- variants in this enum
[INFO] [stdout] 4 |   Report,
[INFO] [stdout] 5 |   Config,
[INFO] [stdout]   |   ^^^^^^
[INFO] [stdout] 6 |   MtReport,
[INFO] [stdout]   |   ^^^^^^^^
[INFO] [stdout] 7 |   Dropped,
[INFO] [stdout]   |   ^^^^^^^
[INFO] [stdout] 8 |   Max,
[INFO] [stdout] 9 |   Cnt,
[INFO] [stdout]   |   ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Syn` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]   --> src/input_event_codes/syn.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Syn {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |   pub fn name(&self) -> &'static str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ior` is never used
[INFO] [stdout]   --> src/ioctl.rs:77:14
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub const fn ior<T>(ty: u8, nr: u8) -> Request {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `iowr` is never used
[INFO] [stdout]   --> src/ioctl.rs:87:14
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub const fn iowr<T>(ty: u8, nr: u8) -> Request {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IOC_READ` is never used
[INFO] [stdout]   --> src/ioctl.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 |   pub const IOC_READ: u32 = 2;
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UINPUT_VERSION` is never used
[INFO] [stdout]   --> src/uinput/mod.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const UINPUT_VERSION: u32 = 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ABS_CNT` is never used
[INFO] [stdout]   --> src/uinput/mod.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const ABS_CNT: usize = 0x40;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EV_UINPUT` is never used
[INFO] [stdout]   --> src/uinput/mod.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const EV_UINPUT: u16 = 0x0101;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UI_FF_UPLOAD` is never used
[INFO] [stdout]   --> src/uinput/mod.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const UI_FF_UPLOAD: u16 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UI_FF_ERASE` is never used
[INFO] [stdout]   --> src/uinput/mod.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const UI_FF_ERASE: u16 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UI_SET_PHYS` is never used
[INFO] [stdout]   --> src/uinput/ioctls.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const UI_SET_PHYS: Request = iow::<*const c_char>(UINPUT_IOCTL_BASE, 108);
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UI_BEGIN_FF_UPLOAD` is never used
[INFO] [stdout]   --> src/uinput/ioctls.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const UI_BEGIN_FF_UPLOAD: Request = iowr::<UinputFfUpload>(UINPUT_IOCTL_BASE, 200);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UI_END_FF_UPLOAD` is never used
[INFO] [stdout]   --> src/uinput/ioctls.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const UI_END_FF_UPLOAD: Request = iow::<UinputFfUpload>(UINPUT_IOCTL_BASE, 201);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UI_BEGIN_FF_ERASE` is never used
[INFO] [stdout]   --> src/uinput/ioctls.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const UI_BEGIN_FF_ERASE: Request = iowr::<UinputFfErase>(UINPUT_IOCTL_BASE, 202);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UI_END_FF_ERASE` is never used
[INFO] [stdout]   --> src/uinput/ioctls.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const UI_END_FF_ERASE: Request = iow::<UinputFfErase>(UINPUT_IOCTL_BASE, 203);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ui_get_sysname` is never used
[INFO] [stdout]   --> src/uinput/ioctls.rs:41:14
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const fn ui_get_sysname(len: usize) -> Request {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UI_GET_VERSION` is never used
[INFO] [stdout]   --> src/uinput/ioctls.rs:50:11
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub const UI_GET_VERSION: Request = ior::<c_uint>(UINPUT_IOCTL_BASE, 45);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UinputFfUpload` is never constructed
[INFO] [stdout]   --> src/uinput/structs.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct UinputFfUpload {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UinputFfErase` is never constructed
[INFO] [stdout]   --> src/uinput/structs.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct UinputFfErase {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UinputUserDev` is never constructed
[INFO] [stdout]    --> src/uinput/structs.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub struct UinputUserDev {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_name` is never used
[INFO] [stdout]    --> src/uinput/structs.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl UinputUserDev {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] 136 |   /// Sets [`name`](Self::name) from a string (see [`copy_name`]).
[INFO] [stdout] 137 |   pub fn set_name(&mut self, name: &str) {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `perm_bits` is never used
[INFO] [stdout]    --> src/cli/checks.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn perm_bits(path: &str) -> io::Result<u32> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_input_access` is never used
[INFO] [stdout]    --> src/cli/checks.rs:478:8
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub fn has_input_access() -> Result<bool, CheckError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Repeat` is never constructed
[INFO] [stdout]   --> src/devices/mod.rs:62:3
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub enum KeyState {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 62 |   Repeat,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `KeyState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Physical` is never constructed
[INFO] [stdout]   --> src/devices/mod.rs:78:3
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub(crate) enum Kind {
[INFO] [stdout]    |                 ---- variant in this enum
[INFO] [stdout] 77 |   /// Opened from `/dev/input/eventN`.
[INFO] [stdout] 78 |   Physical,
[INFO] [stdout]    |   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Kind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/devices/mod.rs:94:10
[INFO] [stdout]     |
[INFO] [stdout]  91 | impl InputDevice {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  94 |   pub fn open(path: impl AsRef<Path>) -> io::Result<Self> {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |   pub fn query_devices() -> io::Result<Vec<DeviceInfo>> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |   pub fn name(&self) -> io::Result<String> {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |   pub fn id(&self) -> io::Result<InputId> {
[INFO] [stdout]     |          ^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |   pub fn grab(&self) -> io::Result<()> {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |   pub fn ungrab(&self) -> io::Result<()> {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |   pub fn clone_device(&self, name: impl Into<String>) -> io::Result<InputDevice> {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_bits` is never used
[INFO] [stdout]    --> src/devices/mod.rs:282:4
[INFO] [stdout]     |
[INFO] [stdout] 282 | fn read_bits(fd: RawFd, event_type: u32, cnt: u32) -> io::Result<Vec<u8>> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bit_set` is never used
[INFO] [stdout]    --> src/devices/mod.rs:288:4
[INFO] [stdout]     |
[INFO] [stdout] 288 | fn bit_set(buf: &[u8], code: u32) -> bool {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `input_prop_from_code` is never used
[INFO] [stdout]    --> src/devices/mod.rs:293:4
[INFO] [stdout]     |
[INFO] [stdout] 293 | fn input_prop_from_code(code: u32) -> Option<InputProp> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/devices/builder.rs:69:10
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl DeviceBuilder {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  69 |   pub fn id(mut self, id: InputId) -> Self {
[INFO] [stdout]     |          ^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |   pub fn bus(mut self, bus: Bus) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |   pub fn vendor(mut self, vendor: u16) -> Self {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |   pub fn product(mut self, product: u16) -> Self {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |   pub fn version(mut self, version: u16) -> Self {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |   pub fn ff_effects_max(mut self, max: u32) -> Self {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |   pub fn event_type(mut self, event_type: EventTypes) -> Self {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |   pub fn abs_code(mut self, code: u32, info: InputAbsinfo) -> Self {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |   pub fn keys(mut self, keys: impl IntoIterator<Item = Key>) -> Self {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |   pub fn rel_axis(self, axis: RelativeAxis) -> Self {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |   pub fn abs_axis(self, axis: AbsoluteAxis, info: InputAbsinfo) -> Self {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |   pub fn led(self, led: Led) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |   pub fn sound(self, sound: Sound) -> Self {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |   pub fn misc(self, misc: Misc) -> Self {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |   pub fn switch(self, switch: SwitchEvent) -> Self {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |   pub fn prop(mut self, prop: InputProp) -> Self {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeviceInfo` is never constructed
[INFO] [stdout]  --> src/devices/info.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct DeviceInfo {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `query_devices` is never used
[INFO] [stdout]   --> src/devices/info.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(super) fn query_devices() -> io::Result<Vec<DeviceInfo>> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ioctl_read` is never used
[INFO] [stdout]   --> src/devices/raw.rs:41:15
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub(super) fn ioctl_read<T>(fd: RawFd, request: Request, value: &mut T) -> io::Result<c_int> {
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ioctl_read_buf` is never used
[INFO] [stdout]   --> src/devices/raw.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub(super) fn ioctl_read_buf(fd: RawFd, request: Request, buf: &mut [u8]) -> io::Result<c_int> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.78s
[INFO] running `Command { std: "docker" "inspect" "60767d214b11948532246ab13e19e722cb37d7a85d4d301bad249cd9a7433620", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "60767d214b11948532246ab13e19e722cb37d7a85d4d301bad249cd9a7433620", kill_on_drop: false }`
[INFO] [stdout] 60767d214b11948532246ab13e19e722cb37d7a85d4d301bad249cd9a7433620
