[INFO] cloning repository https://github.com/rhelmot/shelld
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rhelmot/shelld" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frhelmot%2Fshelld", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frhelmot%2Fshelld'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9205dc8351af93f9b5f9a1bbd36e4d826edfd796
[INFO] building rhelmot/shelld against try#d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6 for pr-146237-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frhelmot%2Fshelld" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/rhelmot/shelld
[INFO] finished tweaking git repo https://github.com/rhelmot/shelld
[INFO] tweaked toml for git repo https://github.com/rhelmot/shelld written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/rhelmot/shelld on toolchain d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/rhelmot/shelld 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" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7863f8947722f17876a84818c1f1d621c5ba59857cd4620545a8e5d152b9edc0
[INFO] running `Command { std: "docker" "start" "-a" "7863f8947722f17876a84818c1f1d621c5ba59857cd4620545a8e5d152b9edc0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7863f8947722f17876a84818c1f1d621c5ba59857cd4620545a8e5d152b9edc0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7863f8947722f17876a84818c1f1d621c5ba59857cd4620545a8e5d152b9edc0", kill_on_drop: false }`
[INFO] [stdout] 7863f8947722f17876a84818c1f1d621c5ba59857cd4620545a8e5d152b9edc0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5a5431767fccb4bbddcfe23b91a794efa8c686489db953b456bee46d1bf8181a
[INFO] running `Command { std: "docker" "start" "-a" "5a5431767fccb4bbddcfe23b91a794efa8c686489db953b456bee46d1bf8181a", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling thiserror v2.0.16
[INFO] [stderr]    Compiling indexmap v2.11.0
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling rustix v1.0.8
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling anstyle-query v1.1.4
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling bitflags v2.9.3
[INFO] [stderr]    Compiling linux-raw-sys v0.9.4
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling anstream v0.6.20
[INFO] [stderr]    Compiling clap_builder v4.5.46
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling pty-process v0.5.3
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.16
[INFO] [stderr]    Compiling clap_derive v4.5.45
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling tungstenite v0.27.0
[INFO] [stderr]    Compiling clap v4.5.46
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling tokio-tungstenite v0.27.0
[INFO] [stderr]    Compiling signal-hook-tokio v0.3.1
[INFO] [stderr]    Compiling h2 v0.4.12
[INFO] [stderr]    Compiling hyper v1.7.0
[INFO] [stderr]    Compiling hyper-util v0.1.16
[INFO] [stderr]    Compiling hyper-tungstenite v0.18.0
[INFO] [stderr]    Compiling shelld v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `thiserror::Error`
[INFO] [stdout]   --> src/client.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use thiserror::Error;
[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 variable: `proc`
[INFO] [stdout]   --> src/server.rs:57:36
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub async fn create_and_insert(proc: Child) -> (SessionStateGuard, mpsc::Receiver<Vec<u8>>, mpsc::Receiver<String>) {
[INFO] [stdout]    |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_proc`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_id`
[INFO] [stdout]   --> src/server.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let new_id = next_counter();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stop_at_prompt`
[INFO] [stdout]    --> src/server.rs:288:81
[INFO] [stdout]     |
[INFO] [stdout] 288 | async fn serve_websocket(websocket: HyperWebsocket, session: SessionStateGuard, stop_at_prompt: bool) -> Result<(), Error> {
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stop_at_prompt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> src/client.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut res = sender.send_request(req).await?;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keyboard`
[INFO] [stdout]    --> src/server.rs:200:25
[INFO] [stdout]     |
[INFO] [stdout] 200 |             let (state, keyboard, commands) = SessionState::create_and_insert(proc).await;
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_keyboard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `commands`
[INFO] [stdout]    --> src/server.rs:200:35
[INFO] [stdout]     |
[INFO] [stdout] 200 |             let (state, keyboard, commands) = SessionState::create_and_insert(proc).await;
[INFO] [stdout]     |                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_commands`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `screen`
[INFO] [stdout]    --> src/server.rs:201:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |             let screen = state.screen_sender.clone();
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_screen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/client.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut res = sender.send_request(req).await?;
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SinkExt`
[INFO] [stdout]  --> src/client.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::{SinkExt, StreamExt};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Seized` is never constructed
[INFO] [stdout]   --> src/server.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum SessionLifecycle {
[INFO] [stdout]    |          ---------------- variant in this enum
[INFO] [stdout] 33 |     Detached,
[INFO] [stdout] 34 |     Seized,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SessionLifecycle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `process` is never read
[INFO] [stdout]   --> src/server.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct SessionState {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 40 |     id: u64,
[INFO] [stdout] 41 |     process: Child,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `with_session_state_oneshot` is never used
[INFO] [stdout]    --> src/server.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub fn with_session_state_oneshot<T>(session_id: u64, func: impl FnOnce(&mut SessionState) -> T) -> Result<T, SessionStateLookupError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `with_session_state` is never used
[INFO] [stdout]    --> src/server.rs:142:14
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub async fn with_session_state<T>(session_id: u64, mut func: impl FnMut(&mut SessionState) -> T) -> Option<T> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `session_lifecycle` is never used
[INFO] [stdout]    --> src/server.rs:152:14
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub async fn session_lifecycle(session_id: u64) -> Option<SessionLifecycle> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 34.72s
[INFO] running `Command { std: "docker" "inspect" "5a5431767fccb4bbddcfe23b91a794efa8c686489db953b456bee46d1bf8181a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5a5431767fccb4bbddcfe23b91a794efa8c686489db953b456bee46d1bf8181a", kill_on_drop: false }`
[INFO] [stdout] 5a5431767fccb4bbddcfe23b91a794efa8c686489db953b456bee46d1bf8181a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f52bbcf99f4aa2b79775c0512d91f87eaf831fac48c38159dda01abe9ec90d47
[INFO] running `Command { std: "docker" "start" "-a" "f52bbcf99f4aa2b79775c0512d91f87eaf831fac48c38159dda01abe9ec90d47", kill_on_drop: false }`
[INFO] [stderr]    Compiling shelld v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `thiserror::Error`
[INFO] [stdout]   --> src/client.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use thiserror::Error;
[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 variable: `proc`
[INFO] [stdout]   --> src/server.rs:57:36
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub async fn create_and_insert(proc: Child) -> (SessionStateGuard, mpsc::Receiver<Vec<u8>>, mpsc::Receiver<String>) {
[INFO] [stdout]    |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_proc`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_id`
[INFO] [stdout]   --> src/server.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let new_id = next_counter();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stop_at_prompt`
[INFO] [stdout]    --> src/server.rs:288:81
[INFO] [stdout]     |
[INFO] [stdout] 288 | async fn serve_websocket(websocket: HyperWebsocket, session: SessionStateGuard, stop_at_prompt: bool) -> Result<(), Error> {
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stop_at_prompt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keyboard`
[INFO] [stdout]    --> src/server.rs:200:25
[INFO] [stdout]     |
[INFO] [stdout] 200 |             let (state, keyboard, commands) = SessionState::create_and_insert(proc).await;
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_keyboard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `commands`
[INFO] [stdout]    --> src/server.rs:200:35
[INFO] [stdout]     |
[INFO] [stdout] 200 |             let (state, keyboard, commands) = SessionState::create_and_insert(proc).await;
[INFO] [stdout]     |                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_commands`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `screen`
[INFO] [stdout]    --> src/server.rs:201:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |             let screen = state.screen_sender.clone();
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_screen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> src/client.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut res = sender.send_request(req).await?;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/client.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut res = sender.send_request(req).await?;
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SinkExt`
[INFO] [stdout]  --> src/client.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::{SinkExt, StreamExt};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Seized` is never constructed
[INFO] [stdout]   --> src/server.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum SessionLifecycle {
[INFO] [stdout]    |          ---------------- variant in this enum
[INFO] [stdout] 33 |     Detached,
[INFO] [stdout] 34 |     Seized,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SessionLifecycle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `process` is never read
[INFO] [stdout]   --> src/server.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct SessionState {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 40 |     id: u64,
[INFO] [stdout] 41 |     process: Child,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `with_session_state_oneshot` is never used
[INFO] [stdout]    --> src/server.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub fn with_session_state_oneshot<T>(session_id: u64, func: impl FnOnce(&mut SessionState) -> T) -> Result<T, SessionStateLookupError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `with_session_state` is never used
[INFO] [stdout]    --> src/server.rs:142:14
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub async fn with_session_state<T>(session_id: u64, mut func: impl FnMut(&mut SessionState) -> T) -> Option<T> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `session_lifecycle` is never used
[INFO] [stdout]    --> src/server.rs:152:14
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub async fn session_lifecycle(session_id: u64) -> Option<SessionLifecycle> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.45s
[INFO] running `Command { std: "docker" "inspect" "f52bbcf99f4aa2b79775c0512d91f87eaf831fac48c38159dda01abe9ec90d47", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f52bbcf99f4aa2b79775c0512d91f87eaf831fac48c38159dda01abe9ec90d47", kill_on_drop: false }`
[INFO] [stdout] f52bbcf99f4aa2b79775c0512d91f87eaf831fac48c38159dda01abe9ec90d47
