[INFO] cloning repository https://github.com/ZCKun/LimitOrderBook [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ZCKun/LimitOrderBook" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZCKun%2FLimitOrderBook", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZCKun%2FLimitOrderBook'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] dbf5d6d4d7d06885664607a4ae1bee526165be73 [INFO] checking ZCKun/LimitOrderBook/dbf5d6d4d7d06885664607a4ae1bee526165be73 against master#ab869e094a907cc5d19b4080f22eccaf347f1f95 for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZCKun%2FLimitOrderBook" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/ZCKun/LimitOrderBook on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/ZCKun/LimitOrderBook [INFO] finished tweaking git repo https://github.com/ZCKun/LimitOrderBook [INFO] tweaked toml for git repo https://github.com/ZCKun/LimitOrderBook written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/ZCKun/LimitOrderBook 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" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4f6fd9c706d4419d008386cef4f3e6eb2473c9c55b95725527b9e961d9124943 [INFO] running `Command { std: "docker" "start" "-a" "4f6fd9c706d4419d008386cef4f3e6eb2473c9c55b95725527b9e961d9124943", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4f6fd9c706d4419d008386cef4f3e6eb2473c9c55b95725527b9e961d9124943", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4f6fd9c706d4419d008386cef4f3e6eb2473c9c55b95725527b9e961d9124943", kill_on_drop: false }` [INFO] [stdout] 4f6fd9c706d4419d008386cef4f3e6eb2473c9c55b95725527b9e961d9124943 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bb7af9f7ceae0817aca313c3429265efa71f2e590fac36ded36c08984df29cec [INFO] running `Command { std: "docker" "start" "-a" "bb7af9f7ceae0817aca313c3429265efa71f2e590fac36ded36c08984df29cec", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.28 [INFO] [stderr] Compiling syn v1.0.74 [INFO] [stderr] Compiling serde_derive v1.0.127 [INFO] [stderr] Compiling serde v1.0.127 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling serde_json v1.0.66 [INFO] [stderr] Checking itoa v0.4.7 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Checking LimitOrderBook v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `BufReader` [INFO] [stdout] --> src/main.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::{BufReader, Read}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ByteOrder` and `LittleEndian` [INFO] [stdout] --> src/main.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | use byteorder::{LittleEndian, ByteOrder}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Header` [INFO] [stdout] --> src/main.rs:8:25 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::dat_reader::{Header, DatReader}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `any::Any` and `format` [INFO] [stdout] --> src/book.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{any::Any, collections::BTreeMap, fmt::{Display, format}}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mdt_type::DataType` [INFO] [stdout] --> src/dat_reader.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::mdt_type::DataType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SZSE_L2_Status` should have an upper camel case name [INFO] [stdout] --> src/mdt_type.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | SZSE_L2_Status = 0x00202007, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SzseL2Status` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SZSE_L2_Order` should have an upper camel case name [INFO] [stdout] --> src/mdt_type.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | SZSE_L2_Order = 0x00202006, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SzseL2Order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SZSE_L2_Index` should have an upper camel case name [INFO] [stdout] --> src/mdt_type.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | SZSE_L2_Index = 0x00202003, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SzseL2Index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SZSE_L2_Transaction` should have an upper camel case name [INFO] [stdout] --> src/mdt_type.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | SZSE_L2_Transaction = 0x00202002, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SzseL2Transaction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SZSE_L2_Quotation` should have an upper camel case name [INFO] [stdout] --> src/mdt_type.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | SZSE_L2_Quotation = 0x00202001, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SzseL2Quotation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SSE_L2_Status` should have an upper camel case name [INFO] [stdout] --> src/mdt_type.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | SSE_L2_Status = 0x00102000, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SseL2Status` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SSE_L2_Order` should have an upper camel case name [INFO] [stdout] --> src/mdt_type.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | SSE_L2_Order = 0x00102006, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SseL2Order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SSE_L2_Index` should have an upper camel case name [INFO] [stdout] --> src/mdt_type.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | SSE_L2_Index = 0x00102003, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SseL2Index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SSE_L2_Transaction` should have an upper camel case name [INFO] [stdout] --> src/mdt_type.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | SSE_L2_Transaction = 0x00102002, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SseL2Transaction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SSE_L2_Quotation` should have an upper camel case name [INFO] [stdout] --> src/mdt_type.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | SSE_L2_Quotation = 0x00102001, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SseL2Quotation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SSE_L2_Auction` should have an upper camel case name [INFO] [stdout] --> src/mdt_type.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | SSE_L2_Auction = 0x00102004, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SseL2Auction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SSE_L2_Overview` should have an upper camel case name [INFO] [stdout] --> src/mdt_type.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | SSE_L2_Overview = 0x00102005, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SseL2Overview` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufReader` [INFO] [stdout] --> src/main.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::{BufReader, Read}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ByteOrder` and `LittleEndian` [INFO] [stdout] --> src/main.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | use byteorder::{LittleEndian, ByteOrder}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Header` [INFO] [stdout] --> src/main.rs:8:25 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::dat_reader::{Header, DatReader}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `any::Any` and `format` [INFO] [stdout] --> src/book.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{any::Any, collections::BTreeMap, fmt::{Display, format}}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mdt_type::DataType` [INFO] [stdout] --> src/dat_reader.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::mdt_type::DataType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SZSE_L2_Status` should have an upper camel case name [INFO] [stdout] --> src/mdt_type.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | SZSE_L2_Status = 0x00202007, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SzseL2Status` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SZSE_L2_Order` should have an upper camel case name [INFO] [stdout] --> src/mdt_type.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | SZSE_L2_Order = 0x00202006, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SzseL2Order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SZSE_L2_Index` should have an upper camel case name [INFO] [stdout] --> src/mdt_type.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | SZSE_L2_Index = 0x00202003, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SzseL2Index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SZSE_L2_Transaction` should have an upper camel case name [INFO] [stdout] --> src/mdt_type.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | SZSE_L2_Transaction = 0x00202002, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SzseL2Transaction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SZSE_L2_Quotation` should have an upper camel case name [INFO] [stdout] --> src/mdt_type.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | SZSE_L2_Quotation = 0x00202001, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SzseL2Quotation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SSE_L2_Status` should have an upper camel case name [INFO] [stdout] --> src/mdt_type.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | SSE_L2_Status = 0x00102000, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SseL2Status` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SSE_L2_Order` should have an upper camel case name [INFO] [stdout] --> src/mdt_type.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | SSE_L2_Order = 0x00102006, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SseL2Order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SSE_L2_Index` should have an upper camel case name [INFO] [stdout] --> src/mdt_type.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | SSE_L2_Index = 0x00102003, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SseL2Index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SSE_L2_Transaction` should have an upper camel case name [INFO] [stdout] --> src/mdt_type.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | SSE_L2_Transaction = 0x00102002, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SseL2Transaction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SSE_L2_Quotation` should have an upper camel case name [INFO] [stdout] --> src/mdt_type.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | SSE_L2_Quotation = 0x00102001, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SseL2Quotation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SSE_L2_Auction` should have an upper camel case name [INFO] [stdout] --> src/mdt_type.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | SSE_L2_Auction = 0x00102004, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SseL2Auction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SSE_L2_Overview` should have an upper camel case name [INFO] [stdout] --> src/mdt_type.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | SSE_L2_Overview = 0x00102005, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SseL2Overview` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/main.rs:6:26 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::{BufReader, Read}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/main.rs:6:26 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::{BufReader, Read}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_from_csv` is never used [INFO] [stdout] --> src/main.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn test_from_csv(book: &mut Book) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_from_json` is never used [INFO] [stdout] --> src/main.rs:75:4 [INFO] [stdout] | [INFO] [stdout] 75 | fn test_from_json(book: &mut Book) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_lines` is never used [INFO] [stdout] --> src/main.rs:121:4 [INFO] [stdout] | [INFO] [stdout] 121 | fn read_lines

