[INFO] cloning repository https://github.com/adoggie/rustAcPosMerge
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/adoggie/rustAcPosMerge" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fadoggie%2FrustAcPosMerge", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fadoggie%2FrustAcPosMerge'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7863e1a0ee76822f51a594934699d954c168f226
[INFO] checking adoggie/rustAcPosMerge against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fadoggie%2FrustAcPosMerge" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/adoggie/rustAcPosMerge
[INFO] finished tweaking git repo https://github.com/adoggie/rustAcPosMerge
[INFO] tweaked toml for git repo https://github.com/adoggie/rustAcPosMerge written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/adoggie/rustAcPosMerge on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/adoggie/rustAcPosMerge 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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9a2c60426b7d6efdbad8995e90c1025985e3d5f5db64079010760d978f756f9d
[INFO] running `Command { std: "docker" "start" "-a" "9a2c60426b7d6efdbad8995e90c1025985e3d5f5db64079010760d978f756f9d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9a2c60426b7d6efdbad8995e90c1025985e3d5f5db64079010760d978f756f9d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9a2c60426b7d6efdbad8995e90c1025985e3d5f5db64079010760d978f756f9d", kill_on_drop: false }`
[INFO] [stdout] 9a2c60426b7d6efdbad8995e90c1025985e3d5f5db64079010760d978f756f9d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dunmustuse_in_always_ok" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4c7abd901d23e29082ad3fefa6201663a38d455a8b52b667bc05b875c0d69982
[INFO] running `Command { std: "docker" "start" "-a" "4c7abd901d23e29082ad3fefa6201663a38d455a8b52b667bc05b875c0d69982", kill_on_drop: false }`
[INFO] [stderr]    Compiling rayon-core v1.12.0
[INFO] [stderr]    Compiling serde v1.0.192
[INFO] [stderr]    Compiling crossbeam-queue v0.3.8
[INFO] [stderr]    Compiling libc v0.2.150
[INFO] [stderr]    Compiling crossbeam-utils v0.8.16
[INFO] [stderr]    Compiling memoffset v0.9.0
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]    Compiling hashbrown v0.14.2
[INFO] [stderr]    Compiling target-lexicon v0.12.12
[INFO] [stderr]    Compiling winnow v0.5.19
[INFO] [stderr]    Compiling smallvec v1.11.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.15
[INFO] [stderr]    Compiling crossbeam-channel v0.5.8
[INFO] [stderr]    Compiling rustix v0.38.25
[INFO] [stderr]    Compiling crossbeam-deque v0.8.3
[INFO] [stderr]    Compiling indexmap v2.1.0
[INFO] [stderr]    Compiling jobserver v0.1.27
[INFO] [stderr]    Compiling cfg-expr v0.15.5
[INFO] [stderr]    Compiling syn v2.0.39
[INFO] [stderr]    Compiling matrixmultiply v0.3.8
[INFO] [stderr]    Compiling crossbeam v0.8.2
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]     Checking bitflags v2.4.1
[INFO] [stderr]     Checking num-traits v0.2.17
[INFO] [stderr]    Compiling rayon v1.8.0
[INFO] [stderr]     Checking memchr v2.6.4
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]    Compiling serde_json v1.0.108
[INFO] [stderr]    Compiling zmq v0.10.0
[INFO] [stderr]     Checking linux-raw-sys v0.4.11
[INFO] [stderr]     Checking regex-syntax v0.8.2
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]     Checking regex-automata v0.4.3
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]    Compiling serde_derive v1.0.192
[INFO] [stderr]     Checking is-terminal v0.4.9
[INFO] [stderr]     Checking nix v0.27.1
[INFO] [stderr]    Compiling toml_datetime v0.6.5
[INFO] [stderr]    Compiling serde_spanned v0.6.4
[INFO] [stderr]    Compiling jwalk v0.8.1
[INFO] [stderr]    Compiling toml_edit v0.21.0
[INFO] [stderr]     Checking num-integer v0.1.45
[INFO] [stderr]    Compiling dircpy v0.3.15
[INFO] [stderr]     Checking num-complex v0.4.4
[INFO] [stderr]    Compiling zeromq-src v0.2.6+4.3.4
[INFO] [stderr]     Checking regex v1.10.2
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking itoa v1.0.9
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]     Checking termcolor v1.4.0
[INFO] [stderr]     Checking iana-time-zone v0.1.58
[INFO] [stderr]     Checking ryu v1.0.15
[INFO] [stderr]     Checking env_logger v0.10.1
[INFO] [stderr]     Checking chrono v0.4.31
[INFO] [stderr]     Checking ndarray v0.15.6
[INFO] [stderr]     Checking ctrlc v3.4.1
[INFO] [stderr]    Compiling toml v0.8.8
[INFO] [stderr]    Compiling system-deps v6.2.0
[INFO] [stderr]    Compiling zmq-sys v0.12.0
[INFO] [stderr]     Checking rustPosMerge v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `BorrowMut` and `Borrow`
[INFO] [stdout]  --> src/main.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::{Borrow, BorrowMut};
[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: `std::collections::HashMap`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display` and `Formatter`
[INFO] [stdout]  --> src/main.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::{Display, Formatter};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `once_with`, `once`, and `repeat`
[INFO] [stdout]  --> src/main.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::iter::{once, once_with, repeat};
[INFO] [stdout]   |                 ^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mpsc`
[INFO] [stdout]  --> src/main.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::{Arc, mpsc, Mutex};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ErrorKind` and `Error`
[INFO] [stdout]  --> src/main.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::{Result, Error, ErrorKind};
[INFO] [stdout]   |                       ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pfollow::Runner`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use pfollow::Runner;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::config`
[INFO] [stdout]  --> src/pfollow.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::config;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::s`
[INFO] [stdout]  --> src/pfollow.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ndarray::s;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ix2`
[INFO] [stdout]  --> src/pfollow.rs:6:36
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ndarray::{Array, Array2, Axis, Ix2};
[INFO] [stdout]   |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut` and `Borrow`
[INFO] [stdout]  --> src/pfollow.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]   |                   ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/pfollow.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Value` and `from_reader`
[INFO] [stdout]   --> src/pfollow.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 | use serde_json::{Value,from_reader};
[INFO] [stdout]    |                  ^^^^^ ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Deserialize`
[INFO] [stdout]   --> src/pfollow.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use serde::Deserialize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, `trace`, and `warn`
[INFO] [stdout]   --> src/pfollow.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | use log::{error, warn, info, debug, trace};
[INFO] [stdout]    |           ^^^^^  ^^^^  ^^^^         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::message::MessagePosition`
[INFO] [stdout]    --> src/pfollow.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 284 | use crate::message::MessagePosition;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Local`
[INFO] [stdout]  --> src/zmqtest.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::Local;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]  --> src/zmqtest.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::mpsc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SocketType` and `Socket`
[INFO] [stdout]  --> src/zmqtest.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | use zmq::{Context, Socket, SocketType, DONTWAIT, POLLIN};
[INFO] [stdout]   |                    ^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MessagePosition` and `encodeMessage`
[INFO] [stdout]  --> src/zmqtest.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::message::{decodeMessage,encodeMessage,MessagePosition};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/controller.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `trace`, and `warn`
[INFO] [stdout]   --> src/main.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | use log::{error, warn, info, debug, trace};
[INFO] [stdout]    |           ^^^^^  ^^^^               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/pfollow.rs:516:9
[INFO] [stdout]     |
[INFO] [stdout] 507 | /         loop {
[INFO] [stdout] 508 | |             thread::sleep(Duration::from_secs( self.config.merge_interval.to_owned() as u64
[INFO] [stdout] 509 | |             ));
[INFO] [stdout] 510 | |             let now = chrono::Local::now().format("%Y-%m-%d %H:%M:%S").to_string();
[INFO] [stdout] 511 | |             debug!("pos_merge sleep..");
[INFO] [stdout] 512 | |             self.pos_merge_and_dispatch();
[INFO] [stdout] 513 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 516 |           Ok(())
[INFO] [stdout]     |           ^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut` and `Borrow`
[INFO] [stdout]  --> src/main.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::{Borrow, BorrowMut};
[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: `std::collections::HashMap`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display` and `Formatter`
[INFO] [stdout]  --> src/main.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::{Display, Formatter};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `once_with`, `once`, and `repeat`
[INFO] [stdout]  --> src/main.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::iter::{once, once_with, repeat};
[INFO] [stdout]   |                 ^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mpsc`
[INFO] [stdout]  --> src/main.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::{Arc, mpsc, Mutex};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ErrorKind` and `Error`
[INFO] [stdout]  --> src/main.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::{Result, Error, ErrorKind};
[INFO] [stdout]   |                       ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pfollow::Runner`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use pfollow::Runner;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::config`
[INFO] [stdout]  --> src/pfollow.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::config;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::s`
[INFO] [stdout]  --> src/pfollow.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ndarray::s;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ix2`
[INFO] [stdout]  --> src/pfollow.rs:6:36
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ndarray::{Array, Array2, Axis, Ix2};
[INFO] [stdout]   |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut` and `Borrow`
[INFO] [stdout]  --> src/pfollow.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]   |                   ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/pfollow.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Value` and `from_reader`
[INFO] [stdout]   --> src/pfollow.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 | use serde_json::{Value,from_reader};
[INFO] [stdout]    |                  ^^^^^ ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Deserialize`
[INFO] [stdout]   --> src/pfollow.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use serde::Deserialize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, `trace`, and `warn`
[INFO] [stdout]   --> src/pfollow.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | use log::{error, warn, info, debug, trace};
[INFO] [stdout]    |           ^^^^^  ^^^^  ^^^^         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::message::MessagePosition`
[INFO] [stdout]    --> src/pfollow.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 284 | use crate::message::MessagePosition;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Local`
[INFO] [stdout]  --> src/zmqtest.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::Local;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]  --> src/zmqtest.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::mpsc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SocketType` and `Socket`
[INFO] [stdout]  --> src/zmqtest.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | use zmq::{Context, Socket, SocketType, DONTWAIT, POLLIN};
[INFO] [stdout]   |                    ^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MessagePosition` and `encodeMessage`
[INFO] [stdout]  --> src/zmqtest.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::message::{decodeMessage,encodeMessage,MessagePosition};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/controller.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `trace`, and `warn`
[INFO] [stdout]   --> src/main.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | use log::{error, warn, info, debug, trace};
[INFO] [stdout]    |           ^^^^^  ^^^^               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/zmqtest.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | /         loop {
[INFO] [stdout] 31 | |             match zmq::poll(&mut items, Duration::from_millis(50000).as_secs() as i64) {
[INFO] [stdout] 32 | |                 Ok(_) => {
[INFO] [stdout] 33 | |                     if items[0].is_readable() {
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |         }
[INFO] [stdout]    | |_________- any code following this expression is unreachable
[INFO] [stdout] 51 |           Ok(())
[INFO] [stdout]    |           ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/pfollow.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let mut ts = AcRatioTableSet::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: variable does not need to be mutable
[INFO] [stdout]    --> src/pfollow.rs:524:13
[INFO] [stdout]     |
[INFO] [stdout] 524 |         let mut m1: Array2<f64>; // 临时的仓位表 
[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/pfollow.rs:547:21
[INFO] [stdout]     |
[INFO] [stdout] 547 |         for (index, mut row) in matrix.axis_iter(Axis(0)).enumerate() {
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Packet` is never constructed
[INFO] [stdout]  --> src/message.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Packet {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decodeMessage` is never used
[INFO] [stdout]   --> src/message.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn decodeMessage(bytes: &[u8]) -> Option<MessagePosition> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encodeMessage` is never used
[INFO] [stdout]   --> src/message.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn encodeMessage(message: &MessagePosition) -> [u8; std::mem::size_of::<Packet>()] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `message_main` is never used
[INFO] [stdout]   --> src/message.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn message_main() {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `subscriber` is never used
[INFO] [stdout]   --> src/zmqtest.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn subscriber(endpoint: &str, msg_back: fn(&[u8])) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parseMessage` is never used
[INFO] [stdout]   --> src/zmqtest.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn parseMessage(message:&[u8]){
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_main` is never used
[INFO] [stdout]   --> src/zmqtest.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn test_main() {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `posTable` should have a snake case name
[INFO] [stdout]    --> src/pfollow.rs:393:5
[INFO] [stdout]     |
[INFO] [stdout] 393 |     posTable: Arc<Mutex<AcPosTable>>,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `pos_table`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `ratioTs` should have a snake case name
[INFO] [stdout]    --> src/pfollow.rs:395:5
[INFO] [stdout]     |
[INFO] [stdout] 395 |     ratioTs: Arc<Mutex<AcRatioTableSet>>,
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to snake case: `ratio_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_ratioTs` should have a snake case name
[INFO] [stdout]    --> src/pfollow.rs:462:12
[INFO] [stdout]     |
[INFO] [stdout] 462 |     pub fn get_ratioTs(&mut self) -> Arc<Mutex<AcRatioTableSet>> {
[INFO] [stdout]     |            ^^^^^^^^^^^ help: convert the identifier to snake case: `get_ratio_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_posTable` should have a snake case name
[INFO] [stdout]    --> src/pfollow.rs:469:12
[INFO] [stdout]     |
[INFO] [stdout] 469 |     pub fn get_posTable(&mut self) -> &mut Arc<Mutex<AcPosTable>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^ help: convert the identifier to snake case: `get_pos_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decodeMessage` should have a snake case name
[INFO] [stdout]   --> src/message.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn decodeMessage(bytes: &[u8]) -> Option<MessagePosition> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `decode_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/pfollow.rs:516:9
[INFO] [stdout]     |
[INFO] [stdout] 507 | /         loop {
[INFO] [stdout] 508 | |             thread::sleep(Duration::from_secs( self.config.merge_interval.to_owned() as u64
[INFO] [stdout] 509 | |             ));
[INFO] [stdout] 510 | |             let now = chrono::Local::now().format("%Y-%m-%d %H:%M:%S").to_string();
[INFO] [stdout] 511 | |             debug!("pos_merge sleep..");
[INFO] [stdout] 512 | |             self.pos_merge_and_dispatch();
[INFO] [stdout] 513 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 516 |           Ok(())
[INFO] [stdout]     |           ^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rustPosMerge` (bin "rustPosMerge") due to 1 previous error; 42 warnings emitted
[INFO] [stdout] error: this type will no longer be must used: Result<Packet, Infallible>
[INFO] [stdout]   --> src/message.rs:43:32
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let packet: Packet = match bytes.try_into() {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: function `encodeMessage` should have a snake case name
[INFO] [stdout]   --> src/message.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn encodeMessage(message: &MessagePosition) -> [u8; std::mem::size_of::<Packet>()] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `encode_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parseMessage` should have a snake case name
[INFO] [stdout]   --> src/zmqtest.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn parseMessage(message:&[u8]){
[INFO] [stdout]    |    ^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/zmqtest.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | /         loop {
[INFO] [stdout] 31 | |             match zmq::poll(&mut items, Duration::from_millis(50000).as_secs() as i64) {
[INFO] [stdout] 32 | |                 Ok(_) => {
[INFO] [stdout] 33 | |                     if items[0].is_readable() {
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |         }
[INFO] [stdout]    | |_________- any code following this expression is unreachable
[INFO] [stdout] 51 |           Ok(())
[INFO] [stdout]    |           ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/pfollow.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let mut ts = AcRatioTableSet::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: variable does not need to be mutable
[INFO] [stdout]    --> src/pfollow.rs:524:13
[INFO] [stdout]     |
[INFO] [stdout] 524 |         let mut m1: Array2<f64>; // 临时的仓位表 
[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/pfollow.rs:547:21
[INFO] [stdout]     |
[INFO] [stdout] 547 |         for (index, mut row) in matrix.axis_iter(Axis(0)).enumerate() {
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Packet` is never constructed
[INFO] [stdout]  --> src/message.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Packet {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decodeMessage` is never used
[INFO] [stdout]   --> src/message.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn decodeMessage(bytes: &[u8]) -> Option<MessagePosition> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encodeMessage` is never used
[INFO] [stdout]   --> src/message.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn encodeMessage(message: &MessagePosition) -> [u8; std::mem::size_of::<Packet>()] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `message_main` is never used
[INFO] [stdout]   --> src/message.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn message_main() {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `subscriber` is never used
[INFO] [stdout]   --> src/zmqtest.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn subscriber(endpoint: &str, msg_back: fn(&[u8])) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parseMessage` is never used
[INFO] [stdout]   --> src/zmqtest.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn parseMessage(message:&[u8]){
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_main` is never used
[INFO] [stdout]   --> src/zmqtest.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn test_main() {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_acRatioTableSet` should have a snake case name
[INFO] [stdout]    --> src/pfollow.rs:135:4
[INFO] [stdout]     |
[INFO] [stdout] 135 | fn test_acRatioTableSet() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_ac_ratio_table_set`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `posTable` should have a snake case name
[INFO] [stdout]    --> src/pfollow.rs:393:5
[INFO] [stdout]     |
[INFO] [stdout] 393 |     posTable: Arc<Mutex<AcPosTable>>,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `pos_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `ratioTs` should have a snake case name
[INFO] [stdout]    --> src/pfollow.rs:395:5
[INFO] [stdout]     |
[INFO] [stdout] 395 |     ratioTs: Arc<Mutex<AcRatioTableSet>>,
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to snake case: `ratio_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_ratioTs` should have a snake case name
[INFO] [stdout]    --> src/pfollow.rs:462:12
[INFO] [stdout]     |
[INFO] [stdout] 462 |     pub fn get_ratioTs(&mut self) -> Arc<Mutex<AcRatioTableSet>> {
[INFO] [stdout]     |            ^^^^^^^^^^^ help: convert the identifier to snake case: `get_ratio_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_posTable` should have a snake case name
[INFO] [stdout]    --> src/pfollow.rs:469:12
[INFO] [stdout]     |
[INFO] [stdout] 469 |     pub fn get_posTable(&mut self) -> &mut Arc<Mutex<AcPosTable>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^ help: convert the identifier to snake case: `get_pos_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decodeMessage` should have a snake case name
[INFO] [stdout]   --> src/message.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn decodeMessage(bytes: &[u8]) -> Option<MessagePosition> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `decode_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Packet, Infallible>
[INFO] [stdout]   --> src/message.rs:43:32
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let packet: Packet = match bytes.try_into() {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encodeMessage` should have a snake case name
[INFO] [stdout]   --> src/message.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn encodeMessage(message: &MessagePosition) -> [u8; std::mem::size_of::<Packet>()] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `encode_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parseMessage` should have a snake case name
[INFO] [stdout]   --> src/zmqtest.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn parseMessage(message:&[u8]){
[INFO] [stdout]    |    ^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rustPosMerge` (bin "rustPosMerge" test) due to 1 previous error; 43 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "4c7abd901d23e29082ad3fefa6201663a38d455a8b52b667bc05b875c0d69982", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4c7abd901d23e29082ad3fefa6201663a38d455a8b52b667bc05b875c0d69982", kill_on_drop: false }`
[INFO] [stdout] 4c7abd901d23e29082ad3fefa6201663a38d455a8b52b667bc05b875c0d69982
