[INFO] cloning repository https://github.com/mancini0/secwager-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mancini0/secwager-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmancini0%2Fsecwager-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmancini0%2Fsecwager-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 445f980b33c069d55f3532e5efc04db6fa46dcbc [INFO] checking mancini0/secwager-rs against master#d255c6a57c393db6221b1ff700daea478436f1cd for pr-122317 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmancini0%2Fsecwager-rs" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/mancini0/secwager-rs on toolchain d255c6a57c393db6221b1ff700daea478436f1cd [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d255c6a57c393db6221b1ff700daea478436f1cd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/mancini0/secwager-rs [INFO] finished tweaking git repo https://github.com/mancini0/secwager-rs [INFO] tweaked toml for git repo https://github.com/mancini0/secwager-rs written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/mancini0/secwager-rs 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" "+d255c6a57c393db6221b1ff700daea478436f1cd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [ERROR] this task or one of its parent failed! [ERROR] no output for 300 seconds [ERROR] note: run with `RUST_BACKTRACE=1` to display a backtrace. [INFO] checking mancini0/secwager-rs against try#1f7553361c08f8eafdc645e09215667278ab86f4 for pr-122317 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmancini0%2Fsecwager-rs" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/mancini0/secwager-rs on toolchain 1f7553361c08f8eafdc645e09215667278ab86f4 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7553361c08f8eafdc645e09215667278ab86f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/mancini0/secwager-rs [INFO] finished tweaking git repo https://github.com/mancini0/secwager-rs [INFO] tweaked toml for git repo https://github.com/mancini0/secwager-rs written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/mancini0/secwager-rs 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" "+1f7553361c08f8eafdc645e09215667278ab86f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [INFO] checking mancini0/secwager-rs against try#1f7553361c08f8eafdc645e09215667278ab86f4 for pr-122317 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmancini0%2Fsecwager-rs" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/mancini0/secwager-rs on toolchain 1f7553361c08f8eafdc645e09215667278ab86f4 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7553361c08f8eafdc645e09215667278ab86f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/mancini0/secwager-rs [INFO] finished tweaking git repo https://github.com/mancini0/secwager-rs [INFO] tweaked toml for git repo https://github.com/mancini0/secwager-rs written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/mancini0/secwager-rs 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" "+1f7553361c08f8eafdc645e09215667278ab86f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1f7553361c08f8eafdc645e09215667278ab86f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5ef6a8be81541deea927885bd786a83c37cb8fab355588e5203b05a2844d4947 [INFO] running `Command { std: "docker" "start" "-a" "5ef6a8be81541deea927885bd786a83c37cb8fab355588e5203b05a2844d4947", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5ef6a8be81541deea927885bd786a83c37cb8fab355588e5203b05a2844d4947", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5ef6a8be81541deea927885bd786a83c37cb8fab355588e5203b05a2844d4947", kill_on_drop: false }` [INFO] [stdout] 5ef6a8be81541deea927885bd786a83c37cb8fab355588e5203b05a2844d4947 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1f7553361c08f8eafdc645e09215667278ab86f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ab151d52257650b2d0a490504249ba2920feab31f32016d1e615ffcde01ca5a8 [INFO] running `Command { std: "docker" "start" "-a" "ab151d52257650b2d0a490504249ba2920feab31f32016d1e615ffcde01ca5a8", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Checking common-model v0.1.0 (/opt/rustwide/workdir/common-model) [INFO] [stderr] Checking match-engine v0.1.0 (/opt/rustwide/workdir/match-engine) [INFO] [stdout] warning: unused imports: `rc::Rc`, `u8` [INFO] [stdout] --> match-engine/src/lib.rs:1:45 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::{BTreeMap, HashMap}, rc::Rc, u8}; [INFO] [stdout] | ^^^^^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `rc::Rc`, `u8` [INFO] [stdout] --> match-engine/src/lib.rs:1:45 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::{BTreeMap, HashMap}, rc::Rc, u8}; [INFO] [stdout] | ^^^^^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> match-engine/src/lib.rs:109:66 [INFO] [stdout] | [INFO] [stdout] 109 | OrderType::Buy => Self::handle_buy(self, &mut order, vec![]), [INFO] [stdout] | ---------------- ^^^^^^ expected `&mut Vec>`, found `Vec<_>` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&mut Vec>` [INFO] [stdout] found struct `Vec<_>` [INFO] [stdout] note: method defined here [INFO] [stdout] --> match-engine/src/lib.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 68 | fn handle_buy(&mut self, incoming_buy: &mut Order, callbacks: &mut Vec ) { [INFO] [stdout] | ^^^^^^^^^^ ----------------------------------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> match-engine/src/lib.rs:109:66 [INFO] [stdout] | [INFO] [stdout] 109 | OrderType::Buy => Self::handle_buy(self, &mut order, vec![]), [INFO] [stdout] | ---------------- ^^^^^^ expected `&mut Vec>`, found `Vec<_>` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&mut Vec>` [INFO] [stdout] found struct `Vec<_>` [INFO] [stdout] note: method defined here [INFO] [stdout] --> match-engine/src/lib.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 68 | fn handle_buy(&mut self, incoming_buy: &mut Order, callbacks: &mut Vec ) { [INFO] [stdout] | ^^^^^^^^^^ ----------------------------------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `handle_sell` found for struct `OrderBook` in the current scope [INFO] [stdout] --> match-engine/src/lib.rs:110:38 [INFO] [stdout] | [INFO] [stdout] 5 | struct OrderBook<'a> { [INFO] [stdout] | -------------------- function or associated item `handle_sell` not found for this struct [INFO] [stdout] ... [INFO] [stdout] 110 | OrderType::Sell => Self::handle_sell(self, &mut order), [INFO] [stdout] | ^^^^^^^^^^^ function or associated item not found in `OrderBook<'a>` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `OrderBook<'a>`, consider using `OrderBook::<'a>::new` which returns `OrderBook<'_>` [INFO] [stdout] --> match-engine/src/lib.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `handle_cancel` found for struct `OrderBook` in the current scope [INFO] [stdout] --> match-engine/src/lib.rs:111:40 [INFO] [stdout] | [INFO] [stdout] 5 | struct OrderBook<'a> { [INFO] [stdout] | -------------------- function or associated item `handle_cancel` not found for this struct [INFO] [stdout] ... [INFO] [stdout] 111 | OrderType::Cancel => Self::handle_cancel(self, &mut order), [INFO] [stdout] | ^^^^^^^^^^^^^ function or associated item not found in `OrderBook<'a>` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `OrderBook<'a>`, consider using `OrderBook::<'a>::new` which returns `OrderBook<'_>` [INFO] [stdout] --> match-engine/src/lib.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `handle_sell` found for struct `OrderBook` in the current scope [INFO] [stdout] --> match-engine/src/lib.rs:110:38 [INFO] [stdout] | [INFO] [stdout] 5 | struct OrderBook<'a> { [INFO] [stdout] | -------------------- function or associated item `handle_sell` not found for this struct [INFO] [stdout] ... [INFO] [stdout] 110 | OrderType::Sell => Self::handle_sell(self, &mut order), [INFO] [stdout] | ^^^^^^^^^^^ function or associated item not found in `OrderBook<'a>` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `OrderBook<'a>`, consider using `OrderBook::<'a>::new` which returns `OrderBook<'_>` [INFO] [stdout] --> match-engine/src/lib.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `handle_cancel` found for struct `OrderBook` in the current scope [INFO] [stdout] --> match-engine/src/lib.rs:111:40 [INFO] [stdout] | [INFO] [stdout] 5 | struct OrderBook<'a> { [INFO] [stdout] | -------------------- function or associated item `handle_cancel` not found for this struct [INFO] [stdout] ... [INFO] [stdout] 111 | OrderType::Cancel => Self::handle_cancel(self, &mut order), [INFO] [stdout] | ^^^^^^^^^^^^^ function or associated item not found in `OrderBook<'a>` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `OrderBook<'a>`, consider using `OrderBook::<'a>::new` which returns `OrderBook<'_>` [INFO] [stdout] --> match-engine/src/lib.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.arena` as mutable more than once at a time [INFO] [stdout] --> match-engine/src/lib.rs:71:45 [INFO] [stdout] | [INFO] [stdout] 68 | fn handle_buy(&mut self, incoming_buy: &mut Order, callbacks: &mut Vec ) { [INFO] [stdout] | --------- has type `&mut Vec>` [INFO] [stdout] ... [INFO] [stdout] 71 | if let Some(resting_sell) = self.arena.get_mut(resting_orders.get(i).unwrap()){ [INFO] [stdout] | ^^^^^^^^^^ `self.arena` was mutably borrowed here in the previous iteration of the loop [INFO] [stdout] ... [INFO] [stdout] 82 | callbacks.push(CallbackAction::Publish{id: &resting_sell.id}); [INFO] [stdout] | ------------------------------------------------------------- argument requires that `self.arena` is borrowed for `'3` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0621]: explicit lifetime required in the type of `incoming_buy` [INFO] [stdout] --> match-engine/src/lib.rs:79:21 [INFO] [stdout] | [INFO] [stdout] 68 | fn handle_buy(&mut self, incoming_buy: &mut Order, callbacks: &mut Vec ) { [INFO] [stdout] | ---------- help: add explicit lifetime `'a` to the type of `incoming_buy`: `&mut Order<'a>` [INFO] [stdout] ... [INFO] [stdout] 79 | incoming_buy.fill_history.push(Fill{qty: trade_qty, price: *price, filled_against: &resting_sell.id}); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime `'a` required [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> match-engine/src/lib.rs:79:21 [INFO] [stdout] | [INFO] [stdout] 68 | fn handle_buy(&mut self, incoming_buy: &mut Order, callbacks: &mut Vec ) { [INFO] [stdout] | - ------------ has type `&mut Order<'2>` [INFO] [stdout] | | [INFO] [stdout] | let's call the lifetime of this reference `'1` [INFO] [stdout] ... [INFO] [stdout] 79 | incoming_buy.fill_history.push(Fill{qty: trade_qty, price: *price, filled_against: &resting_sell.id}); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ argument requires that `'1` must outlive `'2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0621]: explicit lifetime required in the type of `incoming_buy` [INFO] [stdout] --> match-engine/src/lib.rs:80:21 [INFO] [stdout] | [INFO] [stdout] 68 | fn handle_buy(&mut self, incoming_buy: &mut Order, callbacks: &mut Vec ) { [INFO] [stdout] | ---------- help: add explicit lifetime `'a` to the type of `incoming_buy`: `&'a mut Order<'_>` [INFO] [stdout] ... [INFO] [stdout] 80 | resting_sell.fill_history.push(Fill{qty: trade_qty, price: *price, filled_against: &incoming_buy.id}); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime `'a` required [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 7 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0308, E0499, E0599, E0621. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.arena` as mutable more than once at a time [INFO] [stdout] --> match-engine/src/lib.rs:71:45 [INFO] [stdout] | [INFO] [stdout] 68 | fn handle_buy(&mut self, incoming_buy: &mut Order, callbacks: &mut Vec ) { [INFO] [stdout] | --------- has type `&mut Vec>` [INFO] [stdout] ... [INFO] [stdout] 71 | if let Some(resting_sell) = self.arena.get_mut(resting_orders.get(i).unwrap()){ [INFO] [stdout] | ^^^^^^^^^^ `self.arena` was mutably borrowed here in the previous iteration of the loop [INFO] [stdout] ... [INFO] [stdout] 82 | callbacks.push(CallbackAction::Publish{id: &resting_sell.id}); [INFO] [stdout] | ------------------------------------------------------------- argument requires that `self.arena` is borrowed for `'3` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0621]: explicit lifetime required in the type of `incoming_buy` [INFO] [stdout] --> match-engine/src/lib.rs:79:21 [INFO] [stdout] | [INFO] [stdout] 68 | fn handle_buy(&mut self, incoming_buy: &mut Order, callbacks: &mut Vec ) { [INFO] [stdout] | ---------- help: add explicit lifetime `'a` to the type of `incoming_buy`: `&mut Order<'a>` [INFO] [stdout] ... [INFO] [stdout] 79 | incoming_buy.fill_history.push(Fill{qty: trade_qty, price: *price, filled_against: &resting_sell.id}); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime `'a` required [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> match-engine/src/lib.rs:79:21 [INFO] [stdout] | [INFO] [stdout] 68 | fn handle_buy(&mut self, incoming_buy: &mut Order, callbacks: &mut Vec ) { [INFO] [stdout] | - ------------ has type `&mut Order<'2>` [INFO] [stdout] | | [INFO] [stdout] | let's call the lifetime of this reference `'1` [INFO] [stdout] ... [INFO] [stdout] 79 | incoming_buy.fill_history.push(Fill{qty: trade_qty, price: *price, filled_against: &resting_sell.id}); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ argument requires that `'1` must outlive `'2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0621]: explicit lifetime required in the type of `incoming_buy` [INFO] [stdout] --> match-engine/src/lib.rs:80:21 [INFO] [stdout] | [INFO] [stdout] 68 | fn handle_buy(&mut self, incoming_buy: &mut Order, callbacks: &mut Vec ) { [INFO] [stdout] | ---------- help: add explicit lifetime `'a` to the type of `incoming_buy`: `&'a mut Order<'_>` [INFO] [stdout] ... [INFO] [stdout] 80 | resting_sell.fill_history.push(Fill{qty: trade_qty, price: *price, filled_against: &incoming_buy.id}); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime `'a` required [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 7 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0308, E0499, E0599, E0621. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stderr] error: could not compile `match-engine` (lib) due to 8 previous errors; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `match-engine` (lib test) due to 8 previous errors; 1 warning emitted [INFO] running `Command { std: "docker" "inspect" "ab151d52257650b2d0a490504249ba2920feab31f32016d1e615ffcde01ca5a8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ab151d52257650b2d0a490504249ba2920feab31f32016d1e615ffcde01ca5a8", kill_on_drop: false }` [INFO] [stdout] ab151d52257650b2d0a490504249ba2920feab31f32016d1e615ffcde01ca5a8