[INFO] cloning repository https://github.com/wyhhh/simulate_schedule
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wyhhh/simulate_schedule" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwyhhh%2Fsimulate_schedule", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwyhhh%2Fsimulate_schedule'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c4d8bf7af85af24e7bae7ac61c6091b3f116a89d
[INFO] checking wyhhh/simulate_schedule against 011c518242557d21690f7936b5812318dc2fec47 for pr-159877
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwyhhh%2Fsimulate_schedule" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/wyhhh/simulate_schedule
[INFO] finished tweaking git repo https://github.com/wyhhh/simulate_schedule
[INFO] tweaked toml for git repo https://github.com/wyhhh/simulate_schedule written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/wyhhh/simulate_schedule on toolchain 011c518242557d21690f7936b5812318dc2fec47
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+011c518242557d21690f7936b5812318dc2fec47" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/wyhhh/simulate_schedule 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" "+011c518242557d21690f7936b5812318dc2fec47" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/wyhhh/rg`
[INFO] [stderr]     Updating git repository `https://github.com/wyhhh/wutil.git`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking wyhhh/simulate_schedule against 011c518242557d21690f7936b5812318dc2fec47 for pr-159877
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwyhhh%2Fsimulate_schedule" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/wyhhh/simulate_schedule
[INFO] finished tweaking git repo https://github.com/wyhhh/simulate_schedule
[INFO] tweaked toml for git repo https://github.com/wyhhh/simulate_schedule written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/wyhhh/simulate_schedule on toolchain 011c518242557d21690f7936b5812318dc2fec47
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+011c518242557d21690f7936b5812318dc2fec47" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/wyhhh/simulate_schedule 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" "+011c518242557d21690f7936b5812318dc2fec47" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded generator v0.6.25
[INFO] [stderr]   Downloaded work-queue v0.1.3
[INFO] [stderr]   Downloaded loom v0.4.1
[INFO] [stderr]   Downloaded crossbeam-queue v0.3.5
[INFO] [stderr]   Downloaded crossbeam-skiplist_piedb v0.8.11
[INFO] [stderr]   Downloaded crossbeam v0.8.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:1fa6594d87c8fa7b311925a7a77a16f539833322d9dfba4ce891f211db2f90b1" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2b0bf6721c03482c7734cfdeedaa7d7670b287ee2333d686a83af84f52a3a105
[INFO] running `Command { std: "docker" "start" "2b0bf6721c03482c7734cfdeedaa7d7670b287ee2333d686a83af84f52a3a105", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2b0bf6721c03482c7734cfdeedaa7d7670b287ee2333d686a83af84f52a3a105", 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" "2b0bf6721c03482c7734cfdeedaa7d7670b287ee2333d686a83af84f52a3a105" "/opt/rustwide/cargo-home/bin/cargo" "+011c518242557d21690f7936b5812318dc2fec47" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2b0bf6721c03482c7734cfdeedaa7d7670b287ee2333d686a83af84f52a3a105", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2b0bf6721c03482c7734cfdeedaa7d7670b287ee2333d686a83af84f52a3a105" "/opt/rustwide/cargo-home/bin/cargo" "+011c518242557d21690f7936b5812318dc2fec47" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.125
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling crossbeam-utils v0.8.8
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling proc-macro2 v1.0.37
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.8
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling signal-hook v0.3.13
[INFO] [stderr]    Compiling syn v1.0.92
[INFO] [stderr]    Compiling crossbeam-queue v0.3.5
[INFO] [stderr]    Compiling crossbeam-skiplist_piedb v0.8.11
[INFO] [stderr]     Checking concurrent-queue v1.2.2
[INFO] [stderr]     Checking work-queue v0.1.3
[INFO] [stderr]    Compiling quote v1.0.18
[INFO] [stderr]     Checking crossbeam-channel v0.5.4
[INFO] [stderr]     Checking getrandom v0.2.6
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking mio v0.8.2
[INFO] [stderr]     Checking parking_lot_core v0.9.3
[INFO] [stderr]     Checking num_cpus v1.13.1
[INFO] [stderr]     Checking parking_lot v0.12.0
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking crossbeam v0.8.1
[INFO] [stderr]     Checking num-complex v0.4.1
[INFO] [stderr]     Checking signal-hook-mio v0.2.3
[INFO] [stderr]     Checking crossterm v0.23.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking num-bigint v0.4.3
[INFO] [stderr]    Compiling enum_len v0.1.0 (https://github.com/wyhhh/rg#c6c5d0cb)
[INFO] [stderr]     Checking rg v1.0.0 (https://github.com/wyhhh/rg#c6c5d0cb)
[INFO] [stderr]     Checking num-rational v0.4.0
[INFO] [stderr]     Checking num v0.4.0
[INFO] [stderr]     Checking wutil v0.1.0 (https://github.com/wyhhh/wutil.git#cc203a0f)
[INFO] [stdout] note: trace_macro
[INFO] [stdout]   --> /opt/rustwide/cargo-home/git/checkouts/wutil-f2effaecaba364e7/cc203a0/src/util.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 write!(f, "N/A")
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expanding `write! { f, "N/A" }`
[INFO] [stdout]    = note: to `f.write_fmt($crate :: format_args! ("N/A"))`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] note: trace_macro
[INFO] [stdout]   --> /opt/rustwide/cargo-home/git/checkouts/wutil-f2effaecaba364e7/cc203a0/src/util.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 | /                 write!(
[INFO] [stdout] 64 | |                     f,
[INFO] [stdout] 65 | |                     "{:.width$?}%",
[INFO] [stdout] 66 | |                     self.0.rate(self.1),
[INFO] [stdout] 67 | |                     width = self.2 as usize
[INFO] [stdout] 68 | |                 )
[INFO] [stdout]    | |_________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expanding `write! { f, "{:.width$?}%", self.0.rate(self.1), width = self.2 as usize }`
[INFO] [stdout]    = note: to `f.write_fmt($crate :: format_args!
[INFO] [stdout]            ("{:.width$?}%", self.0.rate(self.1), width = self.2 as usize))`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] note: trace_macro
[INFO] [stdout]   --> /opt/rustwide/cargo-home/git/checkouts/wutil-f2effaecaba364e7/cc203a0/src/util.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |             write!(f, "{:?}", self)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expanding `write! { f, "{:?}", self }`
[INFO] [stdout]    = note: to `f.write_fmt($crate :: format_args! ("{:?}", self))`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] note: trace_macro
[INFO] [stdout]   --> /opt/rustwide/cargo-home/git/checkouts/wutil-f2effaecaba364e7/cc203a0/src/util.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |                 write!(f, "N/A")
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expanding `write! { f, "N/A" }`
[INFO] [stdout]    = note: to `f.write_fmt($crate :: format_args! ("N/A"))`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] note: trace_macro
[INFO] [stdout]   --> /opt/rustwide/cargo-home/git/checkouts/wutil-f2effaecaba364e7/cc203a0/src/util.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 | /                 write!(
[INFO] [stdout] 93 | |                     f,
[INFO] [stdout] 94 | |                     "{:.width$?}%",
[INFO] [stdout] 95 | |                     100.0 - self.0.rate(self.1),
[INFO] [stdout] 96 | |                     width = self.2 as usize
[INFO] [stdout] 97 | |                 )
[INFO] [stdout]    | |_________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expanding `write! { f, "{:.width$?}%", 100.0 - self.0.rate(self.1), width = self.2 as usize }`
[INFO] [stdout]    = note: to `f.write_fmt($crate :: format_args!
[INFO] [stdout]            ("{:.width$?}%", 100.0 - self.0.rate(self.1), width = self.2 as usize))`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] note: trace_macro
[INFO] [stdout]    --> /opt/rustwide/cargo-home/git/checkouts/wutil-f2effaecaba364e7/cc203a0/src/util.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |             write!(f, "{:?}", self)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expanding `write! { f, "{:?}", self }`
[INFO] [stdout]     = note: to `f.write_fmt($crate :: format_args! ("{:?}", self))`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking simulate_schedule v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::pcb::Pcb`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::pcb::Pcb;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::pcb::Pcb`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::pcb::Pcb;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossbeam_epoch::default_collector`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crossbeam_epoch::default_collector;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossbeam_epoch::default_collector`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crossbeam_epoch::default_collector;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossbeam_epoch::pin`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crossbeam_epoch::pin;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossbeam_epoch::pin`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crossbeam_epoch::pin;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossbeam_skiplist_piedb::SkipList`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crossbeam_skiplist_piedb::SkipList;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossbeam_skiplist_piedb::SkipList`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crossbeam_skiplist_piedb::SkipList;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::Condvar`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use parking_lot::Condvar;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::Condvar`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use parking_lot::Condvar;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::Mutex`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use parking_lot::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::Mutex`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use parking_lot::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pcb::Process`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use pcb::Process;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::BuildHasherDefault`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::hash::BuildHasherDefault;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pcb::Process`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use pcb::Process;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::BuildHasherDefault`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::hash::BuildHasherDefault;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wutil::types::SPath`
[INFO] [stdout]   --> src/fs.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use wutil::types::SPath;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/ops.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wutil::types::SPath`
[INFO] [stdout]   --> src/fs.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use wutil::types::SPath;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/ops.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/ops.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::scheduler::Share`
[INFO] [stdout]  --> src/pcb.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::scheduler::Share;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/ops.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossbeam_channel::Receiver`
[INFO] [stdout]  --> src/pcb.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crossbeam_channel::Receiver;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::scheduler::Share`
[INFO] [stdout]  --> src/pcb.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::scheduler::Share;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::Mutex`
[INFO] [stdout]  --> src/pcb.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use parking_lot::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossbeam_channel::Receiver`
[INFO] [stdout]  --> src/pcb.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crossbeam_channel::Receiver;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::pcb::Pcb`
[INFO] [stdout]  --> src/printer.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::pcb::Pcb;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::Mutex`
[INFO] [stdout]  --> src/pcb.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use parking_lot::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::Mutex`
[INFO] [stdout]  --> src/printer.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use parking_lot::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::pcb::Pcb`
[INFO] [stdout]  --> src/printer.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::pcb::Pcb;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::Mutex`
[INFO] [stdout]  --> src/printer.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use parking_lot::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::AtomicU64`
[INFO] [stdout]   --> src/printer.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::sync::atomic::AtomicU64;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::AtomicU64`
[INFO] [stdout]   --> src/printer.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::sync::atomic::AtomicU64;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::pcb::PInfo`
[INFO] [stdout]  --> src/processes.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::pcb::PInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::pcb::PInfo`
[INFO] [stdout]  --> src/processes.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::pcb::PInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Range`
[INFO] [stdout]   --> src/processes.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::ops::Range;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Range`
[INFO] [stdout]   --> src/processes.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::ops::Range;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wutil::convert::static_ref_mut`
[INFO] [stdout]   --> src/processes.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use wutil::convert::static_ref_mut;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wutil::convert::static_ref_mut`
[INFO] [stdout]   --> src/processes.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use wutil::convert::static_ref_mut;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wutil::convert::StaticRefArray`
[INFO] [stdout]   --> src/processes.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use wutil::convert::StaticRefArray;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wutil::convert::StaticRefArray`
[INFO] [stdout]   --> src/processes.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use wutil::convert::StaticRefArray;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `div_duration` has been stable since 1.80.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(div_duration)]
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `div_duration` has been stable since 1.80.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(div_duration)]
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/processes.rs:140:24
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn poll(&mut self, s: Sender<SStr>, ops_res: OpsRes) -> crate::pcb::PollRes {
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ops_res`
[INFO] [stdout]    --> src/processes.rs:140:41
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn poll(&mut self, s: Sender<SStr>, ops_res: OpsRes) -> crate::pcb::PollRes {
[INFO] [stdout]     |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ops_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/processes.rs:207:45
[INFO] [stdout]     |
[INFO] [stdout] 207 |                 crate::ops::FileReadRes::Ok(n) => {
[INFO] [stdout]     |                                             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/processes.rs:140:24
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn poll(&mut self, s: Sender<SStr>, ops_res: OpsRes) -> crate::pcb::PollRes {
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ops_res`
[INFO] [stdout]    --> src/processes.rs:140:41
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn poll(&mut self, s: Sender<SStr>, ops_res: OpsRes) -> crate::pcb::PollRes {
[INFO] [stdout]     |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ops_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Net` is never constructed
[INFO] [stdout]   --> src/ops.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum OpsType {
[INFO] [stdout]    |          ------- variant in this enum
[INFO] [stdout] 49 |     File,
[INFO] [stdout] 50 |     Net,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OpsType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/processes.rs:207:45
[INFO] [stdout]     |
[INFO] [stdout] 207 |                 crate::ops::FileReadRes::Ok(n) => {
[INFO] [stdout]     |                                             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `time_slice`, `print`, and `print_interval` are never used
[INFO] [stdout]   --> src/scheduler.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl SchedulerBuilder {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn time_slice(mut self, time_slice: Duration) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn print(mut self, print: bool) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn print_interval(mut self, d: Duration) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `print` is never read
[INFO] [stdout]    --> src/scheduler.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 255 | pub struct Scheduler {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 260 |     print: bool,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `handle` is never read
[INFO] [stdout]    --> src/scheduler.rs:275:5
[INFO] [stdout]     |
[INFO] [stdout] 274 | struct Worker {
[INFO] [stdout]     |        ------ field in this struct
[INFO] [stdout] 275 |     handle: JoinHandle<()>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `infinite_run` is never used
[INFO] [stdout]    --> src/scheduler.rs:322:12
[INFO] [stdout]     |
[INFO] [stdout] 292 | impl Scheduler {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 322 |     pub fn infinite_run(self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |         r.start(&addr);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let _ = r.start(&addr);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/fs.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |             TXTS.push(entry.unwrap().path());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/printer.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | /     crossterm::execute! {
[INFO] [stdout] 43 | |         stdout(),
[INFO] [stdout] 44 | |         cursor::Hide,
[INFO] [stdout] 45 | |     };
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 42 ~     let _ = crossterm::execute! {
[INFO] [stdout] 43 |         stdout(),
[INFO] [stdout] 44 |         cursor::Hide,
[INFO] [stdout] 45 ~     };;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/printer.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 | /         writeln!(
[INFO] [stdout] 62 | |             f,
[INFO] [stdout] 63 | |             "☆ Cost Time: {:.1?} \n\
[INFO] [stdout] 64 | |             ☆ Threads: {} \n\
[INFO] [stdout] ...  |
[INFO] [stdout] 69 | |             processes,
[INFO] [stdout] 70 | |         );
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let _ = writeln!(
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/processes.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 | /         write!(
[INFO] [stdout] 189 | |             &mut self.name,
[INFO] [stdout] 190 | |             "[{}-{:.0?} {}]",
[INFO] [stdout] 191 | |             self.state + 1,
[INFO] [stdout] 192 | |             cur_sleep_range,
[INFO] [stdout] 193 | |             self.state_max,
[INFO] [stdout] 194 | |         );
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let _ = write!(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/processes.rs:208:21
[INFO] [stdout]     |
[INFO] [stdout] 208 |                     msg_tx.send(Cow::Owned(format!("{} READ: {}", self.name, self.buf)));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 208 |                     let _ = msg_tx.send(Cow::Owned(format!("{} READ: {}", self.name, self.buf)));
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/processes.rs:212:21
[INFO] [stdout]     |
[INFO] [stdout] 212 |                     msg_tx.send(Cow::Owned(format!("{} READ ERR: {}", self.name, e)));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 212 |                     let _ = msg_tx.send(Cow::Owned(format!("{} READ ERR: {}", self.name, e)));
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/processes.rs:217:21
[INFO] [stdout]     |
[INFO] [stdout] 217 |                     msg_tx.send(Cow::Owned(format!("{} [{}] WRITE OK.", self.name, path)));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 217 |                     let _ = msg_tx.send(Cow::Owned(format!("{} [{}] WRITE OK.", self.name, path)));
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/processes.rs:220:21
[INFO] [stdout]     |
[INFO] [stdout] 220 | /                     msg_tx.send(Cow::Owned(format!(
[INFO] [stdout] 221 | |                         "{} [{path}] WRITE ERR: {}",
[INFO] [stdout] 222 | |                         self.name, err
[INFO] [stdout] 223 | |                     )));
[INFO] [stdout]     | |_______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     let _ = msg_tx.send(Cow::Owned(format!(
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/processes.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 239 | /             msg_tx.send(Cow::Owned(format!(
[INFO] [stdout] 240 | |                 "{} say: {}",
[INFO] [stdout] 241 | |                 self.name,
[INFO] [stdout] 242 | |                 self.rg.once::<&str, _>(Mode::ASLP(","))
[INFO] [stdout] 243 | |             )));
[INFO] [stdout]     | |_______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 239 |             let _ = msg_tx.send(Cow::Owned(format!(
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/processes.rs:258:41
[INFO] [stdout]     |
[INFO] [stdout] 258 |                     let choice = gen(0..TXTS.len() + 2);
[INFO] [stdout]     |                                         ^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/processes.rs:260:33
[INFO] [stdout]     |
[INFO] [stdout] 260 |                     if choice < TXTS.len() {
[INFO] [stdout]     |                                 ^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/processes.rs:261:49
[INFO] [stdout]     |
[INFO] [stdout] 261 |                         SS::SPath(Cow::Borrowed(TXTS.get_unchecked(choice)))
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Net` is never constructed
[INFO] [stdout]   --> src/ops.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum OpsType {
[INFO] [stdout]    |          ------- variant in this enum
[INFO] [stdout] 49 |     File,
[INFO] [stdout] 50 |     Net,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OpsType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/scheduler.rs:168:45
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   fs_tx.send((pcb, file_op));
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 168 |                                             let _ = fs_tx.send((pcb, file_op));
[INFO] [stdout]     |                                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `time_slice`, `print`, and `print_interval` are never used
[INFO] [stdout]   --> src/scheduler.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl SchedulerBuilder {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn time_slice(mut self, time_slice: Duration) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn print(mut self, print: bool) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn print_interval(mut self, d: Duration) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/scheduler.rs:176:45
[INFO] [stdout]     |
[INFO] [stdout] 176 | / ...                   msg_tx.send(Cow::Owned(format!(
[INFO] [stdout] 177 | | ...                       "{} ADD PRIORITY => {}",
[INFO] [stdout] 178 | | ...                       pcb.p.name(),
[INFO] [stdout] 179 | | ...                       p
[INFO] [stdout] 180 | | ...                   )));
[INFO] [stdout]     | |_________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 176 |                                             let _ = msg_tx.send(Cow::Owned(format!(
[INFO] [stdout]     |                                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `print` is never read
[INFO] [stdout]    --> src/scheduler.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 255 | pub struct Scheduler {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 260 |     print: bool,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `handle` is never read
[INFO] [stdout]    --> src/scheduler.rs:275:5
[INFO] [stdout]     |
[INFO] [stdout] 274 | struct Worker {
[INFO] [stdout]     |        ------ field in this struct
[INFO] [stdout] 275 |     handle: JoinHandle<()>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/scheduler.rs:186:45
[INFO] [stdout]     |
[INFO] [stdout] 186 | / ...                   msg_tx.send(Cow::Owned(format!(
[INFO] [stdout] 187 | | ...                       "{} SUB PRIORITY => {}",
[INFO] [stdout] 188 | | ...                       pcb.p.name(),
[INFO] [stdout] 189 | | ...                       p
[INFO] [stdout] 190 | | ...                   )));
[INFO] [stdout]     | |_________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 186 |                                             let _ = msg_tx.send(Cow::Owned(format!(
[INFO] [stdout]     |                                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `infinite_run` is never used
[INFO] [stdout]    --> src/scheduler.rs:322:12
[INFO] [stdout]     |
[INFO] [stdout] 292 | impl Scheduler {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 322 |     pub fn infinite_run(self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/scheduler.rs:195:45
[INFO] [stdout]     |
[INFO] [stdout] 195 | / ...                   msg_tx.send(Cow::Owned(format!(
[INFO] [stdout] 196 | | ...                       "{} SET PRIORITY => {}",
[INFO] [stdout] 197 | | ...                       pcb.p.name(),
[INFO] [stdout] 198 | | ...                       p
[INFO] [stdout] 199 | | ...                   )));
[INFO] [stdout]     | |_________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 195 |                                             let _ = msg_tx.send(Cow::Owned(format!(
[INFO] [stdout]     |                                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/scheduler.rs:222:41
[INFO] [stdout]     |
[INFO] [stdout] 222 | ...                   shutdown_tx.send(processes);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 222 |                                         let _ = shutdown_tx.send(processes);
[INFO] [stdout]     |                                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |         r.start(&addr);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let _ = r.start(&addr);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/fs.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |             TXTS.push(entry.unwrap().path());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/printer.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | /     crossterm::execute! {
[INFO] [stdout] 43 | |         stdout(),
[INFO] [stdout] 44 | |         cursor::Hide,
[INFO] [stdout] 45 | |     };
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 42 ~     let _ = crossterm::execute! {
[INFO] [stdout] 43 |         stdout(),
[INFO] [stdout] 44 |         cursor::Hide,
[INFO] [stdout] 45 ~     };;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/printer.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 | /         writeln!(
[INFO] [stdout] 62 | |             f,
[INFO] [stdout] 63 | |             "☆ Cost Time: {:.1?} \n\
[INFO] [stdout] 64 | |             ☆ Threads: {} \n\
[INFO] [stdout] ...  |
[INFO] [stdout] 69 | |             processes,
[INFO] [stdout] 70 | |         );
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let _ = writeln!(
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/processes.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 | /         write!(
[INFO] [stdout] 189 | |             &mut self.name,
[INFO] [stdout] 190 | |             "[{}-{:.0?} {}]",
[INFO] [stdout] 191 | |             self.state + 1,
[INFO] [stdout] 192 | |             cur_sleep_range,
[INFO] [stdout] 193 | |             self.state_max,
[INFO] [stdout] 194 | |         );
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let _ = write!(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/processes.rs:208:21
[INFO] [stdout]     |
[INFO] [stdout] 208 |                     msg_tx.send(Cow::Owned(format!("{} READ: {}", self.name, self.buf)));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 208 |                     let _ = msg_tx.send(Cow::Owned(format!("{} READ: {}", self.name, self.buf)));
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/processes.rs:212:21
[INFO] [stdout]     |
[INFO] [stdout] 212 |                     msg_tx.send(Cow::Owned(format!("{} READ ERR: {}", self.name, e)));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 212 |                     let _ = msg_tx.send(Cow::Owned(format!("{} READ ERR: {}", self.name, e)));
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/processes.rs:217:21
[INFO] [stdout]     |
[INFO] [stdout] 217 |                     msg_tx.send(Cow::Owned(format!("{} [{}] WRITE OK.", self.name, path)));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 217 |                     let _ = msg_tx.send(Cow::Owned(format!("{} [{}] WRITE OK.", self.name, path)));
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/processes.rs:220:21
[INFO] [stdout]     |
[INFO] [stdout] 220 | /                     msg_tx.send(Cow::Owned(format!(
[INFO] [stdout] 221 | |                         "{} [{path}] WRITE ERR: {}",
[INFO] [stdout] 222 | |                         self.name, err
[INFO] [stdout] 223 | |                     )));
[INFO] [stdout]     | |_______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     let _ = msg_tx.send(Cow::Owned(format!(
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/processes.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 239 | /             msg_tx.send(Cow::Owned(format!(
[INFO] [stdout] 240 | |                 "{} say: {}",
[INFO] [stdout] 241 | |                 self.name,
[INFO] [stdout] 242 | |                 self.rg.once::<&str, _>(Mode::ASLP(","))
[INFO] [stdout] 243 | |             )));
[INFO] [stdout]     | |_______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 239 |             let _ = msg_tx.send(Cow::Owned(format!(
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/processes.rs:258:41
[INFO] [stdout]     |
[INFO] [stdout] 258 |                     let choice = gen(0..TXTS.len() + 2);
[INFO] [stdout]     |                                         ^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/processes.rs:260:33
[INFO] [stdout]     |
[INFO] [stdout] 260 |                     if choice < TXTS.len() {
[INFO] [stdout]     |                                 ^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/processes.rs:261:49
[INFO] [stdout]     |
[INFO] [stdout] 261 |                         SS::SPath(Cow::Borrowed(TXTS.get_unchecked(choice)))
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/scheduler.rs:168:45
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   fs_tx.send((pcb, file_op));
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 168 |                                             let _ = fs_tx.send((pcb, file_op));
[INFO] [stdout]     |                                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/scheduler.rs:176:45
[INFO] [stdout]     |
[INFO] [stdout] 176 | / ...                   msg_tx.send(Cow::Owned(format!(
[INFO] [stdout] 177 | | ...                       "{} ADD PRIORITY => {}",
[INFO] [stdout] 178 | | ...                       pcb.p.name(),
[INFO] [stdout] 179 | | ...                       p
[INFO] [stdout] 180 | | ...                   )));
[INFO] [stdout]     | |_________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 176 |                                             let _ = msg_tx.send(Cow::Owned(format!(
[INFO] [stdout]     |                                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/scheduler.rs:186:45
[INFO] [stdout]     |
[INFO] [stdout] 186 | / ...                   msg_tx.send(Cow::Owned(format!(
[INFO] [stdout] 187 | | ...                       "{} SUB PRIORITY => {}",
[INFO] [stdout] 188 | | ...                       pcb.p.name(),
[INFO] [stdout] 189 | | ...                       p
[INFO] [stdout] 190 | | ...                   )));
[INFO] [stdout]     | |_________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 186 |                                             let _ = msg_tx.send(Cow::Owned(format!(
[INFO] [stdout]     |                                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/scheduler.rs:195:45
[INFO] [stdout]     |
[INFO] [stdout] 195 | / ...                   msg_tx.send(Cow::Owned(format!(
[INFO] [stdout] 196 | | ...                       "{} SET PRIORITY => {}",
[INFO] [stdout] 197 | | ...                       pcb.p.name(),
[INFO] [stdout] 198 | | ...                       p
[INFO] [stdout] 199 | | ...                   )));
[INFO] [stdout]     | |_________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 195 |                                             let _ = msg_tx.send(Cow::Owned(format!(
[INFO] [stdout]     |                                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/scheduler.rs:222:41
[INFO] [stdout]     |
[INFO] [stdout] 222 | ...                   shutdown_tx.send(processes);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 222 |                                         let _ = shutdown_tx.send(processes);
[INFO] [stdout]     |                                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.16s
[INFO] running `Command { std: "docker" "inspect" "2b0bf6721c03482c7734cfdeedaa7d7670b287ee2333d686a83af84f52a3a105", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2b0bf6721c03482c7734cfdeedaa7d7670b287ee2333d686a83af84f52a3a105", kill_on_drop: false }`
[INFO] [stdout] 2b0bf6721c03482c7734cfdeedaa7d7670b287ee2333d686a83af84f52a3a105
