[INFO] cloning repository https://github.com/WUYUANLONG010/server_thread
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/WUYUANLONG010/server_thread" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWUYUANLONG010%2Fserver_thread", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWUYUANLONG010%2Fserver_thread'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 67ebec084ff16ab3f77106a9bf1bc3768ac3fc61
[INFO] checking WUYUANLONG010/server_thread against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWUYUANLONG010%2Fserver_thread" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/WUYUANLONG010/server_thread
[INFO] finished tweaking git repo https://github.com/WUYUANLONG010/server_thread
[INFO] tweaked toml for git repo https://github.com/WUYUANLONG010/server_thread written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/WUYUANLONG010/server_thread on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/WUYUANLONG010/server_thread 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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "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]  Downloading crates ...
[INFO] [stderr]   Downloaded timed v0.2.1
[INFO] [stderr]   Downloaded pnet_transport v0.34.0
[INFO] [stderr]   Downloaded pnet_sys v0.34.0
[INFO] [stderr]   Downloaded timed_proc_macros v0.2.0
[INFO] [stderr]   Downloaded pnet_macros_support v0.34.0
[INFO] [stderr]   Downloaded no-std-net v0.6.0
[INFO] [stderr]   Downloaded pnet_base v0.34.0
[INFO] [stderr]   Downloaded pnet v0.34.0
[INFO] [stderr]   Downloaded pnet_packet v0.34.0
[INFO] [stderr]   Downloaded ipnetwork v0.20.0
[INFO] [stderr]   Downloaded pnet_datalink v0.34.0
[INFO] [stderr]   Downloaded pnet_macros v0.34.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4a6519d99d2abd73b1e8c7d634c769e73234d18b9a2919d699f0ea6fc0cf94a5
[INFO] running `Command { std: "docker" "start" "-a" "4a6519d99d2abd73b1e8c7d634c769e73234d18b9a2919d699f0ea6fc0cf94a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4a6519d99d2abd73b1e8c7d634c769e73234d18b9a2919d699f0ea6fc0cf94a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4a6519d99d2abd73b1e8c7d634c769e73234d18b9a2919d699f0ea6fc0cf94a5", kill_on_drop: false }`
[INFO] [stdout] 4a6519d99d2abd73b1e8c7d634c769e73234d18b9a2919d699f0ea6fc0cf94a5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b18607076524b9d75a874ccb3f0609f8e050d04eb04cba0ac230f4468d848bc0
[INFO] running `Command { std: "docker" "start" "-a" "b18607076524b9d75a874ccb3f0609f8e050d04eb04cba0ac230f4468d848bc0", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking no-std-net v0.6.0
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling pnet v0.34.0
[INFO] [stderr]     Checking encode_unicode v0.3.6
[INFO] [stderr]     Checking deranged v0.3.11
[INFO] [stderr]    Compiling syn v2.0.53
[INFO] [stderr]     Checking pnet_sys v0.34.0
[INFO] [stderr]     Checking dirs v1.0.5
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking pnet_base v0.34.0
[INFO] [stderr]     Checking term v0.5.2
[INFO] [stderr]     Checking pnet_macros_support v0.34.0
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]     Checking time v0.3.34
[INFO] [stderr]    Compiling regex-automata v0.4.6
[INFO] [stderr]     Checking ipnetwork v0.20.0
[INFO] [stderr]     Checking csv v1.3.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.58
[INFO] [stderr]     Checking pnet_datalink v0.34.0
[INFO] [stderr]    Compiling darling_core v0.10.2
[INFO] [stderr]     Checking prettytable-rs v0.8.0
[INFO] [stderr]     Checking thiserror v1.0.58
[INFO] [stderr]    Compiling regex v1.10.3
[INFO] [stderr]    Compiling pnet_macros v0.34.0
[INFO] [stderr]    Compiling darling_macro v0.10.2
[INFO] [stderr]    Compiling darling v0.10.2
[INFO] [stderr]    Compiling timed_proc_macros v0.2.0
[INFO] [stderr]     Checking pnet_packet v0.34.0
[INFO] [stderr]     Checking timed v0.2.1
[INFO] [stderr]     Checking pnet_transport v0.34.0
[INFO] [stderr]     Checking server_obj_thread v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `EtherType`
[INFO] [stdout]  --> src/main.rs:2:62
[INFO] [stdout]   |
[INFO] [stdout] 2 | use pnet::datalink::{self, DataLinkReceiver, DataLinkSender, EtherType};
[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 imports: `LocalNetwork` and `self`
[INFO] [stdout]  --> src/main.rs:4:47
[INFO] [stdout]   |
[INFO] [stdout] 4 | use pnet::packet::ip::IpNextHeaderProtocols::{self, LocalNetwork};
[INFO] [stdout]   |                                               ^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/main.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use pnet::packet::{self, Packet};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pnet::packet::ipv4::Ipv4Packet`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use pnet::packet::ipv4::Ipv4Packet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::E`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::f32::consts::E;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::Output`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::process::Output;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice::Chunks`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::slice::Chunks;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::thread::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/main.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `array` and `option`
[INFO] [stdout]   --> src/main.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::{array, option, vec};
[INFO] [stdout]    |           ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/main.rs:76:94
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn send_self_data_tx(&self,sign:&[u8;3],mac_other:datalink::MacAddr,tx:Arc<Mutex<Box<(dyn DataLinkSender + 'static)>>>){
[INFO] [stdout]    |                                                                                              ^                            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 76 -     pub fn send_self_data_tx(&self,sign:&[u8;3],mac_other:datalink::MacAddr,tx:Arc<Mutex<Box<(dyn DataLinkSender + 'static)>>>){
[INFO] [stdout] 76 +     pub fn send_self_data_tx(&self,sign:&[u8;3],mac_other:datalink::MacAddr,tx:Arc<Mutex<Box<dyn DataLinkSender + 'static>>>){
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:58:14
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let (mut tx,mut rx)= match datalink::channel(&self.datalink_channel, Default::default()){
[INFO] [stdout]    |              ----^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]   --> src/main.rs:58:14
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let (mut tx,mut rx)= match datalink::channel(&self.datalink_channel, Default::default()){
[INFO] [stdout]    |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]   --> src/main.rs:66:25
[INFO] [stdout]    |
[INFO] [stdout] 66 |                     let packet =EthernetPacket::new(packet).unwrap();
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pay_time`
[INFO] [stdout]    --> src/main.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let pay_time = mid_time - start_time;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pay_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send_time`
[INFO] [stdout]    --> src/main.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let send_time = end_time - mid_time;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_send_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:110:21
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let (mut tx,mut rx)= match datalink::channel(&self.datalink_channel, Default::default()){
[INFO] [stdout]     |                     ----^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rx`
[INFO] [stdout]    --> src/main.rs:110:21
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let (mut tx,mut rx)= match datalink::channel(&self.datalink_channel, Default::default()){
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:180:45
[INFO] [stdout]     |
[INFO] [stdout] 180 |     pub fn main_machine_handle_rx(&mut self,mut rx:Arc<Mutex<Box<dyn DataLinkReceiver>>>){
[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:306:10
[INFO] [stdout]     |
[INFO] [stdout] 306 |     let (mut tx,rx)=
[INFO] [stdout]     |          ----^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `is_main` and `is_decide` are never read
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct PLC{
[INFO] [stdout]    |        --- fields in this struct
[INFO] [stdout] 25 |     is_main:bool,//主机：1，备机：0
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     is_decide:bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/main.rs:56:12
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl PLC {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  56 |     pub fn send_data_decide(&self){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn send_self_data(&self,sign:&[u8;3],mac_other:datalink::MacAddr){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn change_data(&mut self){
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn main_machine_handle(&mut self){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     fn renew_1ms(&self){
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     fn change_main(&self){
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     fn send_1ms(&self){
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn single_change_bool_to_u8(input:Vec<bool>)->Vec<u8>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EtherType`
[INFO] [stdout]  --> src/main.rs:2:62
[INFO] [stdout]   |
[INFO] [stdout] 2 | use pnet::datalink::{self, DataLinkReceiver, DataLinkSender, EtherType};
[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 imports: `LocalNetwork` and `self`
[INFO] [stdout]  --> src/main.rs:4:47
[INFO] [stdout]   |
[INFO] [stdout] 4 | use pnet::packet::ip::IpNextHeaderProtocols::{self, LocalNetwork};
[INFO] [stdout]   |                                               ^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/main.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use pnet::packet::{self, Packet};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pnet::packet::ipv4::Ipv4Packet`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use pnet::packet::ipv4::Ipv4Packet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::E`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::f32::consts::E;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::Output`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::process::Output;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice::Chunks`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::slice::Chunks;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::thread::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/main.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `array` and `option`
[INFO] [stdout]   --> src/main.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::{array, option, vec};
[INFO] [stdout]    |           ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/main.rs:76:94
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn send_self_data_tx(&self,sign:&[u8;3],mac_other:datalink::MacAddr,tx:Arc<Mutex<Box<(dyn DataLinkSender + 'static)>>>){
[INFO] [stdout]    |                                                                                              ^                            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 76 -     pub fn send_self_data_tx(&self,sign:&[u8;3],mac_other:datalink::MacAddr,tx:Arc<Mutex<Box<(dyn DataLinkSender + 'static)>>>){
[INFO] [stdout] 76 +     pub fn send_self_data_tx(&self,sign:&[u8;3],mac_other:datalink::MacAddr,tx:Arc<Mutex<Box<dyn DataLinkSender + 'static>>>){
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:58:14
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let (mut tx,mut rx)= match datalink::channel(&self.datalink_channel, Default::default()){
[INFO] [stdout]    |              ----^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]   --> src/main.rs:58:14
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let (mut tx,mut rx)= match datalink::channel(&self.datalink_channel, Default::default()){
[INFO] [stdout]    |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]   --> src/main.rs:66:25
[INFO] [stdout]    |
[INFO] [stdout] 66 |                     let packet =EthernetPacket::new(packet).unwrap();
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pay_time`
[INFO] [stdout]    --> src/main.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let pay_time = mid_time - start_time;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pay_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send_time`
[INFO] [stdout]    --> src/main.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let send_time = end_time - mid_time;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_send_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:110:21
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let (mut tx,mut rx)= match datalink::channel(&self.datalink_channel, Default::default()){
[INFO] [stdout]     |                     ----^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rx`
[INFO] [stdout]    --> src/main.rs:110:21
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let (mut tx,mut rx)= match datalink::channel(&self.datalink_channel, Default::default()){
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:180:45
[INFO] [stdout]     |
[INFO] [stdout] 180 |     pub fn main_machine_handle_rx(&mut self,mut rx:Arc<Mutex<Box<dyn DataLinkReceiver>>>){
[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:306:10
[INFO] [stdout]     |
[INFO] [stdout] 306 |     let (mut tx,rx)=
[INFO] [stdout]     |          ----^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `is_main` and `is_decide` are never read
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct PLC{
[INFO] [stdout]    |        --- fields in this struct
[INFO] [stdout] 25 |     is_main:bool,//主机：1，备机：0
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     is_decide:bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/main.rs:56:12
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl PLC {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  56 |     pub fn send_data_decide(&self){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn send_self_data(&self,sign:&[u8;3],mac_other:datalink::MacAddr){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn change_data(&mut self){
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn main_machine_handle(&mut self){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     fn renew_1ms(&self){
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     fn change_main(&self){
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     fn send_1ms(&self){
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn single_change_bool_to_u8(input:Vec<bool>)->Vec<u8>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.02s
[INFO] running `Command { std: "docker" "inspect" "b18607076524b9d75a874ccb3f0609f8e050d04eb04cba0ac230f4468d848bc0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b18607076524b9d75a874ccb3f0609f8e050d04eb04cba0ac230f4468d848bc0", kill_on_drop: false }`
[INFO] [stdout] b18607076524b9d75a874ccb3f0609f8e050d04eb04cba0ac230f4468d848bc0
