[INFO] cloning repository https://github.com/harshkatiyar19/stock-exchange [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/harshkatiyar19/stock-exchange" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fharshkatiyar19%2Fstock-exchange", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fharshkatiyar19%2Fstock-exchange'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 34f57d801e832488ad84ea5b90fa6c75ef90a5d4 [INFO] testing harshkatiyar19/stock-exchange against 1.97.0-beta.6 for beta-1.98-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fharshkatiyar19%2Fstock-exchange" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/harshkatiyar19/stock-exchange [INFO] finished tweaking git repo https://github.com/harshkatiyar19/stock-exchange [INFO] tweaked toml for git repo https://github.com/harshkatiyar19/stock-exchange written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/harshkatiyar19/stock-exchange on toolchain 1.97.0-beta.6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/harshkatiyar19/stock-exchange 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" "+1.97.0-beta.6" "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/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] faec2c37b131e7b5347c9e4a33c5edcc63c3136d0aabfc600fcaa368b496d1f5 [INFO] running `Command { std: "docker" "start" "faec2c37b131e7b5347c9e4a33c5edcc63c3136d0aabfc600fcaa368b496d1f5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "faec2c37b131e7b5347c9e4a33c5edcc63c3136d0aabfc600fcaa368b496d1f5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "faec2c37b131e7b5347c9e4a33c5edcc63c3136d0aabfc600fcaa368b496d1f5" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "faec2c37b131e7b5347c9e4a33c5edcc63c3136d0aabfc600fcaa368b496d1f5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "faec2c37b131e7b5347c9e4a33c5edcc63c3136d0aabfc600fcaa368b496d1f5" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling stock-exchange v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::stocks::matching_engine2::order_node::OrderNode` [INFO] [stdout] --> src/stocks/matching_engine2/order_engine.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::stocks::matching_engine2::order_node::OrderNode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::stocks::matching_engine2::order_store::OrderStore` [INFO] [stdout] --> src/stocks/matching_engine2/order_engine.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::stocks::matching_engine2::order_store::OrderStore; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/stocks/matching_engine2/order_store.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `OrderMutated` [INFO] [stdout] --> src/stocks/matching_engine2/order_store.rs:2:54 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::stocks::matching_engine2::order_mutated::{OrderMutated, Status}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/stocks/matching_engine2/order_store.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | ///covert code [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 20 | let order_node=&self.arena[order_idx]; [INFO] [stdout] | -------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/stocks/matching_engine2/order_store.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | ///covert code [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 26 | let price_level_idx=order_node.price_level_idx.unwrap(); [INFO] [stdout] | -------------------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/stocks/matching_engine2/order_store.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | ///covert code [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 34 | &mut self.arena[order_idx] [INFO] [stdout] | -------------------------- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::stocks::matching_engine2::order_store::OrderStore` [INFO] [stdout] --> src/stocks/matching_engine2/price_level.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::stocks::matching_engine2::order_store::OrderStore; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/stocks/matching_engine2/stock_config.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::SystemTime` [INFO] [stdout] --> src/stocks/matching_engine2/stock_config.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::time::SystemTime; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev` [INFO] [stdout] --> src/stocks/matching_engine2/engine.rs:218:15 [INFO] [stdout] | [INFO] [stdout] 218 | let (prev,next,price_level_idx)={ [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_prev` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p1` [INFO] [stdout] --> src/stocks/matching_engine2/order_mutated.rs:14:38 [INFO] [stdout] | [INFO] [stdout] 14 | pub(crate) fn new(order_id: u64, p1: Side, price: u32, quantity: u16) -> Self{ [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `order_id`, `price`, `quantity`, `timestamp`, `symbol`, and `side` are never read [INFO] [stdout] --> src/stocks/matching_engine2/order.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Order{ [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 6 | order_id: u64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 7 | price: f64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 8 | quantity: u16, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 9 | timestamp: SystemTime, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 10 | symbol: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 11 | side: Side, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/stocks/matching_engine2/order_mutated.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 13 | impl OrderMutated { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 14 | pub(crate) fn new(order_id: u64, p1: Side, price: u32, quantity: u16) -> Self{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `range_percent` and `symbol` are never read [INFO] [stdout] --> src/stocks/matching_engine2/stock_config.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct StockConfig { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 5 | range_percent:u8,//1%->1 [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 10 | symbol:String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::stocks::matching_engine2::order_node::OrderNode` [INFO] [stdout] --> src/stocks/matching_engine2/order_engine.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::stocks::matching_engine2::order_node::OrderNode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::stocks::matching_engine2::order_store::OrderStore` [INFO] [stdout] --> src/stocks/matching_engine2/order_engine.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::stocks::matching_engine2::order_store::OrderStore; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/stocks/matching_engine2/order_store.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `OrderMutated` [INFO] [stdout] --> src/stocks/matching_engine2/order_store.rs:2:54 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::stocks::matching_engine2::order_mutated::{OrderMutated, Status}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/stocks/matching_engine2/order_store.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | ///covert code [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 20 | let order_node=&self.arena[order_idx]; [INFO] [stdout] | -------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/stocks/matching_engine2/order_store.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | ///covert code [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 26 | let price_level_idx=order_node.price_level_idx.unwrap(); [INFO] [stdout] | -------------------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/stocks/matching_engine2/order_store.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | ///covert code [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 34 | &mut self.arena[order_idx] [INFO] [stdout] | -------------------------- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::stocks::matching_engine2::order_store::OrderStore` [INFO] [stdout] --> src/stocks/matching_engine2/price_level.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::stocks::matching_engine2::order_store::OrderStore; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/stocks/matching_engine2/stock_config.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::SystemTime` [INFO] [stdout] --> src/stocks/matching_engine2/stock_config.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::time::SystemTime; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev` [INFO] [stdout] --> src/stocks/matching_engine2/engine.rs:218:15 [INFO] [stdout] | [INFO] [stdout] 218 | let (prev,next,price_level_idx)={ [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_prev` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p1` [INFO] [stdout] --> src/stocks/matching_engine2/order_mutated.rs:14:38 [INFO] [stdout] | [INFO] [stdout] 14 | pub(crate) fn new(order_id: u64, p1: Side, price: u32, quantity: u16) -> Self{ [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_best_price_and_qty` is never used [INFO] [stdout] --> src/stocks/matching_engine2/engine.rs:193:12 [INFO] [stdout] | [INFO] [stdout] 147 | impl MatchingEngine{ [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn get_best_price_and_qty(&self,idx:usize)->(u32,u16,u64){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timestamp_ns` is never read [INFO] [stdout] --> src/stocks/matching_engine2/engine.rs:329:9 [INFO] [stdout] | [INFO] [stdout] 323 | pub struct TradeExecution { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 329 | pub timestamp_ns: SystemTime, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_str` is never used [INFO] [stdout] --> src/stocks/matching_engine2/engine.rs:374:12 [INFO] [stdout] | [INFO] [stdout] 373 | impl TradeStatus { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] 374 | pub fn as_str(&self) -> &'static str { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Order` is never constructed [INFO] [stdout] --> src/stocks/matching_engine2/order.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Order{ [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `inv_tick`, `max_price`, and `min_price` are never read [INFO] [stdout] --> src/stocks/matching_engine2/order_engine.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct OrderEngine{ [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 7 | pub inv_tick:u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 8 | pub max_price:u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 9 | pub min_price:u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_bit_set` is never used [INFO] [stdout] --> src/stocks/matching_engine2/order_engine.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl OrderEngine { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn is_bit_set(&self, idx: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `timestamp` and `status` are never read [INFO] [stdout] --> src/stocks/matching_engine2/order_mutated.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct OrderMutated{ [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 8 | pub timestamp: SystemTime, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 9 | pub side: Side, [INFO] [stdout] 10 | pub status:Status [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `range_percent` and `symbol` are never read [INFO] [stdout] --> src/stocks/matching_engine2/stock_config.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct StockConfig { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 5 | range_percent:u8,//1%->1 [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 10 | symbol:String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.19s [INFO] running `Command { std: "docker" "inspect" "faec2c37b131e7b5347c9e4a33c5edcc63c3136d0aabfc600fcaa368b496d1f5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "faec2c37b131e7b5347c9e4a33c5edcc63c3136d0aabfc600fcaa368b496d1f5" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling stock-exchange v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::stocks::matching_engine2::order_node::OrderNode` [INFO] [stdout] --> src/stocks/matching_engine2/order_engine.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::stocks::matching_engine2::order_node::OrderNode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::stocks::matching_engine2::order_store::OrderStore` [INFO] [stdout] --> src/stocks/matching_engine2/order_engine.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::stocks::matching_engine2::order_store::OrderStore; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/stocks/matching_engine2/order_store.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `OrderMutated` [INFO] [stdout] --> src/stocks/matching_engine2/order_store.rs:2:54 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::stocks::matching_engine2::order_mutated::{OrderMutated, Status}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/stocks/matching_engine2/order_store.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | ///covert code [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 20 | let order_node=&self.arena[order_idx]; [INFO] [stdout] | -------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/stocks/matching_engine2/order_store.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | ///covert code [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 26 | let price_level_idx=order_node.price_level_idx.unwrap(); [INFO] [stdout] | -------------------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/stocks/matching_engine2/order_store.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | ///covert code [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 34 | &mut self.arena[order_idx] [INFO] [stdout] | -------------------------- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::stocks::matching_engine2::order_store::OrderStore` [INFO] [stdout] --> src/stocks/matching_engine2/price_level.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::stocks::matching_engine2::order_store::OrderStore; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/stocks/matching_engine2/stock_config.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::SystemTime` [INFO] [stdout] --> src/stocks/matching_engine2/stock_config.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::time::SystemTime; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev` [INFO] [stdout] --> src/stocks/matching_engine2/engine.rs:218:15 [INFO] [stdout] | [INFO] [stdout] 218 | let (prev,next,price_level_idx)={ [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_prev` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p1` [INFO] [stdout] --> src/stocks/matching_engine2/order_mutated.rs:14:38 [INFO] [stdout] | [INFO] [stdout] 14 | pub(crate) fn new(order_id: u64, p1: Side, price: u32, quantity: u16) -> Self{ [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `order_id`, `price`, `quantity`, `timestamp`, `symbol`, and `side` are never read [INFO] [stdout] --> src/stocks/matching_engine2/order.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Order{ [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 6 | order_id: u64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 7 | price: f64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 8 | quantity: u16, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 9 | timestamp: SystemTime, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 10 | symbol: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 11 | side: Side, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/stocks/matching_engine2/order_mutated.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 13 | impl OrderMutated { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 14 | pub(crate) fn new(order_id: u64, p1: Side, price: u32, quantity: u16) -> Self{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `range_percent` and `symbol` are never read [INFO] [stdout] --> src/stocks/matching_engine2/stock_config.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct StockConfig { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 5 | range_percent:u8,//1%->1 [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 10 | symbol:String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::stocks::matching_engine2::order_node::OrderNode` [INFO] [stdout] --> src/stocks/matching_engine2/order_engine.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::stocks::matching_engine2::order_node::OrderNode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::stocks::matching_engine2::order_store::OrderStore` [INFO] [stdout] --> src/stocks/matching_engine2/order_engine.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::stocks::matching_engine2::order_store::OrderStore; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/stocks/matching_engine2/order_store.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `OrderMutated` [INFO] [stdout] --> src/stocks/matching_engine2/order_store.rs:2:54 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::stocks::matching_engine2::order_mutated::{OrderMutated, Status}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/stocks/matching_engine2/order_store.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | ///covert code [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 20 | let order_node=&self.arena[order_idx]; [INFO] [stdout] | -------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/stocks/matching_engine2/order_store.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | ///covert code [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 26 | let price_level_idx=order_node.price_level_idx.unwrap(); [INFO] [stdout] | -------------------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/stocks/matching_engine2/order_store.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | ///covert code [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 34 | &mut self.arena[order_idx] [INFO] [stdout] | -------------------------- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::stocks::matching_engine2::order_store::OrderStore` [INFO] [stdout] --> src/stocks/matching_engine2/price_level.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::stocks::matching_engine2::order_store::OrderStore; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/stocks/matching_engine2/stock_config.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::SystemTime` [INFO] [stdout] --> src/stocks/matching_engine2/stock_config.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::time::SystemTime; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::stocks::matching_engine2::order_node::OrderNode` [INFO] [stdout] --> src/stocks/matching_engine2/order_engine.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::stocks::matching_engine2::order_node::OrderNode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::stocks::matching_engine2::order_store::OrderStore` [INFO] [stdout] --> src/stocks/matching_engine2/order_engine.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::stocks::matching_engine2::order_store::OrderStore; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/stocks/matching_engine2/order_store.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `OrderMutated` [INFO] [stdout] --> src/stocks/matching_engine2/order_store.rs:2:54 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::stocks::matching_engine2::order_mutated::{OrderMutated, Status}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/stocks/matching_engine2/order_store.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | ///covert code [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 20 | let order_node=&self.arena[order_idx]; [INFO] [stdout] | -------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/stocks/matching_engine2/order_store.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | ///covert code [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 26 | let price_level_idx=order_node.price_level_idx.unwrap(); [INFO] [stdout] | -------------------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/stocks/matching_engine2/order_store.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | ///covert code [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 34 | &mut self.arena[order_idx] [INFO] [stdout] | -------------------------- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::stocks::matching_engine2::order_store::OrderStore` [INFO] [stdout] --> src/stocks/matching_engine2/price_level.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::stocks::matching_engine2::order_store::OrderStore; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/stocks/matching_engine2/stock_config.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::SystemTime` [INFO] [stdout] --> src/stocks/matching_engine2/stock_config.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::time::SystemTime; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev` [INFO] [stdout] --> src/stocks/matching_engine2/engine.rs:218:15 [INFO] [stdout] | [INFO] [stdout] 218 | let (prev,next,price_level_idx)={ [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_prev` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p1` [INFO] [stdout] --> src/stocks/matching_engine2/order_mutated.rs:14:38 [INFO] [stdout] | [INFO] [stdout] 14 | pub(crate) fn new(order_id: u64, p1: Side, price: u32, quantity: u16) -> Self{ [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `order_id`, `price`, `quantity`, `timestamp`, `symbol`, and `side` are never read [INFO] [stdout] --> src/stocks/matching_engine2/order.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Order{ [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 6 | order_id: u64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 7 | price: f64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 8 | quantity: u16, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 9 | timestamp: SystemTime, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 10 | symbol: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 11 | side: Side, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/stocks/matching_engine2/order_mutated.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 13 | impl OrderMutated { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 14 | pub(crate) fn new(order_id: u64, p1: Side, price: u32, quantity: u16) -> Self{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `range_percent` and `symbol` are never read [INFO] [stdout] --> src/stocks/matching_engine2/stock_config.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct StockConfig { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 5 | range_percent:u8,//1%->1 [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 10 | symbol:String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev` [INFO] [stdout] --> src/stocks/matching_engine2/engine.rs:218:15 [INFO] [stdout] | [INFO] [stdout] 218 | let (prev,next,price_level_idx)={ [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_prev` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p1` [INFO] [stdout] --> src/stocks/matching_engine2/order_mutated.rs:14:38 [INFO] [stdout] | [INFO] [stdout] 14 | pub(crate) fn new(order_id: u64, p1: Side, price: u32, quantity: u16) -> Self{ [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_best_price_and_qty` is never used [INFO] [stdout] --> src/stocks/matching_engine2/engine.rs:193:12 [INFO] [stdout] | [INFO] [stdout] 147 | impl MatchingEngine{ [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn get_best_price_and_qty(&self,idx:usize)->(u32,u16,u64){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timestamp_ns` is never read [INFO] [stdout] --> src/stocks/matching_engine2/engine.rs:329:9 [INFO] [stdout] | [INFO] [stdout] 323 | pub struct TradeExecution { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 329 | pub timestamp_ns: SystemTime, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_str` is never used [INFO] [stdout] --> src/stocks/matching_engine2/engine.rs:374:12 [INFO] [stdout] | [INFO] [stdout] 373 | impl TradeStatus { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] 374 | pub fn as_str(&self) -> &'static str { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Order` is never constructed [INFO] [stdout] --> src/stocks/matching_engine2/order.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Order{ [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `inv_tick`, `max_price`, and `min_price` are never read [INFO] [stdout] --> src/stocks/matching_engine2/order_engine.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct OrderEngine{ [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 7 | pub inv_tick:u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 8 | pub max_price:u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 9 | pub min_price:u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_bit_set` is never used [INFO] [stdout] --> src/stocks/matching_engine2/order_engine.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl OrderEngine { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn is_bit_set(&self, idx: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `timestamp` and `status` are never read [INFO] [stdout] --> src/stocks/matching_engine2/order_mutated.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct OrderMutated{ [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 8 | pub timestamp: SystemTime, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 9 | pub side: Side, [INFO] [stdout] 10 | pub status:Status [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `range_percent` and `symbol` are never read [INFO] [stdout] --> src/stocks/matching_engine2/stock_config.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct StockConfig { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 5 | range_percent:u8,//1%->1 [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 10 | symbol:String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.72s [INFO] running `Command { std: "docker" "inspect" "faec2c37b131e7b5347c9e4a33c5edcc63c3136d0aabfc600fcaa368b496d1f5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "faec2c37b131e7b5347c9e4a33c5edcc63c3136d0aabfc600fcaa368b496d1f5" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `crate::stocks::matching_engine2::order_node::OrderNode` [INFO] [stderr] --> src/stocks/matching_engine2/order_engine.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::stocks::matching_engine2::order_node::OrderNode; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::stocks::matching_engine2::order_store::OrderStore` [INFO] [stderr] --> src/stocks/matching_engine2/order_engine.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::stocks::matching_engine2::order_store::OrderStore; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `HashSet` [INFO] [stderr] --> src/stocks/matching_engine2/order_store.rs:1:33 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `OrderMutated` [INFO] [stderr] --> src/stocks/matching_engine2/order_store.rs:2:54 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::stocks::matching_engine2::order_mutated::{OrderMutated, Status}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/stocks/matching_engine2/order_store.rs:19:9 [INFO] [stderr] | [INFO] [stderr] 19 | ///covert code [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 20 | let order_node=&self.arena[order_idx]; [INFO] [stderr] | -------------------------------------- rustdoc does not generate documentation for statements [INFO] [stderr] | [INFO] [stderr] = help: use `//` for a plain comment [INFO] [stderr] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/stocks/matching_engine2/order_store.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | ///covert code [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 26 | let price_level_idx=order_node.price_level_idx.unwrap(); [INFO] [stderr] | -------------------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stderr] | [INFO] [stderr] = help: use `//` for a plain comment [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/stocks/matching_engine2/order_store.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | ///covert code [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 34 | &mut self.arena[order_idx] [INFO] [stderr] | -------------------------- rustdoc does not generate documentation for expressions [INFO] [stderr] | [INFO] [stderr] = help: use `//` for a plain comment [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::stocks::matching_engine2::order_store::OrderStore` [INFO] [stderr] --> src/stocks/matching_engine2/price_level.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::stocks::matching_engine2::order_store::OrderStore; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/stocks/matching_engine2/stock_config.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::SystemTime` [INFO] [stderr] --> src/stocks/matching_engine2/stock_config.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::time::SystemTime; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `prev` [INFO] [stderr] --> src/stocks/matching_engine2/engine.rs:218:15 [INFO] [stderr] | [INFO] [stderr] 218 | let (prev,next,price_level_idx)={ [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_prev` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `p1` [INFO] [stderr] --> src/stocks/matching_engine2/order_mutated.rs:14:38 [INFO] [stderr] | [INFO] [stderr] 14 | pub(crate) fn new(order_id: u64, p1: Side, price: u32, quantity: u16) -> Self{ [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_p1` [INFO] [stderr] [INFO] [stderr] warning: fields `order_id`, `price`, `quantity`, `timestamp`, `symbol`, and `side` are never read [INFO] [stderr] --> src/stocks/matching_engine2/order.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct Order{ [INFO] [stderr] | ----- fields in this struct [INFO] [stderr] 6 | order_id: u64, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 7 | price: f64, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 8 | quantity: u16, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 9 | timestamp: SystemTime, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 10 | symbol: String, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 11 | side: Side, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/stocks/matching_engine2/order_mutated.rs:14:19 [INFO] [stderr] | [INFO] [stderr] 13 | impl OrderMutated { [INFO] [stderr] | ----------------- associated function in this implementation [INFO] [stderr] 14 | pub(crate) fn new(order_id: u64, p1: Side, price: u32, quantity: u16) -> Self{ [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `range_percent` and `symbol` are never read [INFO] [stderr] --> src/stocks/matching_engine2/stock_config.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 4 | pub struct StockConfig { [INFO] [stderr] | ----------- fields in this struct [INFO] [stderr] 5 | range_percent:u8,//1%->1 [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 10 | symbol:String, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `stock-exchange` (lib) generated 15 warnings (run `cargo fix --lib -p stock-exchange` to apply 9 suggestions) [INFO] [stderr] warning: method `get_best_price_and_qty` is never used [INFO] [stderr] --> src/stocks/matching_engine2/engine.rs:193:12 [INFO] [stderr] | [INFO] [stderr] 147 | impl MatchingEngine{ [INFO] [stderr] | ------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 193 | pub fn get_best_price_and_qty(&self,idx:usize)->(u32,u16,u64){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: field `timestamp_ns` is never read [INFO] [stderr] --> src/stocks/matching_engine2/engine.rs:329:9 [INFO] [stderr] | [INFO] [stderr] 323 | pub struct TradeExecution { [INFO] [stderr] | -------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 329 | pub timestamp_ns: SystemTime, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `as_str` is never used [INFO] [stderr] --> src/stocks/matching_engine2/engine.rs:374:12 [INFO] [stderr] | [INFO] [stderr] 373 | impl TradeStatus { [INFO] [stderr] | ---------------- method in this implementation [INFO] [stderr] 374 | pub fn as_str(&self) -> &'static str { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Order` is never constructed [INFO] [stderr] --> src/stocks/matching_engine2/order.rs:5:12 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct Order{ [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `inv_tick`, `max_price`, and `min_price` are never read [INFO] [stderr] --> src/stocks/matching_engine2/order_engine.rs:7:9 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct OrderEngine{ [INFO] [stderr] | ----------- fields in this struct [INFO] [stderr] 7 | pub inv_tick:u32, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 8 | pub max_price:u32, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 9 | pub min_price:u32, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `is_bit_set` is never used [INFO] [stderr] --> src/stocks/matching_engine2/order_engine.rs:99:12 [INFO] [stderr] | [INFO] [stderr] 18 | impl OrderEngine { [INFO] [stderr] | ---------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 99 | pub fn is_bit_set(&self, idx: usize) -> bool { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `timestamp` and `status` are never read [INFO] [stderr] --> src/stocks/matching_engine2/order_mutated.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 4 | pub struct OrderMutated{ [INFO] [stderr] | ------------ fields in this struct [INFO] [stderr] ... [INFO] [stderr] 8 | pub timestamp: SystemTime, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 9 | pub side: Side, [INFO] [stderr] 10 | pub status:Status [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `stock-exchange` (bin "stock-exchange" test) generated 20 warnings (13 duplicates) [INFO] [stderr] warning: `stock-exchange` (lib test) generated 15 warnings (15 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/stock_exchange-7119d43630dc3dc3) [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/stock_exchange-fc786ac364a6e5d1) [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests stock_exchange [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "faec2c37b131e7b5347c9e4a33c5edcc63c3136d0aabfc600fcaa368b496d1f5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "faec2c37b131e7b5347c9e4a33c5edcc63c3136d0aabfc600fcaa368b496d1f5", kill_on_drop: false }` [INFO] [stdout] faec2c37b131e7b5347c9e4a33c5edcc63c3136d0aabfc600fcaa368b496d1f5