[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 try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZCKun%2FLimitOrderBook" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ZCKun/LimitOrderBook on toolchain 4d98531622e1718ae0bc3c7a1ab9cd8938428452
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "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-tc2/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" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 003294fa43df7f2243404f7cdbdd95221c857023319190e556b6ad18e0d10291
[INFO] running `Command { std: "docker" "start" "-a" "003294fa43df7f2243404f7cdbdd95221c857023319190e556b6ad18e0d10291", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "003294fa43df7f2243404f7cdbdd95221c857023319190e556b6ad18e0d10291", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "003294fa43df7f2243404f7cdbdd95221c857023319190e556b6ad18e0d10291", kill_on_drop: false }`
[INFO] [stdout] 003294fa43df7f2243404f7cdbdd95221c857023319190e556b6ad18e0d10291
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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 -Dtail_expr_drop_order" "-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" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] efe037b29bfca70f85d57c01cf9e8106043fb492ac5e8a37cf714570ce4ae4ba
[INFO] running `Command { std: "docker" "start" "-a" "efe037b29bfca70f85d57c01cf9e8106043fb492ac5e8a37cf714570ce4ae4ba", 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] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021
[INFO] [stdout] --> src/main.rs:124:8
[INFO] [stdout] |
[INFO] [stdout] 121 | fn read_lines(filepath: P) -> std::io::Result>>
[INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024
[INFO] [stdout] 122 | where P: AsRef, {
[INFO] [stdout] 123 | let file = std::fs::File::open(filepath).expect("open file failed.");
[INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024
[INFO] [stdout] 124 | Ok(std::io::BufReader::new(file).lines())
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] |
[INFO] [stdout] = warning: this changes meaning in Rust 2024
[INFO] [stdout] = note: for more information, see issue #123739
[INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order`
[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] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021
[INFO] [stdout] --> src/dat_reader.rs:56:25
[INFO] [stdout] |
[INFO] [stdout] 51 | let file = OpenOptions::new()
[INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 56 | buf_reader: BufReader::new(file)
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] |
[INFO] [stdout] = warning: this changes meaning in Rust 2024
[INFO] [stdout] = note: for more information, see issue #123739
[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: 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] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021
[INFO] [stdout] --> src/main.rs:124:8
[INFO] [stdout] |
[INFO] [stdout] 121 | fn read_lines(filepath: P) -> std::io::Result>>
[INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024
[INFO] [stdout] 122 | where P: AsRef, {
[INFO] [stdout] 123 | let file = std::fs::File::open(filepath).expect("open file failed.");
[INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024
[INFO] [stdout] 124 | Ok(std::io::BufReader::new(file).lines())
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] |
[INFO] [stdout] = warning: this changes meaning in Rust 2024
[INFO] [stdout] = note: for more information, see issue #123739
[INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order`
[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] error: aborting due to 2 previous errors; 35 warnings emitted
[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] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021
[INFO] [stdout] --> src/dat_reader.rs:56:25
[INFO] [stdout] |
[INFO] [stdout] 51 | let file = OpenOptions::new()
[INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 56 | buf_reader: BufReader::new(file)
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] |
[INFO] [stdout] = warning: this changes meaning in Rust 2024
[INFO] [stdout] = note: for more information, see issue #123739
[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] [stderr] error: could not compile `LimitOrderBook` (bin "LimitOrderBook") due to 3 previous errors; 35 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 2 previous errors; 32 warnings emitted
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stderr] error: could not compile `LimitOrderBook` (bin "LimitOrderBook" test) due to 3 previous errors; 32 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "efe037b29bfca70f85d57c01cf9e8106043fb492ac5e8a37cf714570ce4ae4ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "efe037b29bfca70f85d57c01cf9e8106043fb492ac5e8a37cf714570ce4ae4ba", kill_on_drop: false }`
[INFO] [stdout] efe037b29bfca70f85d57c01cf9e8106043fb492ac5e8a37cf714570ce4ae4ba