[INFO] cloning repository https://github.com/vhytukas/trading_engine [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/vhytukas/trading_engine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvhytukas%2Ftrading_engine", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvhytukas%2Ftrading_engine'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9887c8515ebd72fe30218f7030385a49aab0b908 [INFO] checking vhytukas/trading_engine against try#7b3da9103634dffd4f4365cfd8642427c781d99f+rustflags=-Dinherent-method-on-receiver for 152214-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvhytukas%2Ftrading_engine" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/vhytukas/trading_engine [INFO] finished tweaking git repo https://github.com/vhytukas/trading_engine [INFO] tweaked toml for git repo https://github.com/vhytukas/trading_engine written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/vhytukas/trading_engine on toolchain 7b3da9103634dffd4f4365cfd8642427c781d99f [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7b3da9103634dffd4f4365cfd8642427c781d99f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/vhytukas/trading_engine 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" "+7b3da9103634dffd4f4365cfd8642427c781d99f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+7b3da9103634dffd4f4365cfd8642427c781d99f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 18c6ed3a46011d5f376b825c0e2bb24cfd6f0d613f0887cd40778a415f472687 [INFO] running `Command { std: "docker" "start" "-a" "18c6ed3a46011d5f376b825c0e2bb24cfd6f0d613f0887cd40778a415f472687", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "18c6ed3a46011d5f376b825c0e2bb24cfd6f0d613f0887cd40778a415f472687", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "18c6ed3a46011d5f376b825c0e2bb24cfd6f0d613f0887cd40778a415f472687", kill_on_drop: false }` [INFO] [stdout] 18c6ed3a46011d5f376b825c0e2bb24cfd6f0d613f0887cd40778a415f472687 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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 -Dinherent-method-on-receiver" "-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+7b3da9103634dffd4f4365cfd8642427c781d99f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b5a2f27b522c4706f215b24ac7a46577b70e2cf2466ea0ed7eb8bd685780f9be [INFO] running `Command { std: "docker" "start" "-a" "b5a2f27b522c4706f215b24ac7a46577b70e2cf2466ea0ed7eb8bd685780f9be", kill_on_drop: false }` [INFO] [stderr] Checking trading_engine v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | let mut orderbook = Orderbook::new(); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `trades` and `next_id` are never read [INFO] [stdout] --> src/matching_engine.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct MatchingEngine { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 7 | pub book: Orderbook, [INFO] [stdout] 8 | pub trades: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 9 | next_id: 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: methods `place_limit_order`, `match_or_insert`, and `match_against_book` are never used [INFO] [stdout] --> src/matching_engine.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl MatchingEngine { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn place_limit_order(&mut self, price: u64, qty: u64, side: Side) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | fn match_or_insert(&mut self, mut order: Order) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | fn match_against_book(&mut self, order: &mut Order) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_filled` is never used [INFO] [stdout] --> src/order.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Order { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn is_filled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `best_bid_level`, `best_ask_level`, and `best_ask_price` are never used [INFO] [stdout] --> src/orderbook.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Orderbook { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn best_bid_level(&mut self) -> Option<(u64, &PriceLevel)> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn best_ask_level(&mut self) -> Option<(u64, &PriceLevel)> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn best_ask_price(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Sell` is never constructed [INFO] [stdout] --> src/side.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 2 | pub enum Side { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] 3 | Buy, [INFO] [stdout] 4 | Sell, [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: fields `maker_id`, `taker_id`, `price`, `qty`, and `timestamp` are never read [INFO] [stdout] --> src/trade.rs:2:9 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct Trade { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 2 | pub maker_id: u64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 3 | pub taker_id: u64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 4 | pub price: u64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 5 | pub qty: u64, [INFO] [stdout] | ^^^ [INFO] [stdout] 6 | pub timestamp: u128, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/trade.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl Trade { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 10 | pub fn new(maker_id: u64, taker_id: u64, price: u64, qty: u64) -> Trade { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | let mut orderbook = Orderbook::new(); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `trades` and `next_id` are never read [INFO] [stdout] --> src/matching_engine.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct MatchingEngine { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 7 | pub book: Orderbook, [INFO] [stdout] 8 | pub trades: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 9 | next_id: 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: methods `place_limit_order`, `match_or_insert`, and `match_against_book` are never used [INFO] [stdout] --> src/matching_engine.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl MatchingEngine { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn place_limit_order(&mut self, price: u64, qty: u64, side: Side) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | fn match_or_insert(&mut self, mut order: Order) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | fn match_against_book(&mut self, order: &mut Order) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `qty`, and `timestamp` are never read [INFO] [stdout] --> src/order.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Order { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 5 | pub id: u64, [INFO] [stdout] | ^^ [INFO] [stdout] 6 | pub price: u64, [INFO] [stdout] 7 | pub qty: u64, [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | pub side: Side, [INFO] [stdout] 9 | pub timestamp: u128, [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: method `is_filled` is never used [INFO] [stdout] --> src/order.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Order { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn is_filled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `best_bid_level`, `best_ask_level`, `best_bid_price`, and `best_ask_price` are never used [INFO] [stdout] --> src/orderbook.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Orderbook { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn best_bid_level(&mut self) -> Option<(u64, &PriceLevel)> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn best_ask_level(&mut self) -> Option<(u64, &PriceLevel)> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn best_bid_price(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn best_ask_price(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Sell` is never constructed [INFO] [stdout] --> src/side.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 2 | pub enum Side { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] 3 | Buy, [INFO] [stdout] 4 | Sell, [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: fields `maker_id`, `taker_id`, `price`, `qty`, and `timestamp` are never read [INFO] [stdout] --> src/trade.rs:2:9 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct Trade { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 2 | pub maker_id: u64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 3 | pub taker_id: u64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 4 | pub price: u64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 5 | pub qty: u64, [INFO] [stdout] | ^^^ [INFO] [stdout] 6 | pub timestamp: u128, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/trade.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl Trade { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 10 | pub fn new(maker_id: u64, taker_id: u64, price: u64, qty: u64) -> Trade { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.21s [INFO] running `Command { std: "docker" "inspect" "b5a2f27b522c4706f215b24ac7a46577b70e2cf2466ea0ed7eb8bd685780f9be", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b5a2f27b522c4706f215b24ac7a46577b70e2cf2466ea0ed7eb8bd685780f9be", kill_on_drop: false }` [INFO] [stdout] b5a2f27b522c4706f215b24ac7a46577b70e2cf2466ea0ed7eb8bd685780f9be