[INFO] cloning repository https://github.com/richcallow/rradio_lcd_driver
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/richcallow/rradio_lcd_driver" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frichcallow%2Frradio_lcd_driver", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frichcallow%2Frradio_lcd_driver'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1b5f186fcb5bf735666672c3ca5f840786b80388
[INFO] checking richcallow/rradio_lcd_driver/1b5f186fcb5bf735666672c3ca5f840786b80388 against master#a26e97be8826d408309fffbd8168362365719f50 for pr-136776
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frichcallow%2Frradio_lcd_driver" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/richcallow/rradio_lcd_driver on toolchain a26e97be8826d408309fffbd8168362365719f50
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a26e97be8826d408309fffbd8168362365719f50" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/richcallow/rradio_lcd_driver
[INFO] finished tweaking git repo https://github.com/richcallow/rradio_lcd_driver
[INFO] tweaked toml for git repo https://github.com/richcallow/rradio_lcd_driver written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/richcallow/rradio_lcd_driver 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" "+a26e97be8826d408309fffbd8168362365719f50" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/sammhicks/internet-radio-rs`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded compile-time v0.2.0
[INFO] [stderr]   Downloaded darwin-libproc-sys v0.1.2
[INFO] [stderr]   Downloaded arcstr v1.2.0
[INFO] [stderr]   Downloaded psutil v3.3.0
[INFO] [stderr]   Downloaded clerk v0.4.0
[INFO] [stderr]   Downloaded darwin-libproc v0.1.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+a26e97be8826d408309fffbd8168362365719f50" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2b8d139d56b6785e93c6ac8c079547bdf57cd62dea9f47579f02cb9de253ac68
[INFO] running `Command { std: "docker" "start" "-a" "2b8d139d56b6785e93c6ac8c079547bdf57cd62dea9f47579f02cb9de253ac68", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2b8d139d56b6785e93c6ac8c079547bdf57cd62dea9f47579f02cb9de253ac68", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2b8d139d56b6785e93c6ac8c079547bdf57cd62dea9f47579f02cb9de253ac68", kill_on_drop: false }`
[INFO] [stdout] 2b8d139d56b6785e93c6ac8c079547bdf57cd62dea9f47579f02cb9de253ac68
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+a26e97be8826d408309fffbd8168362365719f50" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6ab9fb014d8946f93aeed27906997455a397ce32bc894638ac786915f54b7ed3
[INFO] running `Command { std: "docker" "start" "-a" "6ab9fb014d8946f93aeed27906997455a397ce32bc894638ac786915f54b7ed3", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.89
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]    Compiling serde v1.0.214
[INFO] [stderr]    Compiling libc v0.2.162
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]     Checking no-std-net v0.6.0
[INFO] [stderr]     Checking pnet_base v0.35.0
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]     Checking iana-time-zone v0.1.61
[INFO] [stderr]    Compiling semver v1.0.23
[INFO] [stderr]     Checking pnet_macros_support v0.35.0
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]    Compiling thiserror v1.0.68
[INFO] [stderr]     Checking adler2 v2.0.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling thiserror v2.0.9
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking pin-project-lite v0.2.15
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]     Checking hashbrown v0.15.1
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling rustix v0.38.39
[INFO] [stderr]    Compiling syn v2.0.87
[INFO] [stderr]    Compiling platforms v2.0.0
[INFO] [stderr]    Compiling time-macros v0.2.18
[INFO] [stderr]    Compiling deranged v0.3.11
[INFO] [stderr]     Checking pnet_sys v0.35.0
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]     Checking indexmap v2.6.0
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]     Checking miniz_oxide v0.8.0
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]    Compiling pnet v0.35.0
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]    Compiling itoa v1.0.11
[INFO] [stderr]    Compiling regex-automata v0.4.8
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]    Compiling anyhow v1.0.93
[INFO] [stderr]     Checking cobs v0.2.3
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]    Compiling procfs v0.17.0
[INFO] [stderr]     Checking bytes v1.9.0
[INFO] [stderr]     Checking winnow v0.6.20
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling time v0.3.36
[INFO] [stderr]     Checking flate2 v1.0.34
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking nix v0.27.1
[INFO] [stderr]     Checking glob v0.3.1
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking once_cell v1.20.2
[INFO] [stderr]     Checking unescape v0.1.0
[INFO] [stderr]     Checking gpio-cdev v0.6.0
[INFO] [stderr]     Checking clerk v0.4.0
[INFO] [stderr]    Compiling compile-time v0.2.0
[INFO] [stderr]     Checking unidecode v0.3.0
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling serde_derive v1.0.214
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.9
[INFO] [stderr]    Compiling thiserror-impl v1.0.68
[INFO] [stderr]    Compiling derive_more v0.99.18
[INFO] [stderr]    Compiling pnet_macros v0.35.0
[INFO] [stderr]     Checking tokio v1.41.1
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking pnet_packet v0.35.0
[INFO] [stderr]     Checking psutil v3.3.0
[INFO] [stderr]     Checking pnet_transport v0.35.0
[INFO] [stderr]     Checking chrono v0.4.38
[INFO] [stderr]     Checking serde_spanned v0.6.8
[INFO] [stderr]     Checking toml_datetime v0.6.8
[INFO] [stderr]     Checking ipnetwork v0.20.0
[INFO] [stderr]     Checking postcard v1.1.1
[INFO] [stderr]     Checking arcstr v1.2.0
[INFO] [stderr]     Checking toml_edit v0.22.22
[INFO] [stderr]     Checking pnet_datalink v0.35.0
[INFO] [stderr]     Checking procfs-core v0.17.0
[INFO] [stderr]     Checking rradio-messages v0.38.0 (https://github.com/sammhicks/internet-radio-rs?branch=development#a13cb968)
[INFO] [stderr]     Checking toml v0.8.19
[INFO] [stderr]     Checking rradio_lcd_driver v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `PingTarget`, `PingTimes`, and `PlayerStateDiff`
[INFO] [stdout]  --> src/main.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rradio_messages::{Event, PingTarget, PingTimes, PipelineState, PlayerStateDiff};
[INFO] [stdout]   |                              ^^^^^^^^^^  ^^^^^^^^^                 ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LINE1_DATA_CHAR_COUNT_USIZE`
[INFO] [stdout]   --> src/main.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | use lcd::{LINE1_DATA_CHAR_COUNT_USIZE, NUM_CHARACTERS_PER_LINE};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PingTarget`, `PingTimes`, and `PlayerStateDiff`
[INFO] [stdout]  --> src/main.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rradio_messages::{Event, PingTarget, PingTimes, PipelineState, PlayerStateDiff};
[INFO] [stdout]   |                              ^^^^^^^^^^  ^^^^^^^^^                 ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LINE1_DATA_CHAR_COUNT_USIZE`
[INFO] [stdout]   --> src/main.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | use lcd::{LINE1_DATA_CHAR_COUNT_USIZE, NUM_CHARACTERS_PER_LINE};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `zxis_muted`
[INFO] [stdout]   --> src/main.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let mut zxis_muted = false; // in practice always false
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_zxis_muted`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `started_up`
[INFO] [stdout]   --> src/main.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let mut started_up = false;
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_started_up`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pipe_line_state`
[INFO] [stdout]   --> src/main.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let mut pipe_line_state = PipelineState::Null;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pipe_line_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `volume`
[INFO] [stdout]   --> src/main.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let mut volume = -1_i32;
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_track_index`
[INFO] [stdout]   --> src/main.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let mut current_track_index: usize = 0;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_track_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_current_track_index_to_get_gstreamer_error`
[INFO] [stdout]   --> src/main.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let mut last_current_track_index_to_get_gstreamer_error = String::new(); // an invalid value intentionally;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_current_track_index_to_get_gstreamer_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_channel`
[INFO] [stdout]   --> src/main.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut current_channel = String::new(); // it is a string
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_channel_number_not_found`
[INFO] [stdout]   --> src/main.rs:90:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let mut last_channel_number_not_found = String::new(); // an invalid value intentionally;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_channel_number_not_found`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_channel_number_not_found_not_changed`
[INFO] [stdout]   --> src/main.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let mut last_channel_number_not_found_not_changed = false;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_channel_number_not_found_not_changed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line2_text`
[INFO] [stdout]   --> src/main.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let mut line2_text = String::new();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line2_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]   --> src/main.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let mut duration: Option<std::time::Duration> = None;
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `number_of_tracks`
[INFO] [stdout]   --> src/main.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let mut number_of_tracks = 0;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_number_of_tracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `song_title`
[INFO] [stdout]   --> src/main.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let mut song_title = String::new();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_song_title`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_of_scrolls_received`
[INFO] [stdout]   --> src/main.rs:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 |     let mut num_of_scrolls_received: i32 = 0;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_of_scrolls_received`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line2_text_scroll_position`
[INFO] [stdout]   --> src/main.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let mut line2_text_scroll_position: usize = 0;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line2_text_scroll_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `song_title_scroll_position`
[INFO] [stdout]   --> src/main.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut song_title_scroll_position: usize = 0;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_song_title_scroll_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `organisation`
[INFO] [stdout]    --> src/main.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let mut organisation = String::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_organisation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `artist`
[INFO] [stdout]    --> src/main.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let mut artist = String::new();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_artist`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `album`
[INFO] [stdout]    --> src/main.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let mut album = String::new();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_album`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `station_type`
[INFO] [stdout]    --> src/main.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let mut station_type: rradio_messages::StationType = rradio_messages::StationType::CD; //not true but we have to initiialise it to so...
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_station_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `station_title`
[INFO] [stdout]    --> src/main.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let mut station_title = String::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_station_title`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `station_change_time` is assigned to, but never used
[INFO] [stdout]    --> src/main.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let mut station_change_time;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_station_change_time` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `got_station`
[INFO] [stdout]    --> src/main.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let mut got_station = false;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_got_station`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `number_scroll_events_before_scrolling`
[INFO] [stdout]    --> src/main.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let number_scroll_events_before_scrolling: i32 = 3000 / scroll_period.as_millis() as i32;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_number_scroll_events_before_scrolling`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error_message_output`
[INFO] [stdout]    --> src/main.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let mut error_message_output = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_error_message_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pause_before_playing`
[INFO] [stdout]    --> src/main.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let mut pause_before_playing = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pause_before_playing`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `show_temparature_instead_of_gateway_ping`
[INFO] [stdout]    --> src/main.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let mut show_temparature_instead_of_gateway_ping = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_show_temparature_instead_of_gateway_ping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `station_change_time` is never read
[INFO] [stdout]    --> src/main.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 225 |     station_change_time = tokio::time::Instant::now(); //now that we have a connection, note when we start
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `directory`
[INFO] [stdout]    --> src/main.rs:339:69
[INFO] [stdout]     |
[INFO] [stdout] 339 | ...                   directory,
[INFO] [stdout]     |                       ^^^^^^^^^ help: try ignoring the field: `directory: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `zxis_muted`
[INFO] [stdout]   --> src/main.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let mut zxis_muted = false; // in practice always false
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_zxis_muted`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `started_up`
[INFO] [stdout]   --> src/main.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let mut started_up = false;
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_started_up`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pipe_line_state`
[INFO] [stdout]   --> src/main.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let mut pipe_line_state = PipelineState::Null;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pipe_line_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `volume`
[INFO] [stdout]   --> src/main.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let mut volume = -1_i32;
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_volume`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_track_index`
[INFO] [stdout]   --> src/main.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let mut current_track_index: usize = 0;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_track_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_current_track_index_to_get_gstreamer_error`
[INFO] [stdout]   --> src/main.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let mut last_current_track_index_to_get_gstreamer_error = String::new(); // an invalid value intentionally;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_current_track_index_to_get_gstreamer_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_channel`
[INFO] [stdout]   --> src/main.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut current_channel = String::new(); // it is a string
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_channel_number_not_found`
[INFO] [stdout]   --> src/main.rs:90:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let mut last_channel_number_not_found = String::new(); // an invalid value intentionally;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_channel_number_not_found`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_channel_number_not_found_not_changed`
[INFO] [stdout]   --> src/main.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let mut last_channel_number_not_found_not_changed = false;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_channel_number_not_found_not_changed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line2_text`
[INFO] [stdout]   --> src/main.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let mut line2_text = String::new();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line2_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]   --> src/main.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let mut duration: Option<std::time::Duration> = None;
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `number_of_tracks`
[INFO] [stdout]   --> src/main.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let mut number_of_tracks = 0;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_number_of_tracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `song_title`
[INFO] [stdout]   --> src/main.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let mut song_title = String::new();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_song_title`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_of_scrolls_received`
[INFO] [stdout]   --> src/main.rs:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 |     let mut num_of_scrolls_received: i32 = 0;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_of_scrolls_received`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line2_text_scroll_position`
[INFO] [stdout]   --> src/main.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let mut line2_text_scroll_position: usize = 0;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line2_text_scroll_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `song_title_scroll_position`
[INFO] [stdout]   --> src/main.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut song_title_scroll_position: usize = 0;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_song_title_scroll_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `organisation`
[INFO] [stdout]    --> src/main.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let mut organisation = String::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_organisation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `artist`
[INFO] [stdout]    --> src/main.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let mut artist = String::new();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_artist`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `album`
[INFO] [stdout]    --> src/main.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let mut album = String::new();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_album`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `station_type`
[INFO] [stdout]    --> src/main.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let mut station_type: rradio_messages::StationType = rradio_messages::StationType::CD; //not true but we have to initiialise it to so...
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_station_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `station_title`
[INFO] [stdout]    --> src/main.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let mut station_title = String::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_station_title`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `station_change_time` is assigned to, but never used
[INFO] [stdout]    --> src/main.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let mut station_change_time;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_station_change_time` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `got_station`
[INFO] [stdout]    --> src/main.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let mut got_station = false;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_got_station`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `number_scroll_events_before_scrolling`
[INFO] [stdout]    --> src/main.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let number_scroll_events_before_scrolling: i32 = 3000 / scroll_period.as_millis() as i32;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_number_scroll_events_before_scrolling`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error_message_output`
[INFO] [stdout]    --> src/main.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let mut error_message_output = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_error_message_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pause_before_playing`
[INFO] [stdout]    --> src/main.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let mut pause_before_playing = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pause_before_playing`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `show_temparature_instead_of_gateway_ping`
[INFO] [stdout]    --> src/main.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let mut show_temparature_instead_of_gateway_ping = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_show_temparature_instead_of_gateway_ping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `station_change_time` is never read
[INFO] [stdout]    --> src/main.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 225 |     station_change_time = tokio::time::Instant::now(); //now that we have a connection, note when we start
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `directory`
[INFO] [stdout]    --> src/main.rs:339:69
[INFO] [stdout]     |
[INFO] [stdout] 339 | ...                   directory,
[INFO] [stdout]     |                       ^^^^^^^^^ help: try ignoring the field: `directory: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let mut zxcurrent_channel_index_as_string = "current_channel_index not initialised".to_string(); //noramlly in the range "00" to "99"...
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let mut zxsource_type = rradio_messages::StationType::UPnP;
[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/main.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let mut zxstation_title = "no title".to_string();
[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/main.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut zxcurrent_track_index = usize::MAX; // index of whick track on the CD or USB stick
[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/main.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let mut zxnumber_of_tracks = usize::MAX; // number of tracks on a USB stick or CD or channels on a URL
[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/main.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let mut zxtrack_title = "no track title".to_string(); // title of a track
[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/main.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let mut zxcurrent_channel_index_as_string = "current_channel_index not initialised".to_string(); //noramlly in the range "00" to "99"...
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let mut zxsource_type = rradio_messages::StationType::UPnP;
[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/main.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let mut zxorganisation = "no organisation".to_string(); // name of the organisation
[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/main.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let mut zxartist = "no artist".to_string(); // name of the artist
[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/main.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let mut zxalbum = "no album".to_string(); // name of the album
[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/main.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let mut zxis_muted = false; // in practice always false
[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/main.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let mut started_up = false;
[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/main.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let mut pipe_line_state = PipelineState::Null;
[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/main.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let mut volume = -1_i32;
[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/main.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let mut current_track_index: usize = 0;
[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/main.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let mut last_current_track_index_to_get_gstreamer_error = String::new(); // an invalid value intentionally;
[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/main.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut current_channel = String::new(); // it is a string
[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/main.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let mut last_channel_number_not_found = String::new(); // an invalid value intentionally;
[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/main.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let mut last_channel_number_not_found_not_changed = false;
[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/main.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let mut line2_text = String::new();
[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/main.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let mut duration: Option<std::time::Duration> = None;
[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/main.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let mut number_of_tracks = 0;
[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/main.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let mut song_title = String::new();
[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/main.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     let mut num_of_scrolls_received: i32 = 0;
[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/main.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let mut line2_text_scroll_position: usize = 0;
[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/main.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut song_title_scroll_position: usize = 0;
[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/main.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let mut organisation = String::new();
[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/main.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let mut artist = String::new();
[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/main.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let mut album = String::new();
[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/main.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let mut station_type: rradio_messages::StationType = rradio_messages::StationType::CD; //not true but we have to initiialise it to so...
[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/main.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let mut station_title = String::new();
[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/main.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let mut station_change_time;
[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/main.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let mut got_station = false;
[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/main.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let mut last_scroll_time = tokio::time::Instant::now();
[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/main.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let mut error_message_output = false;
[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/main.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let mut pause_before_playing = 0;
[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/main.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let mut show_temparature_instead_of_gateway_ping = false;
[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/main.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let mut zxstation_title = "no title".to_string();
[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/main.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut zxcurrent_track_index = usize::MAX; // index of whick track on the CD or USB stick
[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/main.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let mut zxnumber_of_tracks = usize::MAX; // number of tracks on a USB stick or CD or channels on a URL
[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/main.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let mut zxtrack_title = "no track title".to_string(); // title of a track
[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/main.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let mut zxorganisation = "no organisation".to_string(); // name of the organisation
[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/main.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let mut zxartist = "no artist".to_string(); // name of the artist
[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/main.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let mut zxalbum = "no album".to_string(); // name of the album
[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/main.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let mut zxis_muted = false; // in practice always false
[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/main.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let mut started_up = false;
[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/main.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let mut pipe_line_state = PipelineState::Null;
[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/main.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let mut volume = -1_i32;
[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/main.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let mut current_track_index: usize = 0;
[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/main.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let mut last_current_track_index_to_get_gstreamer_error = String::new(); // an invalid value intentionally;
[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/main.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut current_channel = String::new(); // it is a string
[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/main.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let mut last_channel_number_not_found = String::new(); // an invalid value intentionally;
[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/main.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let mut last_channel_number_not_found_not_changed = false;
[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/main.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let mut line2_text = String::new();
[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/main.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let mut duration: Option<std::time::Duration> = None;
[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/main.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let mut number_of_tracks = 0;
[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/main.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let mut song_title = String::new();
[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/main.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     let mut num_of_scrolls_received: i32 = 0;
[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/main.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let mut line2_text_scroll_position: usize = 0;
[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/main.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut song_title_scroll_position: usize = 0;
[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/main.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let mut organisation = String::new();
[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/main.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let mut artist = String::new();
[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/main.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let mut album = String::new();
[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/main.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let mut station_type: rradio_messages::StationType = rradio_messages::StationType::CD; //not true but we have to initiialise it to so...
[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/main.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let mut station_title = String::new();
[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/main.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let mut station_change_time;
[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/main.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let mut got_station = false;
[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/main.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let mut last_scroll_time = tokio::time::Instant::now();
[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/main.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let mut error_message_output = false;
[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/main.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let mut pause_before_playing = 0;
[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/main.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let mut show_temparature_instead_of_gateway_ping = false;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assembleline2` is never used
[INFO] [stdout]     --> src/main.rs:1586:4
[INFO] [stdout]      |
[INFO] [stdout] 1586 | fn assembleline2(
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PING_TIME_NONE` is never used
[INFO] [stdout]    --> src/main.rs:223:11
[INFO] [stdout]     |
[INFO] [stdout] 223 |     const PING_TIME_NONE: &str = "Ping Time None";
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VOLUME_CHAR_COUNT` is never used
[INFO] [stdout]   --> src/lcd/mod.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const VOLUME_CHAR_COUNT: usize = 7;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE1_DATA_CHAR_COUNT` is never used
[INFO] [stdout]   --> src/lcd/mod.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const LINE1_DATA_CHAR_COUNT: u16 = (NUM_CHARACTERS_PER_LINE - VOLUME_CHAR_COUNT) as u16;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assembleline2` is never used
[INFO] [stdout]     --> src/main.rs:1586:4
[INFO] [stdout]      |
[INFO] [stdout] 1586 | fn assembleline2(
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VOLUME_CHAR_COUNT` is never used
[INFO] [stdout]   --> src/lcd/mod.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const VOLUME_CHAR_COUNT: usize = 7;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE1_DATA_CHAR_COUNT` is never used
[INFO] [stdout]   --> src/lcd/mod.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const LINE1_DATA_CHAR_COUNT: u16 = (NUM_CHARACTERS_PER_LINE - VOLUME_CHAR_COUNT) as u16;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE1_DATA_CHAR_COUNT_USIZE` is never used
[INFO] [stdout]   --> src/lcd/mod.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const LINE1_DATA_CHAR_COUNT_USIZE: usize = LINE1_DATA_CHAR_COUNT as usize;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/lcd/mod.rs:166:12
[INFO] [stdout]     |
[INFO] [stdout] 45  | impl Lc {
[INFO] [stdout]     | ------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn write_volume(&mut self, pipe_line_state: PipelineState, is_muted: bool, volume: i32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn get_cpu_temperature(&mut self) -> i32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub fn write_date_and_time_of_day_line3(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn write_temperature_and_time_to_line4(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub fn write_all_line_2(&mut self, string: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn write_buffer_state(&mut self, buffer_position: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     pub fn write_with_scroll(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE1_DATA_CHAR_COUNT_USIZE` is never used
[INFO] [stdout]   --> src/lcd/mod.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const LINE1_DATA_CHAR_COUNT_USIZE: usize = LINE1_DATA_CHAR_COUNT as usize;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/lcd/mod.rs:166:12
[INFO] [stdout]     |
[INFO] [stdout] 45  | impl Lc {
[INFO] [stdout]     | ------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn write_volume(&mut self, pipe_line_state: PipelineState, is_muted: bool, volume: i32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn get_cpu_temperature(&mut self) -> i32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub fn write_date_and_time_of_day_line3(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn write_temperature_and_time_to_line4(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub fn write_all_line_2(&mut self, string: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn write_buffer_state(&mut self, buffer_position: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     pub fn write_with_scroll(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 02s
[INFO] running `Command { std: "docker" "inspect" "6ab9fb014d8946f93aeed27906997455a397ce32bc894638ac786915f54b7ed3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6ab9fb014d8946f93aeed27906997455a397ce32bc894638ac786915f54b7ed3", kill_on_drop: false }`
[INFO] [stdout] 6ab9fb014d8946f93aeed27906997455a397ce32bc894638ac786915f54b7ed3
