[INFO] cloning repository https://github.com/KillingSpark/sessionman [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/KillingSpark/sessionman" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKillingSpark%2Fsessionman", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKillingSpark%2Fsessionman'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 949ba0db3f7142241451a826941a291ae785766e [INFO] checking KillingSpark/sessionman/949ba0db3f7142241451a826941a291ae785766e against master#ab869e094a907cc5d19b4080f22eccaf347f1f95 for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKillingSpark%2Fsessionman" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/KillingSpark/sessionman on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/KillingSpark/sessionman [INFO] finished tweaking git repo https://github.com/KillingSpark/sessionman [INFO] tweaked toml for git repo https://github.com/KillingSpark/sessionman written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 16 packages to latest compatible versions [INFO] [stderr] Adding bitflags v1.3.2 (latest: v2.6.0) [INFO] [stderr] Adding cfg-if v0.1.10 (latest: v1.0.0) [INFO] [stderr] Adding memoffset v0.7.1 (latest: v0.9.1) [INFO] [stderr] Adding nix v0.17.0 (latest: v0.29.0) [INFO] [stderr] Adding nix v0.26.4 (latest: v0.29.0) [INFO] [stderr] Adding rustbus v0.3.2 (latest: v0.19.3) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded acl-rs v0.1.1 [INFO] [stderr] Downloaded acl-sys v1.2.2 [INFO] [stderr] Downloaded rustbus v0.3.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cd3223eeca82c8633ef34c843827e8454cc80af1eb3c81bb31712471938cca0a [INFO] running `Command { std: "docker" "start" "-a" "cd3223eeca82c8633ef34c843827e8454cc80af1eb3c81bb31712471938cca0a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cd3223eeca82c8633ef34c843827e8454cc80af1eb3c81bb31712471938cca0a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cd3223eeca82c8633ef34c843827e8454cc80af1eb3c81bb31712471938cca0a", kill_on_drop: false }` [INFO] [stdout] cd3223eeca82c8633ef34c843827e8454cc80af1eb3c81bb31712471938cca0a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ce37c932803b685636e95775926f20145220d5f9eb42f7e6b724fb7182d70ebe [INFO] running `Command { std: "docker" "start" "-a" "ce37c932803b685636e95775926f20145220d5f9eb42f7e6b724fb7182d70ebe", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.158 [INFO] [stderr] Compiling nix v0.17.0 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Checking nix v0.26.4 [INFO] [stderr] Checking acl-sys v1.2.2 [INFO] [stderr] Checking rustbus v0.3.2 [INFO] [stderr] Checking acl-rs v0.1.1 [INFO] [stderr] Checking sessionman v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 13 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 14 | [INFO] [stdout] 15 | let mut sesman = session::SessionManager::new().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 13 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 14 | [INFO] [stdout] 15 | let mut sesman = session::SessionManager::new().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_id` [INFO] [stdout] --> src/main.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | let session_id = sesman [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FREEZE_FILE_NAME` is never used [INFO] [stdout] --> src/cgroupv2.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const FREEZE_FILE_NAME: &'static str = "cgroup.freeze"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/cgroupv2.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | IoError(std::io::Error), [INFO] [stdout] | ------- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 28 | IoError(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/cgroupv2.rs:30:16 [INFO] [stdout] | [INFO] [stdout] 30 | CantCreate(std::io::Error), [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 30 | CantCreate(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/cgroupv2.rs:31:21 [INFO] [stdout] | [INFO] [stdout] 31 | InvalidPidEntry(String), [INFO] [stdout] | --------------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 31 | InvalidPidEntry(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `freeze` and `thaw` are never used [INFO] [stdout] --> src/cgroupv2.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl Cgroup { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn freeze(&mut self) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | pub fn thaw(&mut self) -> Result<(), Error> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/seat.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Seat { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 11 | pub id: SeatId, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `Seat` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `seat_tag` is never read [INFO] [stdout] --> src/seat.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct Device { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 23 | pub dev_name: PathBuf, [INFO] [stdout] 24 | pub seat_tag: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Device` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `IoError` is never constructed [INFO] [stdout] --> src/seat.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub enum Error { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] 29 | IoError(std::io::Error), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `cgroup` are never read [INFO] [stdout] --> src/session.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct Session { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 29 | id: SessionId, [INFO] [stdout] 30 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | cgroup: cgroupv2::Cgroup, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Session` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/session.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 38 | SessionExistsOnTTY(String), [INFO] [stdout] | ------------------ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 38 | SessionExistsOnTTY(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/session.rs:39:22 [INFO] [stdout] | [INFO] [stdout] 39 | CantCreateCgroup(cgroupv2::Error), [INFO] [stdout] | ---------------- ^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 39 | CantCreateCgroup(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/session.rs:40:20 [INFO] [stdout] | [INFO] [stdout] 40 | CantMoveCgroup(cgroupv2::Error), [INFO] [stdout] | -------------- ^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 40 | CantMoveCgroup(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/session.rs:45:15 [INFO] [stdout] | [INFO] [stdout] 45 | SeatTaken(SessionId), [INFO] [stdout] | --------- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AquireError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 45 | SeatTaken(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/session.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | UnknownSeat(seat::SeatId), [INFO] [stdout] | ----------- ^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AquireError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 46 | UnknownSeat(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/session.rs:47:20 [INFO] [stdout] | [INFO] [stdout] 47 | UnknownSession(SessionId), [INFO] [stdout] | -------------- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AquireError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 47 | UnknownSession(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/main.rs:44:19 [INFO] [stdout] | [INFO] [stdout] 44 | for ev in inotify.read_events() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 44 | while let Ok(ev) = inotify.read_events() { [INFO] [stdout] | ~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 44 | if let Ok(ev) = inotify.read_events() { [INFO] [stdout] | ~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/session.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | self.session_aquire_seat(&session_id, &"seat0".into()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 89 | let _ = self.session_aquire_seat(&session_id, &"seat0".into()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/session.rs:95:13 [INFO] [stdout] | [INFO] [stdout] 95 | self.session_leave_seat(session_id, &seat_id); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 95 | let _ = self.session_leave_seat(session_id, &seat_id); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 20 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_id` [INFO] [stdout] --> src/main.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | let session_id = sesman [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FREEZE_FILE_NAME` is never used [INFO] [stdout] --> src/cgroupv2.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const FREEZE_FILE_NAME: &'static str = "cgroup.freeze"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/cgroupv2.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | IoError(std::io::Error), [INFO] [stdout] | ------- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 28 | IoError(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/cgroupv2.rs:30:16 [INFO] [stdout] | [INFO] [stdout] 30 | CantCreate(std::io::Error), [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 30 | CantCreate(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/cgroupv2.rs:31:21 [INFO] [stdout] | [INFO] [stdout] 31 | InvalidPidEntry(String), [INFO] [stdout] | --------------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 31 | InvalidPidEntry(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `freeze` and `thaw` are never used [INFO] [stdout] --> src/cgroupv2.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl Cgroup { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn freeze(&mut self) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | pub fn thaw(&mut self) -> Result<(), Error> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/seat.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Seat { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 11 | pub id: SeatId, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `Seat` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `seat_tag` is never read [INFO] [stdout] --> src/seat.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct Device { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 23 | pub dev_name: PathBuf, [INFO] [stdout] 24 | pub seat_tag: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Device` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `IoError` is never constructed [INFO] [stdout] --> src/seat.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub enum Error { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] 29 | IoError(std::io::Error), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `cgroup` are never read [INFO] [stdout] --> src/session.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct Session { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 29 | id: SessionId, [INFO] [stdout] 30 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | cgroup: cgroupv2::Cgroup, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Session` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/session.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 38 | SessionExistsOnTTY(String), [INFO] [stdout] | ------------------ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 38 | SessionExistsOnTTY(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/session.rs:39:22 [INFO] [stdout] | [INFO] [stdout] 39 | CantCreateCgroup(cgroupv2::Error), [INFO] [stdout] | ---------------- ^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 39 | CantCreateCgroup(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/session.rs:40:20 [INFO] [stdout] | [INFO] [stdout] 40 | CantMoveCgroup(cgroupv2::Error), [INFO] [stdout] | -------------- ^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 40 | CantMoveCgroup(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/session.rs:45:15 [INFO] [stdout] | [INFO] [stdout] 45 | SeatTaken(SessionId), [INFO] [stdout] | --------- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AquireError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 45 | SeatTaken(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/session.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | UnknownSeat(seat::SeatId), [INFO] [stdout] | ----------- ^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AquireError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 46 | UnknownSeat(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/session.rs:47:20 [INFO] [stdout] | [INFO] [stdout] 47 | UnknownSession(SessionId), [INFO] [stdout] | -------------- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AquireError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 47 | UnknownSession(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/main.rs:44:19 [INFO] [stdout] | [INFO] [stdout] 44 | for ev in inotify.read_events() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 44 | while let Ok(ev) = inotify.read_events() { [INFO] [stdout] | ~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 44 | if let Ok(ev) = inotify.read_events() { [INFO] [stdout] | ~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/session.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | self.session_aquire_seat(&session_id, &"seat0".into()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 89 | let _ = self.session_aquire_seat(&session_id, &"seat0".into()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/session.rs:95:13 [INFO] [stdout] | [INFO] [stdout] 95 | self.session_leave_seat(session_id, &seat_id); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 95 | let _ = self.session_leave_seat(session_id, &seat_id); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 20 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.99s [INFO] running `Command { std: "docker" "inspect" "ce37c932803b685636e95775926f20145220d5f9eb42f7e6b724fb7182d70ebe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ce37c932803b685636e95775926f20145220d5f9eb42f7e6b724fb7182d70ebe", kill_on_drop: false }` [INFO] [stdout] ce37c932803b685636e95775926f20145220d5f9eb42f7e6b724fb7182d70ebe