(filepath: P) -> std::io::Result>> [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `bids_price` and `asks_price` are never read [INFO] [stdout] --> src/book.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Book { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 9 | bids_price: BTreeMap>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 10 | asks_price: BTreeMap>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Book` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_order`, `on_trade`, `on_traded`, and `on_cancel` are never used [INFO] [stdout] --> src/book.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 57 | impl Book { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 58 | pub fn new() -> Book { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn add_order(&mut self, order: &Order) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn on_trade(&mut self, trade: &Trade) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | fn on_traded(&mut self, trade: &Trade) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | fn on_cancel(&mut self, trade: &Trade) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `BID` and `ASK` are never constructed [INFO] [stdout] --> src/types.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub enum Side { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 35 | BID, [INFO] [stdout] | ^^^ [INFO] [stdout] 36 | ASK, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Side` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `TRADED` and `CACNEL` are never constructed [INFO] [stdout] --> src/types.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub enum TradeType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 41 | TRADED, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 42 | CACNEL, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TradeType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `time`, `id`, and `side` are never read [INFO] [stdout] --> src/types.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 46 | pub struct Order { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 47 | pub time: i64, [INFO] [stdout] | ^^^^ [INFO] [stdout] 48 | pub id: i64, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub side: Side, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Order` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `is_sell`, and `is_buy` are never used [INFO] [stdout] --> src/types.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 54 | impl Order { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 55 | fn new(time: i64, id: i64, price: f64, qty: i64, side: Side) -> Order { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn is_sell(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn is_buy(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Trade` is never constructed [INFO] [stdout] --> src/types.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 74 | pub struct Trade { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `buy_trade` and `sell_trade` are never used [INFO] [stdout] --> src/types.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 84 | impl Trade { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 85 | pub fn buy_trade(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn sell_trade(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `total_len` is never read [INFO] [stdout] --> src/dat_reader.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Header { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 11 | // 2 bytes [INFO] [stdout] 12 | total_len: i16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DataType` is never used [INFO] [stdout] --> src/mdt_type.rs:1:10 [INFO] [stdout] | [INFO] [stdout] 1 | pub enum DataType { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/mdt_struct.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct SzL2Order { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 4 | rec_time: u64, // 8 [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 5 | channel_no: u32, // 4 [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 6 | order_id: u64, // 8 [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 7 | symbol_code: [char; 40], // 40 [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 8 | symbol_source: [char; 5], // 5 [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 9 | time: i64, // 8 [INFO] [stdout] | ^^^^ [INFO] [stdout] 10 | price: f64, // 8 [INFO] [stdout] | ^^^^^ [INFO] [stdout] 11 | qty: f64, // 8 [INFO] [stdout] | ^^^ [INFO] [stdout] 12 | code: char, // 1 [INFO] [stdout] | ^^^^ [INFO] [stdout] 13 | r#type: char // 1 [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SzL2Order` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: const parameter `size` should have an upper case name [INFO] [stdout] --> src/dat_reader.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | fn buf_reader(reader: &mut T) -> [u8; size] { [INFO] [stdout] | ^^^^ help: convert the identifier to upper case: `SIZE` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/dat_reader.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | reader.read(&mut buf[..]); [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)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 21 | let _ = reader.read(&mut buf[..]); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/dat_reader.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 65 | self.buf_reader.read(&mut data); [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] 65 | let _ = self.buf_reader.read(&mut data); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 35 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_from_csv` is never used [INFO] [stdout] --> src/main.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn test_from_csv(book: &mut Book) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_from_json` is never used [INFO] [stdout] --> src/main.rs:75:4 [INFO] [stdout] | [INFO] [stdout] 75 | fn test_from_json(book: &mut Book) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_lines` is never used [INFO] [stdout] --> src/main.rs:121:4 [INFO] [stdout] | [INFO] [stdout] 121 | fn read_lines

(filepath: P) -> std::io::Result>> [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `time` is never read [INFO] [stdout] --> src/types.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 46 | pub struct Order { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 47 | pub time: i64, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Order` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `is_sell`, and `is_buy` are never used [INFO] [stdout] --> src/types.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 54 | impl Order { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 55 | fn new(time: i64, id: i64, price: f64, qty: i64, side: Side) -> Order { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn is_sell(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn is_buy(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `time` and `id` are never read [INFO] [stdout] --> src/types.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 74 | pub struct Trade { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 75 | pub time: i64, [INFO] [stdout] | ^^^^ [INFO] [stdout] 76 | pub id: i64, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `buy_trade` and `sell_trade` are never used [INFO] [stdout] --> src/types.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 84 | impl Trade { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 85 | pub fn buy_trade(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn sell_trade(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `total_len` is never read [INFO] [stdout] --> src/dat_reader.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Header { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 11 | // 2 bytes [INFO] [stdout] 12 | total_len: i16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DataType` is never used [INFO] [stdout] --> src/mdt_type.rs:1:10 [INFO] [stdout] | [INFO] [stdout] 1 | pub enum DataType { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/mdt_struct.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct SzL2Order { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 4 | rec_time: u64, // 8 [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 5 | channel_no: u32, // 4 [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 6 | order_id: u64, // 8 [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 7 | symbol_code: [char; 40], // 40 [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 8 | symbol_source: [char; 5], // 5 [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 9 | time: i64, // 8 [INFO] [stdout] | ^^^^ [INFO] [stdout] 10 | price: f64, // 8 [INFO] [stdout] | ^^^^^ [INFO] [stdout] 11 | qty: f64, // 8 [INFO] [stdout] | ^^^ [INFO] [stdout] 12 | code: char, // 1 [INFO] [stdout] | ^^^^ [INFO] [stdout] 13 | r#type: char // 1 [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SzL2Order` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `BookTest` should have a snake case name [INFO] [stdout] --> src/book.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | mod BookTest { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `book_test` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: const parameter `size` should have an upper case name [INFO] [stdout] --> src/dat_reader.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | fn buf_reader(reader: &mut T) -> [u8; size] { [INFO] [stdout] | ^^^^ help: convert the identifier to upper case: `SIZE` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/dat_reader.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | reader.read(&mut buf[..]); [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)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 21 | let _ = reader.read(&mut buf[..]); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/dat_reader.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 65 | self.buf_reader.read(&mut data); [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] 65 | let _ = self.buf_reader.read(&mut data); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 32 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.04s [INFO] running `Command { std: "docker" "inspect" "bb7af9f7ceae0817aca313c3429265efa71f2e590fac36ded36c08984df29cec", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bb7af9f7ceae0817aca313c3429265efa71f2e590fac36ded36c08984df29cec", kill_on_drop: false }` [INFO] [stdout] bb7af9f7ceae0817aca313c3429265efa71f2e590fac36ded36c08984df29cec