[INFO] fetching crate rt-hft-engine 0.1.2...
[INFO] testing rt-hft-engine-0.1.2 against 1.91.0 for beta-1.92-2
[INFO] extracting crate rt-hft-engine 0.1.2 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate rt-hft-engine 0.1.2
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate rt-hft-engine 0.1.2
[INFO] tweaked toml for crates.io crate rt-hft-engine 0.1.2 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate rt-hft-engine 0.1.2 on toolchain 1.91.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate rt-hft-engine 0.1.2 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.91.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded plotters-svg v0.3.7
[INFO] [stderr]   Downloaded clap v4.5.50
[INFO] [stderr]   Downloaded plotters-backend v0.3.7
[INFO] [stderr]   Downloaded cc v1.2.41
[INFO] [stderr]   Downloaded plotters v0.3.7
[INFO] [stderr]   Downloaded clap_builder v4.5.50
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7b7535db961e4ec0bd2ed93227a9d7654264d543b66efb9c84ee71489f84d419
[INFO] running `Command { std: "docker" "start" "-a" "7b7535db961e4ec0bd2ed93227a9d7654264d543b66efb9c84ee71489f84d419", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7b7535db961e4ec0bd2ed93227a9d7654264d543b66efb9c84ee71489f84d419", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7b7535db961e4ec0bd2ed93227a9d7654264d543b66efb9c84ee71489f84d419", kill_on_drop: false }`
[INFO] [stdout] 7b7535db961e4ec0bd2ed93227a9d7654264d543b66efb9c84ee71489f84d419
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4c0590f5dd577a0ee83c47844b30a99c9baaf05dacd2e41c5b5d06618aac73f9
[INFO] running `Command { std: "docker" "start" "-a" "4c0590f5dd577a0ee83c47844b30a99c9baaf05dacd2e41c5b5d06618aac73f9", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling syn v2.0.107
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling tracing-subscriber v0.3.20
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling rt-hft-engine v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub cpu_affinity: Vec<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | #![warn(missing_docs, rust_2018_idioms, unused_qualifications)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub huge_pages: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub realtime_priority: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub network_optimization: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/engine.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/engine.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn cpu_affinity(mut self, cores: Vec<usize>) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/engine.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn huge_pages(mut self, enabled: bool) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/engine.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn realtime_priority(mut self, priority: u8) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/engine.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn network_optimization(mut self, enabled: bool) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/engine.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     Config(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/engine.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     Runtime(String),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/engine.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Io(#[from] std::io::Error),
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub orders_processed: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub trades_executed: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub min_latency_ns: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub avg_latency_ns: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub p99_latency_ns: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]  --> src/order_book.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum OrderSide {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/order_book.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Buy,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/order_book.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Sell,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/order_book.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum OrderType {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/order_book.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Market,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/order_book.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Limit,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/order_book.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Order {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/order_book.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub id: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/order_book.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub symbol: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/order_book.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub side: OrderSide,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/order_book.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub order_type: OrderType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/order_book.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub quantity: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/order_book.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub price: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/order_book.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn new(id: String, symbol: String, side: OrderSide, order_type: OrderType, quantity: u64, price: f64) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/order_book.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct OrderBook {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/order_book.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn new(symbol: String) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/market_data.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Quote {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/market_data.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub symbol: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/market_data.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub bid_price: f64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/market_data.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub ask_price: f64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/market_data.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub bid_size: u64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/market_data.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub ask_size: u64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/market_data.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub timestamp: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/market_data.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Trade {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/market_data.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub symbol: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/market_data.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub price: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/market_data.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub quantity: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/market_data.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub timestamp: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/market_data.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct MarketData;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/execution.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct ExecutionEngine;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/execution.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct OrderRouter;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]  --> src/strategy.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Strategy: Send + Sync {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]  --> src/strategy.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn on_market_data(&mut self, quote: &crate::market_data::Quote);
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]  --> src/strategy.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn on_order_fill(&mut self, order_id: &str, quantity: i64, side: OrderSide);
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/strategy.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct TradingStrategy;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/risk.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct RiskManager;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/risk.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct RiskLimits;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.07s
[INFO] running `Command { std: "docker" "inspect" "4c0590f5dd577a0ee83c47844b30a99c9baaf05dacd2e41c5b5d06618aac73f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4c0590f5dd577a0ee83c47844b30a99c9baaf05dacd2e41c5b5d06618aac73f9", kill_on_drop: false }`
[INFO] [stdout] 4c0590f5dd577a0ee83c47844b30a99c9baaf05dacd2e41c5b5d06618aac73f9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b9d11a8b13c0442e0dd68d4d9bbdd456283335044957d4661a50177dc5481730
[INFO] running `Command { std: "docker" "start" "-a" "b9d11a8b13c0442e0dd68d4d9bbdd456283335044957d4661a50177dc5481730", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling zerocopy-derive v0.8.27
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling is-terminal v0.4.16
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling clap_builder v4.5.50
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling clap v4.5.50
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling rt-hft-engine v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub cpu_affinity: Vec<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | #![warn(missing_docs, rust_2018_idioms, unused_qualifications)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub huge_pages: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub realtime_priority: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub network_optimization: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/engine.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/engine.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn cpu_affinity(mut self, cores: Vec<usize>) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/engine.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn huge_pages(mut self, enabled: bool) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/engine.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn realtime_priority(mut self, priority: u8) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/engine.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn network_optimization(mut self, enabled: bool) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/engine.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     Config(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/engine.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     Runtime(String),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/engine.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Io(#[from] std::io::Error),
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub orders_processed: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub trades_executed: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub min_latency_ns: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub avg_latency_ns: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub p99_latency_ns: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]  --> src/order_book.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum OrderSide {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/order_book.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Buy,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/order_book.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Sell,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/order_book.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum OrderType {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/order_book.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Market,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/order_book.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Limit,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/order_book.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Order {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/order_book.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub id: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/order_book.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub symbol: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/order_book.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub side: OrderSide,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/order_book.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub order_type: OrderType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/order_book.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub quantity: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/order_book.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub price: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/order_book.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn new(id: String, symbol: String, side: OrderSide, order_type: OrderType, quantity: u64, price: f64) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/order_book.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct OrderBook {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/order_book.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn new(symbol: String) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/market_data.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Quote {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/market_data.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub symbol: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/market_data.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub bid_price: f64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/market_data.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub ask_price: f64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/market_data.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub bid_size: u64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/market_data.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub ask_size: u64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/market_data.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub timestamp: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/market_data.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Trade {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/market_data.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub symbol: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/market_data.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub price: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/market_data.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub quantity: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/market_data.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub timestamp: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/market_data.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct MarketData;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/execution.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct ExecutionEngine;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/execution.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct OrderRouter;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]  --> src/strategy.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Strategy: Send + Sync {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]  --> src/strategy.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn on_market_data(&mut self, quote: &crate::market_data::Quote);
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]  --> src/strategy.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn on_order_fill(&mut self, order_id: &str, quantity: i64, side: OrderSide);
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/strategy.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct TradingStrategy;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/risk.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct RiskManager;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/risk.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct RiskLimits;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0601]: `main` function not found in crate `latency_test`
[INFO] [stdout]   |
[INFO] [stdout]   = note: consider adding a `main` function to `examples/latency_test.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0601]: `main` function not found in crate `market_maker`
[INFO] [stdout]   |
[INFO] [stdout]   = note: consider adding a `main` function to `examples/market_maker.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0601`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0601`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rt-hft-engine` (example "market_maker") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `rt-hft-engine` (example "latency_test") due to 1 previous error
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub cpu_affinity: Vec<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | #![warn(missing_docs, rust_2018_idioms, unused_qualifications)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub huge_pages: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub realtime_priority: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub network_optimization: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/engine.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/engine.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn cpu_affinity(mut self, cores: Vec<usize>) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/engine.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn huge_pages(mut self, enabled: bool) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/engine.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn realtime_priority(mut self, priority: u8) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/engine.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn network_optimization(mut self, enabled: bool) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/engine.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     Config(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/engine.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     Runtime(String),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/engine.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Io(#[from] std::io::Error),
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub orders_processed: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub trades_executed: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub min_latency_ns: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub avg_latency_ns: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/engine.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub p99_latency_ns: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]  --> src/order_book.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum OrderSide {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/order_book.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Buy,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/order_book.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Sell,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/order_book.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum OrderType {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/order_book.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Market,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/order_book.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Limit,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/order_book.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Order {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/order_book.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub id: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/order_book.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub symbol: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/order_book.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub side: OrderSide,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/order_book.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub order_type: OrderType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/order_book.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub quantity: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/order_book.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub price: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/order_book.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn new(id: String, symbol: String, side: OrderSide, order_type: OrderType, quantity: u64, price: f64) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/order_book.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct OrderBook {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/order_book.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn new(symbol: String) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/market_data.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Quote {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/market_data.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub symbol: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/market_data.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub bid_price: f64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/market_data.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub ask_price: f64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/market_data.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub bid_size: u64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/market_data.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub ask_size: u64,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/market_data.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub timestamp: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/market_data.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Trade {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/market_data.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub symbol: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/market_data.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub price: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/market_data.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub quantity: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/market_data.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub timestamp: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/market_data.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct MarketData;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/execution.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct ExecutionEngine;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/execution.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct OrderRouter;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]  --> src/strategy.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Strategy: Send + Sync {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]  --> src/strategy.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn on_market_data(&mut self, quote: &crate::market_data::Quote);
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]  --> src/strategy.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn on_order_fill(&mut self, order_id: &str, quantity: i64, side: OrderSide);
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/strategy.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct TradingStrategy;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/risk.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct RiskManager;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/risk.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct RiskLimits;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "b9d11a8b13c0442e0dd68d4d9bbdd456283335044957d4661a50177dc5481730", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b9d11a8b13c0442e0dd68d4d9bbdd456283335044957d4661a50177dc5481730", kill_on_drop: false }`
[INFO] [stdout] b9d11a8b13c0442e0dd68d4d9bbdd456283335044957d4661a50177dc5481730
