[INFO] fetching crate teddytor 0.2.0...
[INFO] testing teddytor-0.2.0 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate teddytor 0.2.0 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate teddytor 0.2.0
[INFO] finished tweaking crates.io crate teddytor 0.2.0
[INFO] tweaked toml for crates.io crate teddytor 0.2.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate teddytor 0.2.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate teddytor 0.2.0 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" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:49:12
[INFO] [stderr]    |
[INFO] [stderr] 49 | homepage = "https://github.com/skad0/teddy"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 54 | repository = "https://github.com/skad0/teddy"
[INFO] [stderr]    |              --------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `teddytor` (manifest) generated 1 warning
[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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d84fd8421f273c5bb1cd184813c8ac34284beaf412bd89512c567379fe89368e
[INFO] running `Command { std: "docker" "start" "d84fd8421f273c5bb1cd184813c8ac34284beaf412bd89512c567379fe89368e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d84fd8421f273c5bb1cd184813c8ac34284beaf412bd89512c567379fe89368e", 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" "d84fd8421f273c5bb1cd184813c8ac34284beaf412bd89512c567379fe89368e" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d84fd8421f273c5bb1cd184813c8ac34284beaf412bd89512c567379fe89368e", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d84fd8421f273c5bb1cd184813c8ac34284beaf412bd89512c567379fe89368e" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:49:12
[INFO] [stderr]    |
[INFO] [stderr] 49 | homepage = "https://github.com/skad0/teddy"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 54 | repository = "https://github.com/skad0/teddy"
[INFO] [stderr]    |              --------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `teddytor` (manifest) generated 1 warning
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling teddytor v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/bin/../plugin.rs:1135:9
[INFO] [stdout]      |
[INFO] [stdout] 1135 |     let mut stderr = child
[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: constant `VIEWPORT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const VIEWPORT: u16 = 9;
[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 `SPANS` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const SPANS: u16 = 10;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LAUNCHER_REQUEST` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const LAUNCHER_REQUEST: u16 = 11;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LAUNCHER_EVENT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const LAUNCHER_EVENT: u16 = 13;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Registry` and `Bundled` are never constructed
[INFO] [stdout]   --> src/bin/../plugin.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum PluginSource {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 43 |     Legacy,
[INFO] [stdout] 44 |     Registry,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     Bundled,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PluginSource` 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: struct `LifecycleModel` is never constructed
[INFO] [stdout]   --> src/bin/../plugin.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct LifecycleModel {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/bin/../plugin.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl LifecycleModel {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 68 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn hello(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn timeout(&mut self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn crash(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn restart(&mut self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn reset_retry_budget(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn stop(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn reaped(&mut self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LauncherRequest` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:130:10
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub enum LauncherRequest {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LauncherDescriptor` is never constructed
[INFO] [stdout]    --> src/bin/../plugin.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct LauncherDescriptor {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `List`, `Enabled`, `Disabled`, `Reloaded`, and `Forgotten` are never constructed
[INFO] [stdout]    --> src/bin/../plugin.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub enum LauncherResponse {
[INFO] [stdout]     |          ---------------- variants in this enum
[INFO] [stdout] 163 |     List {
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     Enabled(String),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 169 |     Disabled(String),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 170 |     Reloaded(String),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 171 |     Forgotten(String),
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LauncherResponse` 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: enum `LauncherEvent` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:176:10
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub enum LauncherEvent {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_request` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub fn encode_launcher_request(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_request` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:197:8
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub fn decode_launcher_request(frame: &Frame) -> Result<LauncherRequest, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_response` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:218:8
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub fn decode_launcher_response(frame: &Frame) -> Result<LauncherResponse, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_event` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn encode_launcher_event(event: &LauncherEvent) -> Result<Frame, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_event` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub fn decode_launcher_event(frame: &Frame) -> Result<LauncherEvent, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_request_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:243:8
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub fn encode_launcher_request_payload(request: &LauncherRequest) -> Result<Vec<u8>, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_request_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:276:8
[INFO] [stdout]     |
[INFO] [stdout] 276 | pub fn decode_launcher_request_payload(payload: &[u8]) -> Result<LauncherRequest, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_response_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:340:8
[INFO] [stdout]     |
[INFO] [stdout] 340 | pub fn decode_launcher_response_payload(payload: &[u8]) -> Result<LauncherResponse, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_event_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:382:8
[INFO] [stdout]     |
[INFO] [stdout] 382 | pub fn encode_launcher_event_payload(event: &LauncherEvent) -> Result<Vec<u8>, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_event_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:391:8
[INFO] [stdout]     |
[INFO] [stdout] 391 | pub fn decode_launcher_event_payload(payload: &[u8]) -> Result<LauncherEvent, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_descriptor` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:421:4
[INFO] [stdout]     |
[INFO] [stdout] 421 | fn validate_descriptor(d: &LauncherDescriptor) -> Result<(), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_descriptor` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:438:4
[INFO] [stdout]     |
[INFO] [stdout] 438 | fn read_descriptor(payload: &[u8], mut at: usize) -> Result<LauncherDescriptor, ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_len_string` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:459:4
[INFO] [stdout]     |
[INFO] [stdout] 459 | fn read_len_string(payload: &[u8], at: &mut usize) -> Result<String, ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_record` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:482:4
[INFO] [stdout]     |
[INFO] [stdout] 482 | fn read_record(payload: &[u8], mut at: usize) -> Result<(LauncherRecord, usize), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_id_operation` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:524:4
[INFO] [stdout]     |
[INFO] [stdout] 524 | fn decode_id_operation(payload: &[u8]) -> Result<(u8, String), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_id` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:533:4
[INFO] [stdout]     |
[INFO] [stdout] 533 | fn read_id(payload: &[u8], at: usize) -> Result<(String, usize), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_string` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:547:4
[INFO] [stdout]     |
[INFO] [stdout] 547 | fn read_string(payload: &[u8], at: usize) -> Result<String, ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_launcher_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:570:4
[INFO] [stdout]     |
[INFO] [stdout] 570 | fn check_launcher_payload(payload: &[u8]) -> Result<(), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_spans` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:699:8
[INFO] [stdout]     |
[INFO] [stdout] 699 | pub fn parse_spans(payload: &[u8]) -> Option<Vec<(u16, Vec<(u16, u16, u8)>)>> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/bin/../plugin.rs:1135:9
[INFO] [stdout]      |
[INFO] [stdout] 1135 |     let mut stderr = child
[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: constant `WIDGET_EVENT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const WIDGET_EVENT: u16 = 5;
[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 `EDIT_TX` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const EDIT_TX: u16 = 6;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EDIT_RESULT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const EDIT_RESULT: u16 = 7;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIEWPORT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const VIEWPORT: u16 = 9;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPANS` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const SPANS: u16 = 10;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LAUNCHER_REQUEST` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const LAUNCHER_REQUEST: u16 = 11;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LAUNCHER_EVENT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const LAUNCHER_EVENT: u16 = 13;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Registry` and `Bundled` are never constructed
[INFO] [stdout]   --> src/bin/../plugin.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum PluginSource {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 43 |     Legacy,
[INFO] [stdout] 44 |     Registry,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     Bundled,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PluginSource` 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: struct `LifecycleModel` is never constructed
[INFO] [stdout]   --> src/bin/../plugin.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct LifecycleModel {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/bin/../plugin.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl LifecycleModel {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 68 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn hello(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn timeout(&mut self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn crash(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn restart(&mut self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn reset_retry_budget(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn stop(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn reaped(&mut self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LauncherRequest` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:130:10
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub enum LauncherRequest {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LauncherDescriptor` is never constructed
[INFO] [stdout]    --> src/bin/../plugin.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct LauncherDescriptor {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `List`, `Enabled`, `Disabled`, `Reloaded`, and `Forgotten` are never constructed
[INFO] [stdout]    --> src/bin/../plugin.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub enum LauncherResponse {
[INFO] [stdout]     |          ---------------- variants in this enum
[INFO] [stdout] 163 |     List {
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     Enabled(String),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 169 |     Disabled(String),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 170 |     Reloaded(String),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 171 |     Forgotten(String),
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LauncherResponse` 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: enum `LauncherEvent` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:176:10
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub enum LauncherEvent {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_request` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub fn encode_launcher_request(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_request` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:197:8
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub fn decode_launcher_request(frame: &Frame) -> Result<LauncherRequest, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_response` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:218:8
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub fn decode_launcher_response(frame: &Frame) -> Result<LauncherResponse, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_event` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn encode_launcher_event(event: &LauncherEvent) -> Result<Frame, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_event` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub fn decode_launcher_event(frame: &Frame) -> Result<LauncherEvent, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_request_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:243:8
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub fn encode_launcher_request_payload(request: &LauncherRequest) -> Result<Vec<u8>, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_request_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:276:8
[INFO] [stdout]     |
[INFO] [stdout] 276 | pub fn decode_launcher_request_payload(payload: &[u8]) -> Result<LauncherRequest, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_response_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:340:8
[INFO] [stdout]     |
[INFO] [stdout] 340 | pub fn decode_launcher_response_payload(payload: &[u8]) -> Result<LauncherResponse, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_event_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:382:8
[INFO] [stdout]     |
[INFO] [stdout] 382 | pub fn encode_launcher_event_payload(event: &LauncherEvent) -> Result<Vec<u8>, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_event_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:391:8
[INFO] [stdout]     |
[INFO] [stdout] 391 | pub fn decode_launcher_event_payload(payload: &[u8]) -> Result<LauncherEvent, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_descriptor` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:421:4
[INFO] [stdout]     |
[INFO] [stdout] 421 | fn validate_descriptor(d: &LauncherDescriptor) -> Result<(), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_descriptor` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:438:4
[INFO] [stdout]     |
[INFO] [stdout] 438 | fn read_descriptor(payload: &[u8], mut at: usize) -> Result<LauncherDescriptor, ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_len_string` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:459:4
[INFO] [stdout]     |
[INFO] [stdout] 459 | fn read_len_string(payload: &[u8], at: &mut usize) -> Result<String, ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_record` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:482:4
[INFO] [stdout]     |
[INFO] [stdout] 482 | fn read_record(payload: &[u8], mut at: usize) -> Result<(LauncherRecord, usize), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_id_operation` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:524:4
[INFO] [stdout]     |
[INFO] [stdout] 524 | fn decode_id_operation(payload: &[u8]) -> Result<(u8, String), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_id` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:533:4
[INFO] [stdout]     |
[INFO] [stdout] 533 | fn read_id(payload: &[u8], at: usize) -> Result<(String, usize), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_string` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:547:4
[INFO] [stdout]     |
[INFO] [stdout] 547 | fn read_string(payload: &[u8], at: usize) -> Result<String, ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_launcher_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:570:4
[INFO] [stdout]     |
[INFO] [stdout] 570 | fn check_launcher_payload(payload: &[u8]) -> Result<(), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_spans` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:699:8
[INFO] [stdout]     |
[INFO] [stdout] 699 | pub fn parse_spans(payload: &[u8]) -> Option<Vec<(u16, Vec<(u16, u16, u8)>)>> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/bin/../plugin.rs:1135:9
[INFO] [stdout]      |
[INFO] [stdout] 1135 |     let mut stderr = child
[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: constant `WIDGET_EVENT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const WIDGET_EVENT: u16 = 5;
[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 `EDIT_TX` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const EDIT_TX: u16 = 6;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EDIT_RESULT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const EDIT_RESULT: u16 = 7;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIEWPORT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const VIEWPORT: u16 = 9;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPANS` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const SPANS: u16 = 10;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LAUNCHER_REQUEST` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const LAUNCHER_REQUEST: u16 = 11;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LAUNCHER_EVENT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const LAUNCHER_EVENT: u16 = 13;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Registry` and `Bundled` are never constructed
[INFO] [stdout]   --> src/bin/../plugin.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum PluginSource {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 43 |     Legacy,
[INFO] [stdout] 44 |     Registry,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     Bundled,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PluginSource` 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: struct `LifecycleModel` is never constructed
[INFO] [stdout]   --> src/bin/../plugin.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct LifecycleModel {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/bin/../plugin.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl LifecycleModel {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 68 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn hello(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn timeout(&mut self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn crash(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn restart(&mut self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn reset_retry_budget(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn stop(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn reaped(&mut self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LauncherRequest` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:130:10
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub enum LauncherRequest {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LauncherDescriptor` is never constructed
[INFO] [stdout]    --> src/bin/../plugin.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct LauncherDescriptor {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `List`, `Enabled`, `Disabled`, `Reloaded`, and `Forgotten` are never constructed
[INFO] [stdout]    --> src/bin/../plugin.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub enum LauncherResponse {
[INFO] [stdout]     |          ---------------- variants in this enum
[INFO] [stdout] 163 |     List {
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     Enabled(String),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 169 |     Disabled(String),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 170 |     Reloaded(String),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 171 |     Forgotten(String),
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LauncherResponse` 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: enum `LauncherEvent` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:176:10
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub enum LauncherEvent {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_request` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub fn encode_launcher_request(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_request` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:197:8
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub fn decode_launcher_request(frame: &Frame) -> Result<LauncherRequest, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_response` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:218:8
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub fn decode_launcher_response(frame: &Frame) -> Result<LauncherResponse, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_event` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn encode_launcher_event(event: &LauncherEvent) -> Result<Frame, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_event` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub fn decode_launcher_event(frame: &Frame) -> Result<LauncherEvent, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_request_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:243:8
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub fn encode_launcher_request_payload(request: &LauncherRequest) -> Result<Vec<u8>, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_request_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:276:8
[INFO] [stdout]     |
[INFO] [stdout] 276 | pub fn decode_launcher_request_payload(payload: &[u8]) -> Result<LauncherRequest, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_response_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:340:8
[INFO] [stdout]     |
[INFO] [stdout] 340 | pub fn decode_launcher_response_payload(payload: &[u8]) -> Result<LauncherResponse, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_event_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:382:8
[INFO] [stdout]     |
[INFO] [stdout] 382 | pub fn encode_launcher_event_payload(event: &LauncherEvent) -> Result<Vec<u8>, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_event_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:391:8
[INFO] [stdout]     |
[INFO] [stdout] 391 | pub fn decode_launcher_event_payload(payload: &[u8]) -> Result<LauncherEvent, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_descriptor` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:421:4
[INFO] [stdout]     |
[INFO] [stdout] 421 | fn validate_descriptor(d: &LauncherDescriptor) -> Result<(), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_descriptor` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:438:4
[INFO] [stdout]     |
[INFO] [stdout] 438 | fn read_descriptor(payload: &[u8], mut at: usize) -> Result<LauncherDescriptor, ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_len_string` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:459:4
[INFO] [stdout]     |
[INFO] [stdout] 459 | fn read_len_string(payload: &[u8], at: &mut usize) -> Result<String, ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_record` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:482:4
[INFO] [stdout]     |
[INFO] [stdout] 482 | fn read_record(payload: &[u8], mut at: usize) -> Result<(LauncherRecord, usize), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_id_operation` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:524:4
[INFO] [stdout]     |
[INFO] [stdout] 524 | fn decode_id_operation(payload: &[u8]) -> Result<(u8, String), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_id` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:533:4
[INFO] [stdout]     |
[INFO] [stdout] 533 | fn read_id(payload: &[u8], at: usize) -> Result<(String, usize), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_string` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:547:4
[INFO] [stdout]     |
[INFO] [stdout] 547 | fn read_string(payload: &[u8], at: usize) -> Result<String, ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_launcher_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:570:4
[INFO] [stdout]     |
[INFO] [stdout] 570 | fn check_launcher_payload(payload: &[u8]) -> Result<(), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_spans` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:699:8
[INFO] [stdout]     |
[INFO] [stdout] 699 | pub fn parse_spans(payload: &[u8]) -> Option<Vec<(u16, Vec<(u16, u16, u8)>)>> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/bin/../plugin.rs:1135:9
[INFO] [stdout]      |
[INFO] [stdout] 1135 |     let mut stderr = child
[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: constant `COMMAND_INVOKE` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const COMMAND_INVOKE: u16 = 3;
[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 `WIDGET_EVENT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const WIDGET_EVENT: u16 = 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EDIT_TX` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const EDIT_TX: u16 = 6;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EDIT_RESULT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const EDIT_RESULT: u16 = 7;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LAUNCHER_REQUEST` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const LAUNCHER_REQUEST: u16 = 11;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LAUNCHER_EVENT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const LAUNCHER_EVENT: u16 = 13;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/bin/../plugin.rs:1135:9
[INFO] [stdout]      |
[INFO] [stdout] 1135 |     let mut stderr = child
[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: variants `Registry` and `Bundled` are never constructed
[INFO] [stdout]   --> src/bin/../plugin.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum PluginSource {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 43 |     Legacy,
[INFO] [stdout] 44 |     Registry,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     Bundled,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PluginSource` 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: struct `LifecycleModel` is never constructed
[INFO] [stdout]   --> src/bin/../plugin.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct LifecycleModel {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/bin/../plugin.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl LifecycleModel {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 68 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn hello(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn timeout(&mut self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn crash(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn restart(&mut self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn reset_retry_budget(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn stop(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn reaped(&mut self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LauncherRequest` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:130:10
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub enum LauncherRequest {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LauncherDescriptor` is never constructed
[INFO] [stdout]    --> src/bin/../plugin.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct LauncherDescriptor {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `List`, `Enabled`, `Disabled`, `Reloaded`, and `Forgotten` are never constructed
[INFO] [stdout]    --> src/bin/../plugin.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub enum LauncherResponse {
[INFO] [stdout]     |          ---------------- variants in this enum
[INFO] [stdout] 163 |     List {
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     Enabled(String),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 169 |     Disabled(String),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 170 |     Reloaded(String),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 171 |     Forgotten(String),
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LauncherResponse` 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: enum `LauncherEvent` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:176:10
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub enum LauncherEvent {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_request` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub fn encode_launcher_request(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_request` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:197:8
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub fn decode_launcher_request(frame: &Frame) -> Result<LauncherRequest, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_response` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:218:8
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub fn decode_launcher_response(frame: &Frame) -> Result<LauncherResponse, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_event` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn encode_launcher_event(event: &LauncherEvent) -> Result<Frame, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_event` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub fn decode_launcher_event(frame: &Frame) -> Result<LauncherEvent, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_request_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:243:8
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub fn encode_launcher_request_payload(request: &LauncherRequest) -> Result<Vec<u8>, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_request_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:276:8
[INFO] [stdout]     |
[INFO] [stdout] 276 | pub fn decode_launcher_request_payload(payload: &[u8]) -> Result<LauncherRequest, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_response_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:340:8
[INFO] [stdout]     |
[INFO] [stdout] 340 | pub fn decode_launcher_response_payload(payload: &[u8]) -> Result<LauncherResponse, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_event_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:382:8
[INFO] [stdout]     |
[INFO] [stdout] 382 | pub fn encode_launcher_event_payload(event: &LauncherEvent) -> Result<Vec<u8>, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_event_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:391:8
[INFO] [stdout]     |
[INFO] [stdout] 391 | pub fn decode_launcher_event_payload(payload: &[u8]) -> Result<LauncherEvent, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_descriptor` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:421:4
[INFO] [stdout]     |
[INFO] [stdout] 421 | fn validate_descriptor(d: &LauncherDescriptor) -> Result<(), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_descriptor` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:438:4
[INFO] [stdout]     |
[INFO] [stdout] 438 | fn read_descriptor(payload: &[u8], mut at: usize) -> Result<LauncherDescriptor, ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_len_string` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:459:4
[INFO] [stdout]     |
[INFO] [stdout] 459 | fn read_len_string(payload: &[u8], at: &mut usize) -> Result<String, ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_record` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:482:4
[INFO] [stdout]     |
[INFO] [stdout] 482 | fn read_record(payload: &[u8], mut at: usize) -> Result<(LauncherRecord, usize), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_id_operation` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:524:4
[INFO] [stdout]     |
[INFO] [stdout] 524 | fn decode_id_operation(payload: &[u8]) -> Result<(u8, String), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_id` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:533:4
[INFO] [stdout]     |
[INFO] [stdout] 533 | fn read_id(payload: &[u8], at: usize) -> Result<(String, usize), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_string` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:547:4
[INFO] [stdout]     |
[INFO] [stdout] 547 | fn read_string(payload: &[u8], at: usize) -> Result<String, ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_launcher_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:570:4
[INFO] [stdout]     |
[INFO] [stdout] 570 | fn check_launcher_payload(payload: &[u8]) -> Result<(), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_spans` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:699:8
[INFO] [stdout]     |
[INFO] [stdout] 699 | pub fn parse_spans(payload: &[u8]) -> Option<Vec<(u16, Vec<(u16, u16, u8)>)>> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDGET_EVENT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const WIDGET_EVENT: u16 = 5;
[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 `EDIT_TX` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const EDIT_TX: u16 = 6;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EDIT_RESULT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const EDIT_RESULT: u16 = 7;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIEWPORT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const VIEWPORT: u16 = 9;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPANS` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const SPANS: u16 = 10;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LAUNCHER_REQUEST` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const LAUNCHER_REQUEST: u16 = 11;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LAUNCHER_EVENT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const LAUNCHER_EVENT: u16 = 13;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Registry` and `Bundled` are never constructed
[INFO] [stdout]   --> src/bin/../plugin.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum PluginSource {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 43 |     Legacy,
[INFO] [stdout] 44 |     Registry,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     Bundled,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PluginSource` 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: struct `LifecycleModel` is never constructed
[INFO] [stdout]   --> src/bin/../plugin.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct LifecycleModel {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/bin/../plugin.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl LifecycleModel {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 68 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn hello(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn timeout(&mut self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn crash(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn restart(&mut self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn reset_retry_budget(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn stop(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn reaped(&mut self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LauncherRequest` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:130:10
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub enum LauncherRequest {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LauncherDescriptor` is never constructed
[INFO] [stdout]    --> src/bin/../plugin.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct LauncherDescriptor {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `List`, `Enabled`, `Disabled`, `Reloaded`, and `Forgotten` are never constructed
[INFO] [stdout]    --> src/bin/../plugin.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub enum LauncherResponse {
[INFO] [stdout]     |          ---------------- variants in this enum
[INFO] [stdout] 163 |     List {
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     Enabled(String),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 169 |     Disabled(String),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 170 |     Reloaded(String),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 171 |     Forgotten(String),
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LauncherResponse` 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: enum `LauncherEvent` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:176:10
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub enum LauncherEvent {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_request` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub fn encode_launcher_request(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_request` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:197:8
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub fn decode_launcher_request(frame: &Frame) -> Result<LauncherRequest, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_response` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:218:8
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub fn decode_launcher_response(frame: &Frame) -> Result<LauncherResponse, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_event` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn encode_launcher_event(event: &LauncherEvent) -> Result<Frame, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_event` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub fn decode_launcher_event(frame: &Frame) -> Result<LauncherEvent, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_request_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:243:8
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub fn encode_launcher_request_payload(request: &LauncherRequest) -> Result<Vec<u8>, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_request_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:276:8
[INFO] [stdout]     |
[INFO] [stdout] 276 | pub fn decode_launcher_request_payload(payload: &[u8]) -> Result<LauncherRequest, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_response_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:340:8
[INFO] [stdout]     |
[INFO] [stdout] 340 | pub fn decode_launcher_response_payload(payload: &[u8]) -> Result<LauncherResponse, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_event_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:382:8
[INFO] [stdout]     |
[INFO] [stdout] 382 | pub fn encode_launcher_event_payload(event: &LauncherEvent) -> Result<Vec<u8>, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_event_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:391:8
[INFO] [stdout]     |
[INFO] [stdout] 391 | pub fn decode_launcher_event_payload(payload: &[u8]) -> Result<LauncherEvent, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_descriptor` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:421:4
[INFO] [stdout]     |
[INFO] [stdout] 421 | fn validate_descriptor(d: &LauncherDescriptor) -> Result<(), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_descriptor` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:438:4
[INFO] [stdout]     |
[INFO] [stdout] 438 | fn read_descriptor(payload: &[u8], mut at: usize) -> Result<LauncherDescriptor, ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_len_string` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:459:4
[INFO] [stdout]     |
[INFO] [stdout] 459 | fn read_len_string(payload: &[u8], at: &mut usize) -> Result<String, ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_record` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:482:4
[INFO] [stdout]     |
[INFO] [stdout] 482 | fn read_record(payload: &[u8], mut at: usize) -> Result<(LauncherRecord, usize), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_id_operation` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:524:4
[INFO] [stdout]     |
[INFO] [stdout] 524 | fn decode_id_operation(payload: &[u8]) -> Result<(u8, String), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_id` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:533:4
[INFO] [stdout]     |
[INFO] [stdout] 533 | fn read_id(payload: &[u8], at: usize) -> Result<(String, usize), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_string` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:547:4
[INFO] [stdout]     |
[INFO] [stdout] 547 | fn read_string(payload: &[u8], at: usize) -> Result<String, ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_launcher_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:570:4
[INFO] [stdout]     |
[INFO] [stdout] 570 | fn check_launcher_payload(payload: &[u8]) -> Result<(), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_spans` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:699:8
[INFO] [stdout]     |
[INFO] [stdout] 699 | pub fn parse_spans(payload: &[u8]) -> Option<Vec<(u16, Vec<(u16, u16, u8)>)>> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/bin/../plugin.rs:1135:9
[INFO] [stdout]      |
[INFO] [stdout] 1135 |     let mut stderr = child
[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: variable does not need to be mutable
[INFO] [stdout]     --> src/bin/../plugin_manager.rs:1714:9
[INFO] [stdout]      |
[INFO] [stdout] 1714 |     let mut f = File::open(path)?;
[INFO] [stdout]      |         ----^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/plugin.rs:1135:9
[INFO] [stdout]      |
[INFO] [stdout] 1135 |     let mut stderr = child
[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: constant `EDIT_TX` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const EDIT_TX: u16 = 6;
[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 `EDIT_RESULT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const EDIT_RESULT: u16 = 7;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIEWPORT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const VIEWPORT: u16 = 9;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPANS` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const SPANS: u16 = 10;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Registry` and `Bundled` are never constructed
[INFO] [stdout]   --> src/bin/../plugin.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum PluginSource {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 43 |     Legacy,
[INFO] [stdout] 44 |     Registry,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     Bundled,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PluginSource` 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: struct `LifecycleModel` is never constructed
[INFO] [stdout]   --> src/bin/../plugin.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct LifecycleModel {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/bin/../plugin.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl LifecycleModel {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 68 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn hello(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn timeout(&mut self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn crash(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn restart(&mut self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn reset_retry_budget(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn stop(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn reaped(&mut self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Reload` is never constructed
[INFO] [stdout]    --> src/bin/../plugin.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub enum LauncherRequest {
[INFO] [stdout]     |          --------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 139 |     Reload(String),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LauncherRequest` 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: function `decode_launcher_request` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:197:8
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub fn decode_launcher_request(frame: &Frame) -> Result<LauncherRequest, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_event` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn encode_launcher_event(event: &LauncherEvent) -> Result<Frame, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_request_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:276:8
[INFO] [stdout]     |
[INFO] [stdout] 276 | pub fn decode_launcher_request_payload(payload: &[u8]) -> Result<LauncherRequest, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_event_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:382:8
[INFO] [stdout]     |
[INFO] [stdout] 382 | pub fn encode_launcher_event_payload(event: &LauncherEvent) -> Result<Vec<u8>, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_descriptor` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:438:4
[INFO] [stdout]     |
[INFO] [stdout] 438 | fn read_descriptor(payload: &[u8], mut at: usize) -> Result<LauncherDescriptor, ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_spans` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:699:8
[INFO] [stdout]     |
[INFO] [stdout] 699 | pub fn parse_spans(payload: &[u8]) -> Option<Vec<(u16, Vec<(u16, u16, u8)>)>> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `git_argv` is never used
[INFO] [stdout]    --> src/bin/../plugin_manager.rs:287:8
[INFO] [stdout]     |
[INFO] [stdout] 287 | pub fn git_argv(args: &[&str]) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `select_executable` is never used
[INFO] [stdout]     --> src/bin/../plugin_manager.rs:1167:8
[INFO] [stdout]      |
[INFO] [stdout] 1167 | pub fn select_executable(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StateRecord` is never constructed
[INFO] [stdout]     --> src/bin/../plugin_manager.rs:1191:12
[INFO] [stdout]      |
[INFO] [stdout] 1191 | pub struct StateRecord {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `staging_path` is never used
[INFO] [stdout]     --> src/bin/../plugin_manager.rs:1211:8
[INFO] [stdout]      |
[INFO] [stdout] 1211 | pub fn staging_path(paths: &ManagerPaths, id: &str, commit: &str) -> Result<PathBuf, ManagerError> {
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_state_atomic` is never used
[INFO] [stdout]     --> src/bin/../plugin_manager.rs:1371:8
[INFO] [stdout]      |
[INFO] [stdout] 1371 | pub fn write_state_atomic(path: &Path, records: &[StateRecord]) -> Result<(), ManagerError> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file` is never read
[INFO] [stdout]     --> src/bin/../plugin_manager.rs:1578:5
[INFO] [stdout]      |
[INFO] [stdout] 1577 | pub struct ManagerLock {
[INFO] [stdout]      |            ----------- field in this struct
[INFO] [stdout] 1578 |     file: File,
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/watch.rs:161:21
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Err(rustix::io::Errno::WOULDBLOCK) => break,
[INFO] [stdout]     |                     ---------------------------------- matches all the relevant values
[INFO] [stdout] 161 |                     Err(rustix::io::Errno::AGAIN) => break,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `complete` is never read
[INFO] [stdout]   --> src/lines.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct LineIndex {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub complete: bool,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LifecycleModel` is never constructed
[INFO] [stdout]   --> src/plugin.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct LifecycleModel {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/plugin.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl LifecycleModel {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 68 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn hello(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn timeout(&mut self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn crash(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn restart(&mut self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn reset_retry_budget(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn stop(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn reaped(&mut self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_request` is never used
[INFO] [stdout]    --> src/plugin.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub fn encode_launcher_request(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_response` is never used
[INFO] [stdout]    --> src/plugin.rs:218:8
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub fn decode_launcher_response(frame: &Frame) -> Result<LauncherResponse, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_event` is never used
[INFO] [stdout]    --> src/plugin.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub fn decode_launcher_event(frame: &Frame) -> Result<LauncherEvent, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_request_payload` is never used
[INFO] [stdout]    --> src/plugin.rs:243:8
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub fn encode_launcher_request_payload(request: &LauncherRequest) -> Result<Vec<u8>, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_response_payload` is never used
[INFO] [stdout]    --> src/plugin.rs:340:8
[INFO] [stdout]     |
[INFO] [stdout] 340 | pub fn decode_launcher_response_payload(payload: &[u8]) -> Result<LauncherResponse, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_event_payload` is never used
[INFO] [stdout]    --> src/plugin.rs:391:8
[INFO] [stdout]     |
[INFO] [stdout] 391 | pub fn decode_launcher_event_payload(payload: &[u8]) -> Result<LauncherEvent, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_record` is never used
[INFO] [stdout]    --> src/plugin.rs:482:4
[INFO] [stdout]     |
[INFO] [stdout] 482 | fn read_record(payload: &[u8], mut at: usize) -> Result<(LauncherRecord, usize), ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_string` is never used
[INFO] [stdout]    --> src/plugin.rs:547:4
[INFO] [stdout]     |
[INFO] [stdout] 547 | fn read_string(payload: &[u8], at: usize) -> Result<String, ProtoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InvalidPathEncoding` is never constructed
[INFO] [stdout]    --> src/plugin_registry.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout]  93 | pub enum RegistryError {
[INFO] [stdout]     |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 100 |     InvalidPathEncoding,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RegistryError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load` and `toggle` are never used
[INFO] [stdout]    --> src/plugin_registry.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 150 | impl Registry {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 151 |     /// Load the XDG configuration file; a missing file is an empty registry.
[INFO] [stdout] 152 |     pub fn load() -> Result<Self, RegistryError> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     pub fn toggle(&mut self, id: &PluginId) -> Result<bool, RegistryError> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file` is never read
[INFO] [stdout]    --> src/plugin_registry.rs:510:5
[INFO] [stdout]     |
[INFO] [stdout] 509 | struct Lock {
[INFO] [stdout]     |        ---- field in this struct
[INFO] [stdout] 510 |     file: File,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `path` and `size_at_load` are never read
[INFO] [stdout]   --> src/storage.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct OriginalFile {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 21 |     file: File,
[INFO] [stdout] 22 |     pub path: PathBuf,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub size_at_load: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.09s
[INFO] running `Command { std: "docker" "inspect" "d84fd8421f273c5bb1cd184813c8ac34284beaf412bd89512c567379fe89368e", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d84fd8421f273c5bb1cd184813c8ac34284beaf412bd89512c567379fe89368e" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:49:12
[INFO] [stderr]    |
[INFO] [stderr] 49 | homepage = "https://github.com/skad0/teddy"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 54 | repository = "https://github.com/skad0/teddy"
[INFO] [stderr]    |              --------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `teddytor` (manifest) generated 1 warning
[INFO] [stderr]    Compiling teddytor v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/bin/../plugin.rs:1135:9
[INFO] [stdout]      |
[INFO] [stdout] 1135 |     let mut stderr = child
[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: constant `WIDGET_EVENT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const WIDGET_EVENT: u16 = 5;
[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 `EDIT_TX` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const EDIT_TX: u16 = 6;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EDIT_RESULT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const EDIT_RESULT: u16 = 7;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIEWPORT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const VIEWPORT: u16 = 9;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPANS` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const SPANS: u16 = 10;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LAUNCHER_EVENT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const LAUNCHER_EVENT: u16 = 13;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Registry` and `Bundled` are never constructed
[INFO] [stdout]   --> src/bin/../plugin.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum PluginSource {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 43 |     Legacy,
[INFO] [stdout] 44 |     Registry,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     Bundled,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PluginSource` 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: function `decode_launcher_response` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:218:8
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub fn decode_launcher_response(frame: &Frame) -> Result<LauncherResponse, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_event` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn encode_launcher_event(event: &LauncherEvent) -> Result<Frame, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_event` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub fn decode_launcher_event(frame: &Frame) -> Result<LauncherEvent, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_event_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:382:8
[INFO] [stdout]     |
[INFO] [stdout] 382 | pub fn encode_launcher_event_payload(event: &LauncherEvent) -> Result<Vec<u8>, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/bin/../plugin.rs:1135:9
[INFO] [stdout]      |
[INFO] [stdout] 1135 |     let mut stderr = child
[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: constant `COMMAND_INVOKE` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const COMMAND_INVOKE: u16 = 3;
[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 `WIDGET_EVENT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const WIDGET_EVENT: u16 = 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EDIT_TX` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const EDIT_TX: u16 = 6;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EDIT_RESULT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const EDIT_RESULT: u16 = 7;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LAUNCHER_EVENT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const LAUNCHER_EVENT: u16 = 13;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Registry` and `Bundled` are never constructed
[INFO] [stdout]   --> src/bin/../plugin.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum PluginSource {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 43 |     Legacy,
[INFO] [stdout] 44 |     Registry,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     Bundled,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PluginSource` 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: function `decode_launcher_response` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:218:8
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub fn decode_launcher_response(frame: &Frame) -> Result<LauncherResponse, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_event` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn encode_launcher_event(event: &LauncherEvent) -> Result<Frame, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_event` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub fn decode_launcher_event(frame: &Frame) -> Result<LauncherEvent, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_event_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:382:8
[INFO] [stdout]     |
[INFO] [stdout] 382 | pub fn encode_launcher_event_payload(event: &LauncherEvent) -> Result<Vec<u8>, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/bin/../plugin.rs:1135:9
[INFO] [stdout]      |
[INFO] [stdout] 1135 |     let mut stderr = child
[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: variable does not need to be mutable
[INFO] [stdout]     --> src/bin/../plugin.rs:1135:9
[INFO] [stdout]      |
[INFO] [stdout] 1135 |     let mut stderr = child
[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: variable does not need to be mutable
[INFO] [stdout]     --> src/bin/../plugin.rs:1135:9
[INFO] [stdout]      |
[INFO] [stdout] 1135 |     let mut stderr = child
[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: variable does not need to be mutable
[INFO] [stdout]     --> src/bin/../plugin.rs:1135:9
[INFO] [stdout]      |
[INFO] [stdout] 1135 |     let mut stderr = child
[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: constant `WIDGET_EVENT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const WIDGET_EVENT: u16 = 5;
[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 `EDIT_TX` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const EDIT_TX: u16 = 6;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EDIT_RESULT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const EDIT_RESULT: u16 = 7;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIEWPORT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const VIEWPORT: u16 = 9;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPANS` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const SPANS: u16 = 10;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LAUNCHER_EVENT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const LAUNCHER_EVENT: u16 = 13;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Registry` and `Bundled` are never constructed
[INFO] [stdout]   --> src/bin/../plugin.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum PluginSource {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 43 |     Legacy,
[INFO] [stdout] 44 |     Registry,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     Bundled,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PluginSource` 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: function `decode_launcher_response` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:218:8
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub fn decode_launcher_response(frame: &Frame) -> Result<LauncherResponse, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_event` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn encode_launcher_event(event: &LauncherEvent) -> Result<Frame, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_event` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub fn decode_launcher_event(frame: &Frame) -> Result<LauncherEvent, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_event_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:382:8
[INFO] [stdout]     |
[INFO] [stdout] 382 | pub fn encode_launcher_event_payload(event: &LauncherEvent) -> Result<Vec<u8>, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDGET_EVENT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const WIDGET_EVENT: u16 = 5;
[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 `EDIT_TX` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const EDIT_TX: u16 = 6;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EDIT_RESULT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const EDIT_RESULT: u16 = 7;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIEWPORT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const VIEWPORT: u16 = 9;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPANS` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const SPANS: u16 = 10;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LAUNCHER_EVENT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const LAUNCHER_EVENT: u16 = 13;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Registry` and `Bundled` are never constructed
[INFO] [stdout]   --> src/bin/../plugin.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum PluginSource {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 43 |     Legacy,
[INFO] [stdout] 44 |     Registry,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     Bundled,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PluginSource` 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: function `decode_launcher_response` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:218:8
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub fn decode_launcher_response(frame: &Frame) -> Result<LauncherResponse, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_event` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn encode_launcher_event(event: &LauncherEvent) -> Result<Frame, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_event` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub fn decode_launcher_event(frame: &Frame) -> Result<LauncherEvent, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_event_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:382:8
[INFO] [stdout]     |
[INFO] [stdout] 382 | pub fn encode_launcher_event_payload(event: &LauncherEvent) -> Result<Vec<u8>, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIEWPORT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const VIEWPORT: u16 = 9;
[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 `SPANS` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const SPANS: u16 = 10;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LAUNCHER_EVENT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const LAUNCHER_EVENT: u16 = 13;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Registry` and `Bundled` are never constructed
[INFO] [stdout]   --> src/bin/../plugin.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum PluginSource {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 43 |     Legacy,
[INFO] [stdout] 44 |     Registry,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     Bundled,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PluginSource` 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: function `decode_launcher_response` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:218:8
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub fn decode_launcher_response(frame: &Frame) -> Result<LauncherResponse, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_event` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub fn encode_launcher_event(event: &LauncherEvent) -> Result<Frame, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_event` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub fn decode_launcher_event(frame: &Frame) -> Result<LauncherEvent, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_launcher_event_payload` is never used
[INFO] [stdout]    --> src/bin/../plugin.rs:382:8
[INFO] [stdout]     |
[INFO] [stdout] 382 | pub fn encode_launcher_event_payload(event: &LauncherEvent) -> Result<Vec<u8>, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/bin/../plugin_manager.rs:1714:9
[INFO] [stdout]      |
[INFO] [stdout] 1714 |     let mut f = File::open(path)?;
[INFO] [stdout]      |         ----^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EDIT_TX` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const EDIT_TX: u16 = 6;
[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 `EDIT_RESULT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const EDIT_RESULT: u16 = 7;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIEWPORT` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const VIEWPORT: u16 = 9;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPANS` is never used
[INFO] [stdout]   --> src/bin/../plugin.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const SPANS: u16 = 10;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Registry` and `Bundled` are never constructed
[INFO] [stdout]   --> src/bin/../plugin.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum PluginSource {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 43 |     Legacy,
[INFO] [stdout] 44 |     Registry,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     Bundled,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PluginSource` 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: function `git_argv` is never used
[INFO] [stdout]    --> src/bin/../plugin_manager.rs:287:8
[INFO] [stdout]     |
[INFO] [stdout] 287 | pub fn git_argv(args: &[&str]) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `staging_path` is never used
[INFO] [stdout]     --> src/bin/../plugin_manager.rs:1211:8
[INFO] [stdout]      |
[INFO] [stdout] 1211 | pub fn staging_path(paths: &ManagerPaths, id: &str, commit: &str) -> Result<PathBuf, ManagerError> {
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file` is never read
[INFO] [stdout]     --> src/bin/../plugin_manager.rs:1578:5
[INFO] [stdout]      |
[INFO] [stdout] 1577 | pub struct ManagerLock {
[INFO] [stdout]      |            ----------- field in this struct
[INFO] [stdout] 1578 |     file: File,
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/plugin.rs:1135:9
[INFO] [stdout]      |
[INFO] [stdout] 1135 |     let mut stderr = child
[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: unreachable pattern
[INFO] [stdout]    --> src/watch.rs:161:21
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Err(rustix::io::Errno::WOULDBLOCK) => break,
[INFO] [stdout]     |                     ---------------------------------- matches all the relevant values
[INFO] [stdout] 161 |                     Err(rustix::io::Errno::AGAIN) => break,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `complete` is never read
[INFO] [stdout]   --> src/lines.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct LineIndex {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub complete: bool,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_response` is never used
[INFO] [stdout]    --> src/plugin.rs:218:8
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub fn decode_launcher_response(frame: &Frame) -> Result<LauncherResponse, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_launcher_event` is never used
[INFO] [stdout]    --> src/plugin.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub fn decode_launcher_event(frame: &Frame) -> Result<LauncherEvent, ProtoError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InvalidPathEncoding` is never constructed
[INFO] [stdout]    --> src/plugin_registry.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout]  93 | pub enum RegistryError {
[INFO] [stdout]     |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 100 |     InvalidPathEncoding,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RegistryError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/plugin_registry.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 150 | impl Registry {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 151 |     /// Load the XDG configuration file; a missing file is an empty registry.
[INFO] [stdout] 152 |     pub fn load() -> Result<Self, RegistryError> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file` is never read
[INFO] [stdout]    --> src/plugin_registry.rs:510:5
[INFO] [stdout]     |
[INFO] [stdout] 509 | struct Lock {
[INFO] [stdout]     |        ---- field in this struct
[INFO] [stdout] 510 |     file: File,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `path` and `size_at_load` are never read
[INFO] [stdout]   --> src/storage.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct OriginalFile {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 21 |     file: File,
[INFO] [stdout] 22 |     pub path: PathBuf,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub size_at_load: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.04s
[INFO] running `Command { std: "docker" "inspect" "d84fd8421f273c5bb1cd184813c8ac34284beaf412bd89512c567379fe89368e", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d84fd8421f273c5bb1cd184813c8ac34284beaf412bd89512c567379fe89368e" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:49:12
[INFO] [stderr]    |
[INFO] [stderr] 49 | homepage = "https://github.com/skad0/teddy"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 54 | repository = "https://github.com/skad0/teddy"
[INFO] [stderr]    |              --------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `teddytor` (manifest) generated 1 warning
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/bin/../plugin.rs:1135:9
[INFO] [stderr]      |
[INFO] [stderr] 1135 |     let mut stderr = child
[INFO] [stderr]      |         ----^^^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/bin/../plugin_manager.rs:1714:9
[INFO] [stderr]      |
[INFO] [stderr] 1714 |     let mut f = File::open(path)?;
[INFO] [stderr]      |         ----^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `EDIT_TX` is never used
[INFO] [stderr]   --> src/bin/../plugin.rs:17:11
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub const EDIT_TX: u16 = 6;
[INFO] [stderr]    |           ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `EDIT_RESULT` is never used
[INFO] [stderr]   --> src/bin/../plugin.rs:18:11
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub const EDIT_RESULT: u16 = 7;
[INFO] [stderr]    |           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `VIEWPORT` is never used
[INFO] [stderr]   --> src/bin/../plugin.rs:20:11
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub const VIEWPORT: u16 = 9;
[INFO] [stderr]    |           ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SPANS` is never used
[INFO] [stderr]   --> src/bin/../plugin.rs:21:11
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub const SPANS: u16 = 10;
[INFO] [stderr]    |           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Registry` and `Bundled` are never constructed
[INFO] [stderr]   --> src/bin/../plugin.rs:44:5
[INFO] [stderr]    |
[INFO] [stderr] 42 | pub enum PluginSource {
[INFO] [stderr]    |          ------------ variants in this enum
[INFO] [stderr] 43 |     Legacy,
[INFO] [stderr] 44 |     Registry,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 45 |     Bundled,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `PluginSource` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `git_argv` is never used
[INFO] [stderr]    --> src/bin/../plugin_manager.rs:287:8
[INFO] [stderr]     |
[INFO] [stderr] 287 | pub fn git_argv(args: &[&str]) -> Vec<String> {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `staging_path` is never used
[INFO] [stderr]     --> src/bin/../plugin_manager.rs:1211:8
[INFO] [stderr]      |
[INFO] [stderr] 1211 | pub fn staging_path(paths: &ManagerPaths, id: &str, commit: &str) -> Result<PathBuf, ManagerError> {
[INFO] [stderr]      |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `file` is never read
[INFO] [stderr]     --> src/bin/../plugin_manager.rs:1578:5
[INFO] [stderr]      |
[INFO] [stderr] 1577 | pub struct ManagerLock {
[INFO] [stderr]      |            ----------- field in this struct
[INFO] [stderr] 1578 |     file: File,
[INFO] [stderr]      |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `teddytor` (bin "teddy-manager" test) generated 10 warnings (run `cargo fix --bin "teddy-manager" -p teddytor --tests` to apply 2 suggestions)
[INFO] [stderr] warning: constant `VIEWPORT` is never used
[INFO] [stderr]   --> src/bin/../plugin.rs:20:11
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub const VIEWPORT: u16 = 9;
[INFO] [stderr]    |           ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `LAUNCHER_EVENT` is never used
[INFO] [stderr]   --> src/bin/../plugin.rs:26:11
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub const LAUNCHER_EVENT: u16 = 13;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `decode_launcher_response` is never used
[INFO] [stderr]    --> src/bin/../plugin.rs:218:8
[INFO] [stderr]     |
[INFO] [stderr] 218 | pub fn decode_launcher_response(frame: &Frame) -> Result<LauncherResponse, ProtoError> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `encode_launcher_event` is never used
[INFO] [stderr]    --> src/bin/../plugin.rs:225:8
[INFO] [stderr]     |
[INFO] [stderr] 225 | pub fn encode_launcher_event(event: &LauncherEvent) -> Result<Frame, ProtoError> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `decode_launcher_event` is never used
[INFO] [stderr]    --> src/bin/../plugin.rs:236:8
[INFO] [stderr]     |
[INFO] [stderr] 236 | pub fn decode_launcher_event(frame: &Frame) -> Result<LauncherEvent, ProtoError> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `encode_launcher_event_payload` is never used
[INFO] [stderr]    --> src/bin/../plugin.rs:382:8
[INFO] [stderr]     |
[INFO] [stderr] 382 | pub fn encode_launcher_event_payload(event: &LauncherEvent) -> Result<Vec<u8>, ProtoError> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `COMMAND_INVOKE` is never used
[INFO] [stderr]   --> src/bin/../plugin.rs:14:11
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub const COMMAND_INVOKE: u16 = 3;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `WIDGET_EVENT` is never used
[INFO] [stderr]   --> src/bin/../plugin.rs:16:11
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub const WIDGET_EVENT: u16 = 5;
[INFO] [stderr]    |           ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `EDIT_TX` is never used
[INFO] [stderr]   --> src/bin/../plugin.rs:17:11
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub const EDIT_TX: u16 = 6;
[INFO] [stderr]    |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `WIDGET_EVENT` is never used
[INFO] [stderr]   --> src/bin/../plugin.rs:16:11
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub const WIDGET_EVENT: u16 = 5;
[INFO] [stderr]    |           ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/plugin.rs:1135:9
[INFO] [stderr]      |
[INFO] [stderr] 1135 |     let mut stderr = child
[INFO] [stderr]      |         ----^^^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/watch.rs:161:21
[INFO] [stderr]     |
[INFO] [stderr] 160 |                     Err(rustix::io::Errno::WOULDBLOCK) => break,
[INFO] [stderr]     |                     ---------------------------------- matches all the relevant values
[INFO] [stderr] 161 |                     Err(rustix::io::Errno::AGAIN) => break,
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `complete` is never read
[INFO] [stderr]   --> src/lines.rs:25:9
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub struct LineIndex {
[INFO] [stderr]    |            --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 25 |     pub complete: bool,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `decode_launcher_response` is never used
[INFO] [stderr]    --> src/plugin.rs:218:8
[INFO] [stderr]     |
[INFO] [stderr] 218 | pub fn decode_launcher_response(frame: &Frame) -> Result<LauncherResponse, ProtoError> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `decode_launcher_event` is never used
[INFO] [stderr]    --> src/plugin.rs:236:8
[INFO] [stderr]     |
[INFO] [stderr] 236 | pub fn decode_launcher_event(frame: &Frame) -> Result<LauncherEvent, ProtoError> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `InvalidPathEncoding` is never constructed
[INFO] [stderr]    --> src/plugin_registry.rs:100:5
[INFO] [stderr]     |
[INFO] [stderr]  93 | pub enum RegistryError {
[INFO] [stderr]     |          ------------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 100 |     InvalidPathEncoding,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `RegistryError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `load` is never used
[INFO] [stderr]    --> src/plugin_registry.rs:152:12
[INFO] [stderr]     |
[INFO] [stderr] 150 | impl Registry {
[INFO] [stderr]     | ------------- associated function in this implementation
[INFO] [stderr] 151 |     /// Load the XDG configuration file; a missing file is an empty registry.
[INFO] [stderr] 152 |     pub fn load() -> Result<Self, RegistryError> {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `file` is never read
[INFO] [stderr]    --> src/plugin_registry.rs:510:5
[INFO] [stderr]     |
[INFO] [stderr] 509 | struct Lock {
[INFO] [stderr]     |        ---- field in this struct
[INFO] [stderr] 510 |     file: File,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `path` and `size_at_load` are never read
[INFO] [stderr]   --> src/storage.rs:22:9
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub struct OriginalFile {
[INFO] [stderr]    |            ------------ fields in this struct
[INFO] [stderr] 21 |     file: File,
[INFO] [stderr] 22 |     pub path: PathBuf,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 25 |     pub size_at_load: u64,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `teddytor` (bin "teddy-demo" test) generated 9 warnings (3 duplicates)
[INFO] [stderr] warning: `teddytor` (bin "teddy-highlight" test) generated 11 warnings (8 duplicates)
[INFO] [stderr] warning: `teddytor` (bin "teddy-session" test) generated 12 warnings (11 duplicates)
[INFO] [stderr] warning: `teddytor` (bin "teddy-lsp" test) generated 12 warnings (12 duplicates)
[INFO] [stderr] warning: `teddytor` (bin "teddy" test) generated 9 warnings (run `cargo fix --bin "teddy" -p teddytor --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `teddytor` (bin "teddy-ai" test) generated 12 warnings (12 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/teddytor/bf3da8d04da806c0/out/teddy-bf3da8d04da806c0)
[INFO] [stdout] 
[INFO] [stdout] running 128 tests
[INFO] [stdout] test buffer::tests::new_file_buffer ... ok
[INFO] [stdout] test ignore::tests::anchored_dir_only_leaf_requires_dir ... ok
[INFO] [stdout] test ignore::tests::comments_and_blanks_ignored ... ok
[INFO] [stdout] test ignore::tests::component_anchored_vs_root_anchored ... ok
[INFO] [stdout] test ignore::tests::dir_only_pattern ... ok
[INFO] [stdout] test ignore::tests::empty_and_whitespace_only_lines_are_noop ... ok
[INFO] [stdout] test ignore::tests::question_mark_single_char ... ok
[INFO] [stdout] test ignore::tests::negation_last_match_wins ... ok
[INFO] [stdout] test ignore::tests::simple_name_matches_any_component ... ok
[INFO] [stdout] test ignore::tests::root_anchored_pattern_matches_only_at_root ... ok
[INFO] [stdout] test buffer::tests::open_and_read ... ok
[INFO] [stdout] test ignore::tests::interior_slash_anchors_to_root_path ... ok
[INFO] [stdout] test ignore::tests::star_does_not_cross_path_separator ... ok
[INFO] [stdout] test ignore::tests::negation_can_be_overridden_by_later_pattern ... ok
[INFO] [stdout] test buffer::tests::replace_patches_line_index ... ok
[INFO] [stdout] test input::tests::garbage_never_wedges ... ok
[INFO] [stdout] test input::tests::invalid_utf8_skipped ... ok
[INFO] [stdout] test input::tests::lone_esc_on_timeout ... ok
[INFO] [stdout] test buffer::tests::boundaries_utf8_and_invalid ... ok
[INFO] [stdout] test buffer::tests::readonly_rejects_edit ... ok
[INFO] [stdout] test buffer::tests::grouped_typing_undo ... ok
[INFO] [stdout] test input::tests::split_csi_across_feeds ... ok
[INFO] [stdout] test lex::tests::md_emphasis_and_strong ... ok
[INFO] [stdout] test lex::tests::md_fenced_code_line ... ok
[INFO] [stdout] test lex::tests::md_empty_line ... ok
[INFO] [stdout] test lex::tests::md_heading_levels ... ok
[INFO] [stdout] test lex::tests::md_bracket_without_paren_is_not_link ... ok
[INFO] [stdout] test input::tests::utf8_char_and_split_feed ... ok
[INFO] [stdout] test lex::tests::md_link ... ok
[INFO] [stdout] test lex::tests::md_invalid_utf8_no_panic ... ok
[INFO] [stdout] test lex::tests::rust_byte_string_and_char ... ok
[INFO] [stdout] test lex::tests::rust_char_literal_and_escapes ... ok
[INFO] [stdout] test lex::tests::rust_empty_line ... ok
[INFO] [stdout] test lex::tests::rust_ident_vs_keyword ... ok
[INFO] [stdout] test lex::tests::rust_invalid_utf8_no_panic ... ok
[INFO] [stdout] test lex::tests::rust_keywords_full_list ... ok
[INFO] [stdout] test lex::tests::rust_lifetime_is_ident ... ok
[INFO] [stdout] test lex::tests::md_spans_ascending_non_overlapping ... ok
[INFO] [stdout] test lex::tests::rust_block_comment_same_line ... ok
[INFO] [stdout] test lex::tests::rust_loop_label ... ok
[INFO] [stdout] test lex::tests::rust_numbers ... ok
[INFO] [stdout] test buffer::tests::undo_redo_invertibility_randomized ... ok
[INFO] [stdout] test lex::tests::rust_punctuation_merged ... ok
[INFO] [stdout] test input::tests::csi_keys ... ok
[INFO] [stdout] test lex::tests::rust_range_dot_not_swallowed ... ok
[INFO] [stdout] test buffer::tests::disk_changed_and_reload ... ok
[INFO] [stdout] test buffer::tests::binary_sniff_readonly ... ok
[INFO] [stdout] test lex::tests::md_code_span ... ok
[INFO] [stdout] test input::tests::ascii_and_ctrl ... ok
[INFO] [stdout] test input::tests::unknown_csi_skipped ... ok
[INFO] [stdout] test lex::tests::rust_line_comment ... ok
[INFO] [stdout] test ignore::tests::star_within_component ... ok
[INFO] [stdout] test lex::tests::rust_block_comment_unterminated_runs_to_eol ... ok
[INFO] [stdout] test lex::tests::rust_spans_ascending_non_overlapping ... ok
[INFO] [stdout] test lex::tests::rust_raw_strings ... ok
[INFO] [stdout] test lex::tests::md_unterminated_backtick_is_text ... ok
[INFO] [stdout] test lex::tests::rust_string_escaped_quote_not_a_terminator ... ok
[INFO] [stdout] test lex::tests::rust_strings_and_unterminated ... ok
[INFO] [stdout] test buffer::tests::modified_tracks_divergence_after_save ... ok
[INFO] [stdout] test lines::tests::empty_and_grow ... ok
[INFO] [stdout] test plugin::tests::contribution_cleanup_is_explicit ... ok
[INFO] [stdout] test plugin::tests::launcher_codecs_reject_bad_ids_and_trailing_payload ... ok
[INFO] [stdout] test plugin::tests::launcher_request_round_trips_every_operation ... ok
[INFO] [stdout] test picker::tests::lazy_tree_expand_and_ignores ... ok
[INFO] [stdout] test plugin::tests::launcher_descriptor_caps_geometric_retry_count ... ok
[INFO] [stdout] test plugin::tests::launcher_list_round_trips_observed_lifecycle_states ... ok
[INFO] [stdout] test plugin::tests::lifecycle_model_covers_timeout_crash_exhaustion_and_reaping ... ok
[INFO] [stdout] test plugin::tests::oversized_payload_len_rejected ... ok
[INFO] [stdout] test picker::tests::expand_on_search_finds_nested ... ok
[INFO] [stdout] test plugin::tests::round_trip_split_boundaries ... ok
[INFO] [stdout] test plugin::tests::stale_widget_revision_is_dropped ... ok
[INFO] [stdout] test plugin::tests::parses_widget_and_rejects_truncated_or_overlong ... ok
[INFO] [stdout] test plugin::tests::persisted_backoff_and_explicit_reset_are_bounded ... ok
[INFO] [stdout] test plugin_registry::tests::missing_is_empty ... ok
[INFO] [stdout] test plugin::tests::sanitizer_replaces_control_bytes ... ok
[INFO] [stdout] test plugin::tests::parses_spans_round_trip ... ok
[INFO] [stdout] test plugin::tests::launcher_codecs_reject_malformed_and_oversize_payloads ... ok
[INFO] [stdout] test plugin_registry::tests::restart_policy_caps_geometric_retry_count ... ok
[INFO] [stdout] test render::tests::c1_control_via_utf8_escaped ... ok
[INFO] [stdout] test plugin_registry::tests::validates_ids ... ok
[INFO] [stdout] test render::tests::cols_helpers_roundtrip ... ok
[INFO] [stdout] test render::tests::highlight_spans_wrap_printable_bytes ... ok
[INFO] [stdout] test render::tests::horizontal_clip ... ok
[INFO] [stdout] test render::tests::invalid_bytes_escaped ... ok
[INFO] [stdout] test render::tests::paint_smoke_and_render_cache ... ok
[INFO] [stdout] test render::tests::plain_ascii_row ... ok
[INFO] [stdout] test plugin_registry::tests::rename_failure_removes_temporary_file ... ok
[INFO] [stdout] test render::tests::selection_reverse_video ... ok
[INFO] [stdout] test plugin_registry::tests::lock_contention_is_busy_and_recovers_after_drop ... ok
[INFO] [stdout] test render::tests::tab_expansion ... ok
[INFO] [stdout] test render::tests::wide_token_straddles_left_edge ... ok
[INFO] [stdout] test search::tests::find_basics ... ok
[INFO] [stdout] test plugin::tests::stderr_is_sanitized_and_bounded ... ok
[INFO] [stdout] test plugin::tests::truncated_spans_are_rejected ... ok
[INFO] [stdout] test render::tests::control_bytes_escaped_no_ansi_injection ... ok
[INFO] [stdout] test search::tests::replace_all_never_wraps_before_scope ... ok
[INFO] [stdout] test buffer::tests::save_guard_detects_external_change ... ok
[INFO] [stdout] test search::tests::replace_all_replacement_contains_needle ... ok
[INFO] [stdout] test startup_tests::bundled_highlighter_is_a_sibling_executable ... ok
[INFO] [stdout] test startup_tests::committed_registry_warning_keeps_success_path ... ok
[INFO] [stdout] test search::tests::replace_all_scoped_to_selection ... ok
[INFO] [stdout] test startup_tests::configured_viewport_plugin_wins_over_bundled_spans ... ok
[INFO] [stdout] test buffer::tests::save_round_trip_byte_identical ... ok
[INFO] [stdout] test startup_tests::manager_path_requires_absolute_regular_executable ... ok
[INFO] [stdout] test startup_tests::renamed_buffer_invalidates_spans_even_at_same_revision ... ok
[INFO] [stdout] test storage::tests::coalesce_adjacent_add_pieces ... ok
[INFO] [stdout] test startup_tests::explicitly_named_highlighter_is_not_added_again ... ok
[INFO] [stdout] test storage::tests::delete_and_replace_across_pieces ... ok
[INFO] [stdout] test storage::tests::empty_file_and_full_delete ... ok
[INFO] [stdout] test storage::tests::insert_middle_start_end ... ok
[INFO] [stdout] test storage::tests::group_repack_stays_bounded ... ok
[INFO] [stdout] test search::tests::search_sees_unsaved_edits ... ok
[INFO] [stdout] test search::tests::replace_all_with_length_change ... ok
[INFO] [stdout] test lines::tests::shift_is_cheap_across_blocks ... ok
[INFO] [stdout] test storage::tests::randomized_against_mirror ... ok
[INFO] [stdout] test storage::tests::removed_pieces_are_exact_inverse ... ok
[INFO] [stdout] test plugin_registry::tests::round_trip_and_mutations ... ok
[INFO] [stdout] test search::tests::streaming_search_across_slices_and_wrap ... ok
[INFO] [stdout] test plugin_registry::tests::recoverable_corruption_requires_explicit_recovery ... ok
[INFO] [stdout] test storage::tests::original_chunk_cache_reads ... ok
[INFO] [stdout] test storage::tests::add_store_spill ... ok
[INFO] [stdout] test plugin_registry::tests::directory_sync_warning_is_committed_and_generation_advances ... ok
[INFO] [stdout] test plugin_registry::tests::reload_mutate_save_advances_file_generation ... ok
[INFO] [stdout] test startup_tests::recovery_is_one_shot_then_stale_saves_conflict ... ok
[INFO] [stdout] test plugin_registry::tests::stale_instances_conflict_instead_of_overwriting ... ok
[INFO] [stdout] test startup_tests::launcher_dispatch_persists_desired_state_before_reporting_success ... ok
[INFO] [stdout] test plugin_registry::tests::encoded_size_is_checked_before_temp_creation ... ok
[INFO] [stdout] test lines::tests::matches_flat_model_randomized ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 128 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.47s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/teddy-ai.rs (/opt/rustwide/target/debug/build/teddytor/c444cb14a44a0e37/out/teddy_ai-c444cb14a44a0e37)
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test plugin::tests::contribution_cleanup_is_explicit ... ok
[INFO] [stdout] test plugin::tests::parses_spans_round_trip ... ok
[INFO] [stdout] test plugin::tests::persisted_backoff_and_explicit_reset_are_bounded ... ok
[INFO] [stdout] test plugin::tests::launcher_codecs_reject_bad_ids_and_trailing_payload ... ok
[INFO] [stdout] test plugin::tests::sanitizer_replaces_control_bytes ... ok
[INFO] [stdout] test plugin::tests::launcher_descriptor_caps_geometric_retry_count ... ok
[INFO] [stdout] test plugin::tests::truncated_spans_are_rejected ... ok
[INFO] [stdout] test plugin::tests::round_trip_split_boundaries ... ok
[INFO] [stdout] test plugin::tests::stderr_is_sanitized_and_bounded ... ok
[INFO] [stdout] test plugin::tests::launcher_request_round_trips_every_operation ... ok
[INFO] [stdout] test plugin::tests::launcher_codecs_reject_malformed_and_oversize_payloads ... ok
[INFO] [stdout] test plugin::tests::parses_widget_and_rejects_truncated_or_overlong ... ok
[INFO] [stdout] test plugin::tests::launcher_list_round_trips_observed_lifecycle_states ... ok
[INFO] [stdout] test plugin::tests::stale_widget_revision_is_dropped ... ok
[INFO] [stdout] test plugin::tests::lifecycle_model_covers_timeout_crash_exhaustion_and_reaping ... ok
[INFO] [stdout] test plugin::tests::oversized_payload_len_rejected ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/teddy-demo.rs (/opt/rustwide/target/debug/build/teddytor/d79fac79729fbb9b/out/teddy_demo-d79fac79729fbb9b)
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test plugin::tests::launcher_descriptor_caps_geometric_retry_count ... ok
[INFO] [stdout] test plugin::tests::contribution_cleanup_is_explicit ... ok
[INFO] [stdout] test plugin::tests::launcher_request_round_trips_every_operation ... ok
[INFO] [stdout] test plugin::tests::launcher_codecs_reject_bad_ids_and_trailing_payload ... ok
[INFO] [stdout] test plugin::tests::lifecycle_model_covers_timeout_crash_exhaustion_and_reaping ... ok
[INFO] [stdout] test plugin::tests::parses_spans_round_trip ... ok
[INFO] [stdout] test plugin::tests::round_trip_split_boundaries ... ok
[INFO] [stdout] test plugin::tests::sanitizer_replaces_control_bytes ... ok
[INFO] [stdout] test plugin::tests::stale_widget_revision_is_dropped ... ok
[INFO] [stdout] test plugin::tests::persisted_backoff_and_explicit_reset_are_bounded ... ok
[INFO] [stdout] test plugin::tests::stderr_is_sanitized_and_bounded ... ok
[INFO] [stdout] test plugin::tests::launcher_codecs_reject_malformed_and_oversize_payloads ... ok
[INFO] [stdout] test plugin::tests::truncated_spans_are_rejected ... ok
[INFO] [stdout] test tests::protocol_round_trip ... ok
[INFO] [stdout] test plugin::tests::parses_widget_and_rejects_truncated_or_overlong ... ok
[INFO] [stdout] test plugin::tests::oversized_payload_len_rejected ... ok
[INFO] [stdout] test plugin::tests::launcher_list_round_trips_observed_lifecycle_states ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/teddy-highlight.rs (/opt/rustwide/target/debug/build/teddytor/a5afad8121960806/out/teddy_highlight-a5afad8121960806)
[INFO] [stdout] 
[INFO] [stdout] running 46 tests
[INFO] [stdout] test lex::tests::md_bracket_without_paren_is_not_link ... ok
[INFO] [stdout] test lex::tests::md_code_span ... ok
[INFO] [stdout] test lex::tests::md_empty_line ... ok
[INFO] [stdout] test lex::tests::rust_block_comment_same_line ... ok
[INFO] [stdout] test lex::tests::rust_block_comment_unterminated_runs_to_eol ... ok
[INFO] [stdout] test lex::tests::rust_byte_string_and_char ... ok
[INFO] [stdout] test lex::tests::rust_empty_line ... ok
[INFO] [stdout] test lex::tests::md_emphasis_and_strong ... ok
[INFO] [stdout] test lex::tests::rust_ident_vs_keyword ... ok
[INFO] [stdout] test lex::tests::md_fenced_code_line ... ok
[INFO] [stdout] test lex::tests::rust_keywords_full_list ... ok
[INFO] [stdout] test lex::tests::rust_invalid_utf8_no_panic ... ok
[INFO] [stdout] test lex::tests::md_heading_levels ... ok
[INFO] [stdout] test lex::tests::md_unterminated_backtick_is_text ... ok
[INFO] [stdout] test lex::tests::rust_lifetime_is_ident ... ok
[INFO] [stdout] test lex::tests::rust_line_comment ... ok
[INFO] [stdout] test lex::tests::rust_numbers ... ok
[INFO] [stdout] test lex::tests::rust_punctuation_merged ... ok
[INFO] [stdout] test lex::tests::rust_loop_label ... ok
[INFO] [stdout] test lex::tests::rust_char_literal_and_escapes ... ok
[INFO] [stdout] test lex::tests::md_link ... ok
[INFO] [stdout] test lex::tests::md_spans_ascending_non_overlapping ... ok
[INFO] [stdout] test lex::tests::rust_raw_strings ... ok
[INFO] [stdout] test lex::tests::rust_string_escaped_quote_not_a_terminator ... ok
[INFO] [stdout] test lex::tests::rust_spans_ascending_non_overlapping ... ok
[INFO] [stdout] test lex::tests::rust_strings_and_unterminated ... ok
[INFO] [stdout] test lex::tests::rust_range_dot_not_swallowed ... ok
[INFO] [stdout] test lex::tests::md_invalid_utf8_no_panic ... ok
[INFO] [stdout] test plugin::tests::launcher_codecs_reject_bad_ids_and_trailing_payload ... ok
[INFO] [stdout] test plugin::tests::contribution_cleanup_is_explicit ... ok
[INFO] [stdout] test plugin::tests::launcher_descriptor_caps_geometric_retry_count ... ok
[INFO] [stdout] test plugin::tests::launcher_list_round_trips_observed_lifecycle_states ... ok
[INFO] [stdout] test plugin::tests::launcher_codecs_reject_malformed_and_oversize_payloads ... ok
[INFO] [stdout] test plugin::tests::oversized_payload_len_rejected ... ok
[INFO] [stdout] test plugin::tests::launcher_request_round_trips_every_operation ... ok
[INFO] [stdout] test plugin::tests::lifecycle_model_covers_timeout_crash_exhaustion_and_reaping ... ok
[INFO] [stdout] test plugin::tests::parses_spans_round_trip ... ok
[INFO] [stdout] test plugin::tests::parses_widget_and_rejects_truncated_or_overlong ... ok
[INFO] [stdout] test plugin::tests::sanitizer_replaces_control_bytes ... ok
[INFO] [stdout] test plugin::tests::persisted_backoff_and_explicit_reset_are_bounded ... ok
[INFO] [stdout] test plugin::tests::round_trip_split_boundaries ... ok
[INFO] [stdout] test plugin::tests::truncated_spans_are_rejected ... ok
[INFO] [stdout] test plugin::tests::stale_widget_revision_is_dropped ... ok
[INFO] [stdout] test plugin::tests::stderr_is_sanitized_and_bounded ... ok
[INFO] [stdout] test tests::maps_conventional_markdown_names_and_rejects_unknowns ... ok
[INFO] [stdout] test tests::maps_supported_extensions_case_insensitively ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 46 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/teddy-lsp.rs (/opt/rustwide/target/debug/build/teddytor/bb3da6249a0b2915/out/teddy_lsp-bb3da6249a0b2915)
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test plugin::tests::launcher_codecs_reject_bad_ids_and_trailing_payload ... ok
[INFO] [stdout] test plugin::tests::launcher_request_round_trips_every_operation ... ok
[INFO] [stdout] test plugin::tests::launcher_descriptor_caps_geometric_retry_count ... ok
[INFO] [stdout] test plugin::tests::lifecycle_model_covers_timeout_crash_exhaustion_and_reaping ... ok
[INFO] [stdout] test plugin::tests::oversized_payload_len_rejected ... ok
[INFO] [stdout] test plugin::tests::parses_spans_round_trip ... ok
[INFO] [stdout] test plugin::tests::parses_widget_and_rejects_truncated_or_overlong ... ok
[INFO] [stdout] test plugin::tests::launcher_list_round_trips_observed_lifecycle_states ... ok
[INFO] [stdout] test plugin::tests::stale_widget_revision_is_dropped ... ok
[INFO] [stdout] test plugin::tests::launcher_codecs_reject_malformed_and_oversize_payloads ... ok
[INFO] [stdout] test plugin::tests::truncated_spans_are_rejected ... ok
[INFO] [stdout] test plugin::tests::stderr_is_sanitized_and_bounded ... ok
[INFO] [stdout] test plugin::tests::persisted_backoff_and_explicit_reset_are_bounded ... ok
[INFO] [stdout] test plugin::tests::round_trip_split_boundaries ... ok
[INFO] [stdout] test plugin::tests::sanitizer_replaces_control_bytes ... ok
[INFO] [stdout] test plugin::tests::contribution_cleanup_is_explicit ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stderr]      Running unittests src/bin/teddy-manager.rs (/opt/rustwide/target/debug/build/teddytor/ed7e744e251c9645/out/teddy_manager-ed7e744e251c9645)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 61 tests
[INFO] [stdout] test plugin::tests::launcher_codecs_reject_malformed_and_oversize_payloads ... ok
[INFO] [stdout] test plugin::tests::launcher_request_round_trips_every_operation ... ok
[INFO] [stdout] test plugin::tests::launcher_list_round_trips_observed_lifecycle_states ... ok
[INFO] [stdout] test plugin::tests::launcher_descriptor_caps_geometric_retry_count ... ok
[INFO] [stdout] test plugin::tests::launcher_codecs_reject_bad_ids_and_trailing_payload ... ok
[INFO] [stdout] test plugin::tests::sanitizer_replaces_control_bytes ... ok
[INFO] [stdout] test plugin::tests::oversized_payload_len_rejected ... ok
[INFO] [stdout] test plugin::tests::contribution_cleanup_is_explicit ... ok
[INFO] [stdout] test plugin::tests::lifecycle_model_covers_timeout_crash_exhaustion_and_reaping ... ok
[INFO] [stdout] test plugin::tests::parses_spans_round_trip ... ok
[INFO] [stdout] test plugin::tests::parses_widget_and_rejects_truncated_or_overlong ... ok
[INFO] [stdout] test plugin::tests::truncated_spans_are_rejected ... ok
[INFO] [stdout] test plugin_manager::tests::paths_support_overrides_and_fallbacks ... ok
[INFO] [stdout] test plugin_manager::tests::manager_paths_reject_symlink_components ... ok
[INFO] [stdout] test plugin::tests::persisted_backoff_and_explicit_reset_are_bounded ... ok
[INFO] [stdout] test plugin::tests::round_trip_split_boundaries ... ok
[INFO] [stdout] test plugin_manager::tests::git_inputs_and_tree_are_strict ... ok
[INFO] [stdout] test plugin_manager::tests::parser_rejects_bad_corpus ... ok
[INFO] [stdout] test plugin_manager::tests::git_resolution_and_environment_are_safe ... ok
[INFO] [stdout] test plugin_manager::tests::malformed_update_journal_is_refused_without_cleanup ... ok
[INFO] [stdout] test plugin_manager::tests::catalog_rejects_duplicate_plugin_ids ... ok
[INFO] [stdout] test tests::action_tokens_round_trip_the_exact_version_and_identity ... ok
[INFO] [stdout] test tests::action_vocabulary_is_explicit_and_cancel_is_safe ... ok
[INFO] [stdout] test tests::advisory_event_cannot_consume_a_pending_response ... ok
[INFO] [stdout] test plugin::tests::stale_widget_revision_is_dropped ... ok
[INFO] [stdout] test tests::command_and_filter_are_plain ... ok
[INFO] [stdout] test plugin::tests::stderr_is_sanitized_and_bounded ... ok
[INFO] [stdout] test tests::existing_record_enable_is_id_only ... ok
[INFO] [stdout] test tests::failed_stage_persistence_stops_every_update_handoff ... ok
[INFO] [stdout] test tests::installed_budget_counts_raw_and_constructed_work ... ok
[INFO] [stdout] test plugin_manager::tests::paths_are_validated ... ok
[INFO] [stdout] test plugin_manager::tests::receipt_round_trip_and_lock_contention ... ok
[INFO] [stdout] test plugin_manager::tests::payload_and_stale_recovery_are_conservative ... ok
[INFO] [stdout] test tests::list_accepts_only_the_expected_forward_page ... ok
[INFO] [stdout] test tests::list_pages_aggregate_by_request ... ok
[INFO] [stdout] test tests::list_rejects_out_of_order_and_error_responses ... ok
[INFO] [stdout] test tests::list_rejects_unknown_duplicate_and_cyclic_pages ... ok
[INFO] [stdout] test plugin_manager::tests::digest_and_journal_are_deterministic_and_bounded ... ok
[INFO] [stdout] test tests::notices_are_bounded_on_utf8_boundaries ... ok
[INFO] [stdout] test tests::mismatched_launcher_response_cannot_start_poll ... ok
[INFO] [stdout] test tests::oversized_catalog_read_is_rejected_before_parsing ... ok
[INFO] [stdout] test plugin_manager::tests::active_removal_trash_is_not_orphan_cleaned_before_source_validation ... ok
[INFO] [stdout] test tests::remove_poll_requires_reaping_before_forget ... ok
[INFO] [stdout] test tests::existing_record_must_match_the_exact_verified_payload_path ... ok
[INFO] [stdout] test tests::stale_confirmation_and_manager_self_are_rejected ... ok
[INFO] [stdout] test tests::stale_selection_is_harmless ... ok
[INFO] [stdout] test tests::symlink_and_invalid_version_entries_are_rejected ... ok
[INFO] [stdout] test plugin_manager::tests::removal_rejects_symlink_payload_and_escape ... ok
[INFO] [stdout] test tests::lifecycle_poll_reports_running_and_failed_without_payloads ... ok
[INFO] [stdout] test plugin_manager::tests::removal_refuses_stale_receipts_and_recovers_trash ... ok
[INFO] [stdout] test plugin_manager::tests::active_update_blocks_ordinary_removal_and_state_mutation ... ok
[INFO] [stdout] test tests::remove_waits_through_all_transient_host_states ... ok
[INFO] [stdout] test plugin_manager::tests::journaled_removal_is_verified_and_idempotent ... ok
[INFO] [stdout] test tests::candidate_running_recovery_polls_transient_candidate_without_rollback ... ok
[INFO] [stdout] test tests::remove_exact_delegates_to_manager_and_handles_not_found ... ok
[INFO] [stdout] test tests::oversized_widget_rows_are_bounded_without_panicking ... ok
[INFO] [stdout] test tests::candidate_running_stage_write_failure_retains_journal_and_no_controls ... ok
[INFO] [stdout] test plugin_manager::tests::update_transaction_journals_stages_and_retains_both_versions ... ok
[INFO] [stdout] test tests::candidate_running_recovery_completes_only_exact_running_candidate ... ok
[INFO] [stdout] test tests::candidate_running_recovery_rolls_back_absent_or_failed_candidate ... ok
[INFO] [stdout] test tests::installed_scan_has_one_global_budget_across_directories_and_versions ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 61 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.74s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stderr]      Running unittests src/bin/teddy-session.rs (/opt/rustwide/target/debug/build/teddytor/aca7829ec037ca10/out/teddy_session-aca7829ec037ca10)
[INFO] [stdout] test plugin::tests::contribution_cleanup_is_explicit ... ok
[INFO] [stdout] test plugin::tests::launcher_codecs_reject_bad_ids_and_trailing_payload ... ok
[INFO] [stdout] test plugin::tests::launcher_codecs_reject_malformed_and_oversize_payloads ... ok
[INFO] [stdout] test plugin::tests::launcher_list_round_trips_observed_lifecycle_states ... ok
[INFO] [stdout] test plugin::tests::launcher_descriptor_caps_geometric_retry_count ... ok
[INFO] [stdout] test plugin::tests::launcher_request_round_trips_every_operation ... ok
[INFO] [stdout] test plugin::tests::lifecycle_model_covers_timeout_crash_exhaustion_and_reaping ... ok
[INFO] [stdout] test plugin::tests::persisted_backoff_and_explicit_reset_are_bounded ... ok
[INFO] [stdout] test plugin::tests::truncated_spans_are_rejected ... ok
[INFO] [stdout] test plugin::tests::stale_widget_revision_is_dropped ... ok
[INFO] [stdout] test plugin::tests::parses_spans_round_trip ... ok
[INFO] [stdout] test plugin::tests::parses_widget_and_rejects_truncated_or_overlong ... ok
[INFO] [stdout] test plugin::tests::oversized_payload_len_rejected ... ok
[INFO] [stdout] test plugin::tests::stderr_is_sanitized_and_bounded ... ok
[INFO] [stdout] test plugin::tests::round_trip_split_boundaries ... ok
[INFO] [stdout] test plugin::tests::sanitizer_replaces_control_bytes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d84fd8421f273c5bb1cd184813c8ac34284beaf412bd89512c567379fe89368e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d84fd8421f273c5bb1cd184813c8ac34284beaf412bd89512c567379fe89368e", kill_on_drop: false }`
[INFO] [stdout] d84fd8421f273c5bb1cd184813c8ac34284beaf412bd89512c567379fe89368e
