[INFO] fetching crate ledger-rs-lib 0.7.0... [INFO] testing ledger-rs-lib-0.7.0 against 1.90.0 for beta-1.91-3 [INFO] extracting crate ledger-rs-lib 0.7.0 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate ledger-rs-lib 0.7.0 [INFO] finished tweaking crates.io crate ledger-rs-lib 0.7.0 [INFO] tweaked toml for crates.io crate ledger-rs-lib 0.7.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate ledger-rs-lib 0.7.0 on toolchain 1.90.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate ledger-rs-lib 0.7.0 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.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded log v0.4.20 [INFO] [stderr] Downloaded wasm-bindgen-test-macro v0.3.37 [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.37 [INFO] [stderr] Downloaded once_cell v1.18.0 [INFO] [stderr] Downloaded wasm-bindgen-test v0.3.37 [INFO] [stderr] Downloaded borsh-derive-internal v0.10.3 [INFO] [stderr] Downloaded borsh-schema-derive-internal v0.10.3 [INFO] [stderr] Downloaded borsh-derive v0.10.3 [INFO] [stderr] Downloaded bytecheck_derive v0.6.11 [INFO] [stderr] Downloaded is-terminal v0.4.9 [INFO] [stderr] Downloaded iana-time-zone v0.1.57 [INFO] [stderr] Downloaded core-foundation-sys v0.8.4 [INFO] [stderr] Downloaded arrayvec v0.7.4 [INFO] [stderr] Downloaded anyhow v1.0.75 [INFO] [stderr] Downloaded indexmap v2.0.0 [INFO] [stderr] Downloaded bytes v1.5.0 [INFO] [stderr] Downloaded memchr v2.6.3 [INFO] [stderr] Downloaded hashbrown v0.14.0 [INFO] [stderr] Downloaded rkyv v0.7.42 [INFO] [stderr] Downloaded aho-corasick v1.0.5 [INFO] [stderr] Downloaded serde_json v1.0.105 [INFO] [stderr] Downloaded petgraph v0.6.4 [INFO] [stderr] Downloaded syn v2.0.31 [INFO] [stderr] Downloaded rust_decimal v1.32.0 [INFO] [stderr] Downloaded chrono v0.4.29 [INFO] [stderr] Downloaded regex v1.9.5 [INFO] [stderr] Downloaded serde v1.0.188 [INFO] [stderr] Downloaded ahash v0.8.3 [INFO] [stderr] Downloaded num-traits v0.2.16 [INFO] [stderr] Downloaded ryu v1.0.15 [INFO] [stderr] Downloaded serde_derive v1.0.188 [INFO] [stderr] Downloaded rustix v0.38.11 [INFO] [stderr] Downloaded bitflags v2.4.0 [INFO] [stderr] Downloaded cc v1.0.83 [INFO] [stderr] Downloaded env_logger v0.10.0 [INFO] [stderr] Downloaded getrandom v0.2.10 [INFO] [stderr] Downloaded simdutf8 v0.1.4 [INFO] [stderr] Downloaded uuid v1.4.1 [INFO] [stderr] Downloaded test-log v0.2.12 [INFO] [stderr] Downloaded bytecheck v0.6.11 [INFO] [stderr] Downloaded bumpalo v3.13.0 [INFO] [stderr] Downloaded hermit-abi v0.3.2 [INFO] [stderr] Downloaded borsh v0.10.3 [INFO] [stderr] Downloaded regex-automata v0.3.8 [INFO] [stderr] Downloaded rkyv_derive v0.7.42 [INFO] [stderr] Downloaded js-sys v0.3.64 [INFO] [stderr] Downloaded web-sys v0.3.64 [INFO] [stderr] Downloaded libc v0.2.147 [INFO] [stderr] Downloaded errno v0.3.3 [INFO] [stderr] Downloaded rend v0.4.0 [INFO] [stderr] Downloaded itoa v1.0.9 [INFO] [stderr] Downloaded linux-raw-sys v0.4.5 [INFO] [stderr] Downloaded windows v0.48.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 49b9aea4665040e13a5fa07e9fa4d510dbffb9a540f2031415ebc0bb5746d211 [INFO] running `Command { std: "docker" "start" "-a" "49b9aea4665040e13a5fa07e9fa4d510dbffb9a540f2031415ebc0bb5746d211", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "49b9aea4665040e13a5fa07e9fa4d510dbffb9a540f2031415ebc0bb5746d211", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "49b9aea4665040e13a5fa07e9fa4d510dbffb9a540f2031415ebc0bb5746d211", kill_on_drop: false }` [INFO] [stdout] 49b9aea4665040e13a5fa07e9fa4d510dbffb9a540f2031415ebc0bb5746d211 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 82a809d4e0a1a9988b6a220d63d4f252e571703041f39db3c1487bc3cfddb016 [INFO] running `Command { std: "docker" "start" "-a" "82a809d4e0a1a9988b6a220d63d4f252e571703041f39db3c1487bc3cfddb016", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.16 [INFO] [stderr] Compiling libc v0.2.147 [INFO] [stderr] Compiling rustix v0.38.11 [INFO] [stderr] Compiling memchr v2.6.3 [INFO] [stderr] Compiling linux-raw-sys v0.4.5 [INFO] [stderr] Compiling bitflags v2.4.0 [INFO] [stderr] Compiling serde v1.0.188 [INFO] [stderr] Compiling regex-syntax v0.7.5 [INFO] [stderr] Compiling hashbrown v0.14.0 [INFO] [stderr] Compiling rust_decimal v1.32.0 [INFO] [stderr] Compiling anyhow v1.0.75 [INFO] [stderr] Compiling iana-time-zone v0.1.57 [INFO] [stderr] Compiling fixedbitset v0.4.2 [INFO] [stderr] Compiling arrayvec v0.7.4 [INFO] [stderr] Compiling log v0.4.20 [INFO] [stderr] Compiling termcolor v1.2.0 [INFO] [stderr] Compiling shell-words v1.1.0 [INFO] [stderr] Compiling time v0.1.45 [INFO] [stderr] Compiling aho-corasick v1.0.5 [INFO] [stderr] Compiling indexmap v2.0.0 [INFO] [stderr] Compiling is-terminal v0.4.9 [INFO] [stderr] Compiling chrono v0.4.29 [INFO] [stderr] Compiling regex-automata v0.3.8 [INFO] [stderr] Compiling petgraph v0.6.4 [INFO] [stderr] Compiling regex v1.9.5 [INFO] [stderr] Compiling env_logger v0.10.0 [INFO] [stderr] Compiling ledger-rs-lib v0.7.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> src/commodity.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | let target = commodity; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `moment` [INFO] [stdout] --> src/commodity.rs:44:49 [INFO] [stdout] | [INFO] [stdout] 44 | pub(crate) fn find_price(commodity: &Commodity, moment: NaiveDateTime, oldest: NaiveDateTime) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `oldest` [INFO] [stdout] --> src/commodity.rs:44:72 [INFO] [stdout] | [INFO] [stdout] 44 | pub(crate) fn find_price(commodity: &Commodity, moment: NaiveDateTime, oldest: NaiveDateTime) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_oldest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `moment` [INFO] [stdout] --> src/history.rs:106:9 [INFO] [stdout] | [INFO] [stdout] 106 | moment: NaiveDateTime, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `oldest` [INFO] [stdout] --> src/history.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | oldest: NaiveDateTime, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_oldest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/history.rs:115:80 [INFO] [stdout] | [INFO] [stdout] 115 | let shortest_path = astar(&self.0, source, |finish| finish == target, |e| 1, |_| 0); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `option_name` [INFO] [stdout] --> src/option.rs:54:17 [INFO] [stdout] | [INFO] [stdout] 54 | let option_name = &arg[2..]; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_option_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:342:13 [INFO] [stdout] | [INFO] [stdout] 342 | let mut file_found = false; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `journal` [INFO] [stdout] --> src/report.rs:99:64 [INFO] [stdout] | [INFO] [stdout] 99 | fn format_balance_report(mut balances: Vec<(String, Balance)>, journal: &Journal) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_journal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target_commodity` [INFO] [stdout] --> src/report.rs:135:11 [INFO] [stdout] | [INFO] [stdout] 135 | fn market(target_commodity: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_commodity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `aux_date` [INFO] [stdout] --> src/scanner.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | let aux_date: &str; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aux_date` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cdty` [INFO] [stdout] --> src/value.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 23 | let cdty = pool.find_or_create(commodities, None); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cdty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `add_prices` [INFO] [stdout] --> src/value.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | add_prices: bool, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_add_prices` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `moment` [INFO] [stdout] --> src/value.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | moment: &NaiveDateTime, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `point` [INFO] [stdout] --> src/value.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | let point: Option; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_point` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `moment` [INFO] [stdout] --> src/value.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | fn amount_value(moment: &NaiveDateTime, in_terms_of: Option<&Commodity>, pool: &CommodityPool) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `in_terms_of` [INFO] [stdout] --> src/value.rs:43:41 [INFO] [stdout] | [INFO] [stdout] 43 | fn amount_value(moment: &NaiveDateTime, in_terms_of: Option<&Commodity>, pool: &CommodityPool) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_in_terms_of` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pool` [INFO] [stdout] --> src/value.rs:43:74 [INFO] [stdout] | [INFO] [stdout] 43 | fn amount_value(moment: &NaiveDateTime, in_terms_of: Option<&Commodity>, pool: &CommodityPool) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_pool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `null_post` is never read [INFO] [stdout] --> src/xact.rs:273:9 [INFO] [stdout] | [INFO] [stdout] 273 | null_post = std::ptr::null_mut(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `command_args` [INFO] [stdout] --> src/lib.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | let command_args = &commands[1..]; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `verb` [INFO] [stdout] --> src/lib.rs:124:24 [INFO] [stdout] | [INFO] [stdout] 124 | fn look_for_precommand(verb: &str) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_verb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `look_for_precommand` is never used [INFO] [stdout] --> src/lib.rs:124:4 [INFO] [stdout] | [INFO] [stdout] 124 | fn look_for_precommand(verb: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_price` is never used [INFO] [stdout] --> src/commodity.rs:44:15 [INFO] [stdout] | [INFO] [stdout] 44 | pub(crate) fn find_price(commodity: &Commodity, moment: NaiveDateTime, oldest: NaiveDateTime) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PricePoint` is never constructed [INFO] [stdout] --> src/commodity.rs:63:19 [INFO] [stdout] | [INFO] [stdout] 63 | pub(crate) struct PricePoint { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/commodity.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 68 | impl PricePoint { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 69 | pub fn new(when: NaiveDateTime, price: Amount) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DirectiveType` is never used [INFO] [stdout] --> src/directives.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum DirectiveType { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `map_prices`, `find_price`, `calculate_rate`, `get_direct_price`, and `print_map` are never used [INFO] [stdout] --> src/history.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl CommodityHistory { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn map_prices(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn find_price( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | fn calculate_rate(&self, source: CommodityIndex, target_ptr: *const Commodity, path: Vec) -> (NaiveDateTime, Quantity) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | pub fn get_direct_price( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | fn print_map(&self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_latest_price` is never used [INFO] [stdout] --> src/history.rs:237:4 [INFO] [stdout] | [INFO] [stdout] 237 | fn get_latest_price( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SimpleParserIter` is never constructed [INFO] [stdout] --> src/iterator.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct SimpleParserIter { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/iterator.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl SimpleParserIter { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 16 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `JournalReader` is never constructed [INFO] [stdout] --> src/journalreader.rs:7:19 [INFO] [stdout] | [INFO] [stdout] 7 | pub(crate) struct JournalReader {} [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/journalreader.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl JournalReader { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 10 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Kind` is never used [INFO] [stdout] --> src/option.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum Kind { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_option` is never used [INFO] [stdout] --> src/option.rs:119:4 [INFO] [stdout] | [INFO] [stdout] 119 | fn find_option(letter: char) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lookup_option_global` is never used [INFO] [stdout] --> src/option.rs:130:4 [INFO] [stdout] | [INFO] [stdout] 130 | fn lookup_option_global(kind: Kind, letter: char) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process_option` is never used [INFO] [stdout] --> src/option.rs:146:4 [INFO] [stdout] | [INFO] [stdout] 146 | fn process_option(whence: String, value: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `session_lookup` is never used [INFO] [stdout] --> src/option.rs:163:4 [INFO] [stdout] | [INFO] [stdout] 163 | fn session_lookup(kind: Kind, name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `session_lookup_option` is never used [INFO] [stdout] --> src/option.rs:178:4 [INFO] [stdout] | [INFO] [stdout] 178 | fn session_lookup_option(option: char) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lookup_report` is never used [INFO] [stdout] --> src/option.rs:203:4 [INFO] [stdout] | [INFO] [stdout] 203 | fn lookup_report(kind: Kind, name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lookup_option_report` is never used [INFO] [stdout] --> src/option.rs:269:4 [INFO] [stdout] | [INFO] [stdout] 269 | fn lookup_option_report(letter: char) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `general_directive` and `include_directive` are never used [INFO] [stdout] --> src/parser.rs:195:8 [INFO] [stdout] | [INFO] [stdout] 94 | impl<'j, T: Read> Parser<'j, T> { [INFO] [stdout] | ------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 195 | fn general_directive(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 325 | fn include_directive(&self, argument: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `null_commodity` and `default_commodity` are never read [INFO] [stdout] --> src/pool.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct CommodityPool { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 32 | null_commodity: *const Commodity, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 33 | default_commodity: *const Commodity, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `report_commodities` is never used [INFO] [stdout] --> src/report.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn report_commodities() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `report_payees` is never used [INFO] [stdout] --> src/report.rs:24:4 [INFO] [stdout] | [INFO] [stdout] 24 | fn report_payees() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_account_balances` is never used [INFO] [stdout] --> src/report.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn get_account_balances(journal: &Journal) -> Vec<(&str, Balance)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_balance_report` is never used [INFO] [stdout] --> src/report.rs:99:4 [INFO] [stdout] | [INFO] [stdout] 99 | fn format_balance_report(mut balances: Vec<(String, Balance)>, journal: &Journal) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `market` is never used [INFO] [stdout] --> src/report.rs:135:4 [INFO] [stdout] | [INFO] [stdout] 135 | fn market(target_commodity: &str) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `remainder` is never read [INFO] [stdout] --> src/scanner.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 61 | struct CostTokens<'a> { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 65 | pub remainder: &'a str, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `next_element` is never used [INFO] [stdout] --> src/scanner.rs:452:4 [INFO] [stdout] | [INFO] [stdout] 452 | fn next_element(input: &str) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exchange_commodities` is never used [INFO] [stdout] --> src/value.rs:15:15 [INFO] [stdout] | [INFO] [stdout] 15 | pub(crate) fn exchange_commodities( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `value` is never used [INFO] [stdout] --> src/value.rs:31:4 [INFO] [stdout] | [INFO] [stdout] 31 | fn value(moment: &NaiveDateTime, in_terms_of: Option<&Commodity>, pool: &CommodityPool) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `amount_value` is never used [INFO] [stdout] --> src/value.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | fn amount_value(moment: &NaiveDateTime, in_terms_of: Option<&Commodity>, pool: &CommodityPool) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell` [INFO] [stdout] --> src/pool.rs:91:28 [INFO] [stdout] | [INFO] [stdout] 90 | let mut_ptr = cdty_ptr as *mut Commodity; [INFO] [stdout] | -------------------------- casting happened here [INFO] [stdout] 91 | let mut_cdty = &mut *mut_ptr; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: `#[warn(invalid_reference_casting)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/scanner.rs:193:32 [INFO] [stdout] | [INFO] [stdout] 193 | pub(crate) fn scan_post(input: &str) -> PostTokens { [INFO] [stdout] | ^^^^ ---------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 193 | pub(crate) fn scan_post(input: &str) -> PostTokens<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/scanner.rs:248:27 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn scan_amount(input: &str) -> (AmountTokens, &str) { [INFO] [stdout] | ^^^^ ------------ ---- the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 248 | pub fn scan_amount(input: &str) -> (AmountTokens<'_>, &str) { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/scanner.rs:267:28 [INFO] [stdout] | [INFO] [stdout] 267 | fn scan_annotations(input: &str) -> (AnnotationTokens, &str) { [INFO] [stdout] | ^^^^ ---------------- ---- the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 267 | fn scan_annotations(input: &str) -> (AnnotationTokens<'_>, &str) { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/scanner.rs:368:21 [INFO] [stdout] | [INFO] [stdout] 368 | fn scan_cost(input: &str) -> CostTokens { [INFO] [stdout] | ^^^^ ---------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 368 | fn scan_cost(input: &str) -> CostTokens<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.54s [INFO] running `Command { std: "docker" "inspect" "82a809d4e0a1a9988b6a220d63d4f252e571703041f39db3c1487bc3cfddb016", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "82a809d4e0a1a9988b6a220d63d4f252e571703041f39db3c1487bc3cfddb016", kill_on_drop: false }` [INFO] [stdout] 82a809d4e0a1a9988b6a220d63d4f252e571703041f39db3c1487bc3cfddb016 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d61925faa4c92ab7cdd76ae72c97bc6ccc52f488455f0f7e8c9934ea52a64876 [INFO] running `Command { std: "docker" "start" "-a" "d61925faa4c92ab7cdd76ae72c97bc6ccc52f488455f0f7e8c9934ea52a64876", kill_on_drop: false }` [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> src/commodity.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | let target = commodity; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `moment` [INFO] [stdout] --> src/commodity.rs:44:49 [INFO] [stdout] | [INFO] [stdout] 44 | pub(crate) fn find_price(commodity: &Commodity, moment: NaiveDateTime, oldest: NaiveDateTime) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `oldest` [INFO] [stdout] --> src/commodity.rs:44:72 [INFO] [stdout] | [INFO] [stdout] 44 | pub(crate) fn find_price(commodity: &Commodity, moment: NaiveDateTime, oldest: NaiveDateTime) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_oldest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `moment` [INFO] [stdout] --> src/history.rs:106:9 [INFO] [stdout] | [INFO] [stdout] 106 | moment: NaiveDateTime, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `oldest` [INFO] [stdout] --> src/history.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | oldest: NaiveDateTime, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_oldest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/history.rs:115:80 [INFO] [stdout] | [INFO] [stdout] 115 | let shortest_path = astar(&self.0, source, |finish| finish == target, |e| 1, |_| 0); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `option_name` [INFO] [stdout] --> src/option.rs:54:17 [INFO] [stdout] | [INFO] [stdout] 54 | let option_name = &arg[2..]; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_option_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:342:13 [INFO] [stdout] | [INFO] [stdout] 342 | let mut file_found = false; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `journal` [INFO] [stdout] --> src/report.rs:99:64 [INFO] [stdout] | [INFO] [stdout] 99 | fn format_balance_report(mut balances: Vec<(String, Balance)>, journal: &Journal) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_journal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target_commodity` [INFO] [stdout] --> src/report.rs:135:11 [INFO] [stdout] | [INFO] [stdout] 135 | fn market(target_commodity: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_commodity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `aux_date` [INFO] [stdout] --> src/scanner.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | let aux_date: &str; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aux_date` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cdty` [INFO] [stdout] --> src/value.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 23 | let cdty = pool.find_or_create(commodities, None); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cdty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `add_prices` [INFO] [stdout] --> src/value.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | add_prices: bool, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_add_prices` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `moment` [INFO] [stdout] --> src/value.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | moment: &NaiveDateTime, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `point` [INFO] [stdout] --> src/value.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | let point: Option; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_point` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `moment` [INFO] [stdout] --> src/value.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | fn amount_value(moment: &NaiveDateTime, in_terms_of: Option<&Commodity>, pool: &CommodityPool) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `in_terms_of` [INFO] [stdout] --> src/value.rs:43:41 [INFO] [stdout] | [INFO] [stdout] 43 | fn amount_value(moment: &NaiveDateTime, in_terms_of: Option<&Commodity>, pool: &CommodityPool) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_in_terms_of` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pool` [INFO] [stdout] --> src/value.rs:43:74 [INFO] [stdout] | [INFO] [stdout] 43 | fn amount_value(moment: &NaiveDateTime, in_terms_of: Option<&Commodity>, pool: &CommodityPool) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_pool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `null_post` is never read [INFO] [stdout] --> src/xact.rs:273:9 [INFO] [stdout] | [INFO] [stdout] 273 | null_post = std::ptr::null_mut(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `command_args` [INFO] [stdout] --> src/lib.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | let command_args = &commands[1..]; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `verb` [INFO] [stdout] --> src/lib.rs:124:24 [INFO] [stdout] | [INFO] [stdout] 124 | fn look_for_precommand(verb: &str) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_verb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `look_for_precommand` is never used [INFO] [stdout] --> src/lib.rs:124:4 [INFO] [stdout] | [INFO] [stdout] 124 | fn look_for_precommand(verb: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_price` is never used [INFO] [stdout] --> src/commodity.rs:44:15 [INFO] [stdout] | [INFO] [stdout] 44 | pub(crate) fn find_price(commodity: &Commodity, moment: NaiveDateTime, oldest: NaiveDateTime) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PricePoint` is never constructed [INFO] [stdout] --> src/commodity.rs:63:19 [INFO] [stdout] | [INFO] [stdout] 63 | pub(crate) struct PricePoint { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/commodity.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 68 | impl PricePoint { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 69 | pub fn new(when: NaiveDateTime, price: Amount) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DirectiveType` is never used [INFO] [stdout] --> src/directives.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum DirectiveType { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `map_prices`, `find_price`, `calculate_rate`, `get_direct_price`, and `print_map` are never used [INFO] [stdout] --> src/history.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl CommodityHistory { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn map_prices(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn find_price( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | fn calculate_rate(&self, source: CommodityIndex, target_ptr: *const Commodity, path: Vec) -> (NaiveDateTime, Quantity) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | pub fn get_direct_price( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | fn print_map(&self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_latest_price` is never used [INFO] [stdout] --> src/history.rs:237:4 [INFO] [stdout] | [INFO] [stdout] 237 | fn get_latest_price( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SimpleParserIter` is never constructed [INFO] [stdout] --> src/iterator.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct SimpleParserIter { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/iterator.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl SimpleParserIter { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 16 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `JournalReader` is never constructed [INFO] [stdout] --> src/journalreader.rs:7:19 [INFO] [stdout] | [INFO] [stdout] 7 | pub(crate) struct JournalReader {} [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/journalreader.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl JournalReader { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 10 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Kind` is never used [INFO] [stdout] --> src/option.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum Kind { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_option` is never used [INFO] [stdout] --> src/option.rs:119:4 [INFO] [stdout] | [INFO] [stdout] 119 | fn find_option(letter: char) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lookup_option_global` is never used [INFO] [stdout] --> src/option.rs:130:4 [INFO] [stdout] | [INFO] [stdout] 130 | fn lookup_option_global(kind: Kind, letter: char) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process_option` is never used [INFO] [stdout] --> src/option.rs:146:4 [INFO] [stdout] | [INFO] [stdout] 146 | fn process_option(whence: String, value: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `session_lookup` is never used [INFO] [stdout] --> src/option.rs:163:4 [INFO] [stdout] | [INFO] [stdout] 163 | fn session_lookup(kind: Kind, name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `session_lookup_option` is never used [INFO] [stdout] --> src/option.rs:178:4 [INFO] [stdout] | [INFO] [stdout] 178 | fn session_lookup_option(option: char) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lookup_report` is never used [INFO] [stdout] --> src/option.rs:203:4 [INFO] [stdout] | [INFO] [stdout] 203 | fn lookup_report(kind: Kind, name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lookup_option_report` is never used [INFO] [stdout] --> src/option.rs:269:4 [INFO] [stdout] | [INFO] [stdout] 269 | fn lookup_option_report(letter: char) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `general_directive` and `include_directive` are never used [INFO] [stdout] --> src/parser.rs:195:8 [INFO] [stdout] | [INFO] [stdout] 94 | impl<'j, T: Read> Parser<'j, T> { [INFO] [stdout] | ------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 195 | fn general_directive(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 325 | fn include_directive(&self, argument: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `null_commodity` and `default_commodity` are never read [INFO] [stdout] --> src/pool.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct CommodityPool { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 32 | null_commodity: *const Commodity, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 33 | default_commodity: *const Commodity, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `report_commodities` is never used [INFO] [stdout] --> src/report.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn report_commodities() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `report_payees` is never used [INFO] [stdout] --> src/report.rs:24:4 [INFO] [stdout] | [INFO] [stdout] 24 | fn report_payees() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_account_balances` is never used [INFO] [stdout] --> src/report.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn get_account_balances(journal: &Journal) -> Vec<(&str, Balance)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_balance_report` is never used [INFO] [stdout] --> src/report.rs:99:4 [INFO] [stdout] | [INFO] [stdout] 99 | fn format_balance_report(mut balances: Vec<(String, Balance)>, journal: &Journal) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `market` is never used [INFO] [stdout] --> src/report.rs:135:4 [INFO] [stdout] | [INFO] [stdout] 135 | fn market(target_commodity: &str) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `remainder` is never read [INFO] [stdout] --> src/scanner.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 61 | struct CostTokens<'a> { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 65 | pub remainder: &'a str, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `next_element` is never used [INFO] [stdout] --> src/scanner.rs:452:4 [INFO] [stdout] | [INFO] [stdout] 452 | fn next_element(input: &str) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exchange_commodities` is never used [INFO] [stdout] --> src/value.rs:15:15 [INFO] [stdout] | [INFO] [stdout] 15 | pub(crate) fn exchange_commodities( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `value` is never used [INFO] [stdout] --> src/value.rs:31:4 [INFO] [stdout] | [INFO] [stdout] 31 | fn value(moment: &NaiveDateTime, in_terms_of: Option<&Commodity>, pool: &CommodityPool) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `amount_value` is never used [INFO] [stdout] --> src/value.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | fn amount_value(moment: &NaiveDateTime, in_terms_of: Option<&Commodity>, pool: &CommodityPool) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell` [INFO] [stdout] --> src/pool.rs:91:28 [INFO] [stdout] | [INFO] [stdout] 90 | let mut_ptr = cdty_ptr as *mut Commodity; [INFO] [stdout] | -------------------------- casting happened here [INFO] [stdout] 91 | let mut_cdty = &mut *mut_ptr; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: `#[warn(invalid_reference_casting)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/scanner.rs:193:32 [INFO] [stdout] | [INFO] [stdout] 193 | pub(crate) fn scan_post(input: &str) -> PostTokens { [INFO] [stdout] | ^^^^ ---------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 193 | pub(crate) fn scan_post(input: &str) -> PostTokens<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/scanner.rs:248:27 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn scan_amount(input: &str) -> (AmountTokens, &str) { [INFO] [stdout] | ^^^^ ------------ ---- the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 248 | pub fn scan_amount(input: &str) -> (AmountTokens<'_>, &str) { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/scanner.rs:267:28 [INFO] [stdout] | [INFO] [stdout] 267 | fn scan_annotations(input: &str) -> (AnnotationTokens, &str) { [INFO] [stdout] | ^^^^ ---------------- ---- the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 267 | fn scan_annotations(input: &str) -> (AnnotationTokens<'_>, &str) { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/scanner.rs:368:21 [INFO] [stdout] | [INFO] [stdout] 368 | fn scan_cost(input: &str) -> CostTokens { [INFO] [stdout] | ^^^^ ---------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 368 | fn scan_cost(input: &str) -> CostTokens<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling test-log v0.2.12 [INFO] [stderr] Compiling ledger-rs-lib v0.7.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `pool::CommodityIndex` [INFO] [stdout] --> tests/ext-parser-tests.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | pool::CommodityIndex, parse_text, commodity::Commodity, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expected` [INFO] [stdout] --> tests/ext-report-tests.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | let expected = r#"Account Balances [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `actual` [INFO] [stdout] --> tests/ext-report-tests.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | let actual = ledger_rs_lib::run_command("b -f tests/multiple_currencies.ledger"); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_actual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_account_filter` is never used [INFO] [stdout] --> tests/ext-report-tests.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | fn test_account_filter() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_balance_multiple_currencies` is never used [INFO] [stdout] --> tests/ext-report-tests.rs:77:4 [INFO] [stdout] | [INFO] [stdout] 77 | fn test_balance_multiple_currencies() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_include` is never used [INFO] [stdout] --> tests/ext-parser-tests.rs:75:4 [INFO] [stdout] | [INFO] [stdout] 75 | fn test_include() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_lot_sale` is never used [INFO] [stdout] --> tests/ext-parser-tests.rs:167:4 [INFO] [stdout] | [INFO] [stdout] 167 | fn test_lot_sale() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_parsing_trade_lot` is never used [INFO] [stdout] --> tests/ext-parser-tests.rs:200:4 [INFO] [stdout] | [INFO] [stdout] 200 | fn test_parsing_trade_lot() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_price_reading` is never used [INFO] [stdout] --> tests/functional-tests.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn test_price_reading() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_commodity_conversion_with_price` is never used [INFO] [stdout] --> tests/functional-tests.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn test_commodity_conversion_with_price() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PricePoint` [INFO] [stdout] --> src/history.rs:284:38 [INFO] [stdout] | [INFO] [stdout] 284 | commodity::{self, Commodity, PricePoint}, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell` [INFO] [stdout] --> tests/poc.rs:127:28 [INFO] [stdout] | [INFO] [stdout] 117 | let eur_mut_ptr = eur_ptr as *mut Commodity; [INFO] [stdout] | ------------------------- casting happened here [INFO] [stdout] ... [INFO] [stdout] 127 | expected_mut_ref = &mut*eur_mut_ptr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: `#[warn(invalid_reference_casting)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> src/commodity.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | let target = commodity; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `moment` [INFO] [stdout] --> src/commodity.rs:44:49 [INFO] [stdout] | [INFO] [stdout] 44 | pub(crate) fn find_price(commodity: &Commodity, moment: NaiveDateTime, oldest: NaiveDateTime) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `oldest` [INFO] [stdout] --> src/commodity.rs:44:72 [INFO] [stdout] | [INFO] [stdout] 44 | pub(crate) fn find_price(commodity: &Commodity, moment: NaiveDateTime, oldest: NaiveDateTime) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_oldest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `moment` [INFO] [stdout] --> src/history.rs:106:9 [INFO] [stdout] | [INFO] [stdout] 106 | moment: NaiveDateTime, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `oldest` [INFO] [stdout] --> src/history.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | oldest: NaiveDateTime, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_oldest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/history.rs:115:80 [INFO] [stdout] | [INFO] [stdout] 115 | let shortest_path = astar(&self.0, source, |finish| finish == target, |e| 1, |_| 0); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cdty_index` [INFO] [stdout] --> src/history.rs:295:13 [INFO] [stdout] | [INFO] [stdout] 295 | let cdty_index = hist.add_commodity(&c); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cdty_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/journalreader.rs:21:13 [INFO] [stdout] | [INFO] [stdout] 21 | let x = JournalReader::new(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `option_name` [INFO] [stdout] --> src/option.rs:54:17 [INFO] [stdout] | [INFO] [stdout] 54 | let option_name = &arg[2..]; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_option_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `options` [INFO] [stdout] --> src/option.rs:374:24 [INFO] [stdout] | [INFO] [stdout] 374 | let (commands, options) = process_arguments(args); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `commands` [INFO] [stdout] --> src/option.rs:387:14 [INFO] [stdout] | [INFO] [stdout] 387 | let (commands, options) = process_arguments(args); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_commands` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `commands` [INFO] [stdout] --> src/option.rs:397:14 [INFO] [stdout] | [INFO] [stdout] 397 | let (commands, options) = process_arguments(args); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_commands` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:342:13 [INFO] [stdout] | [INFO] [stdout] 342 | let mut file_found = false; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `journal` [INFO] [stdout] --> src/report.rs:99:64 [INFO] [stdout] | [INFO] [stdout] 99 | fn format_balance_report(mut balances: Vec<(String, Balance)>, journal: &Journal) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_journal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target_commodity` [INFO] [stdout] --> src/report.rs:135:11 [INFO] [stdout] | [INFO] [stdout] 135 | fn market(target_commodity: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_commodity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `aux_date` [INFO] [stdout] --> src/scanner.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | let aux_date: &str; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aux_date` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cdty` [INFO] [stdout] --> src/value.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 23 | let cdty = pool.find_or_create(commodities, None); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cdty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `add_prices` [INFO] [stdout] --> src/value.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | add_prices: bool, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_add_prices` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `moment` [INFO] [stdout] --> src/value.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | moment: &NaiveDateTime, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `point` [INFO] [stdout] --> src/value.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | let point: Option; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_point` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `moment` [INFO] [stdout] --> src/value.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | fn amount_value(moment: &NaiveDateTime, in_terms_of: Option<&Commodity>, pool: &CommodityPool) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `in_terms_of` [INFO] [stdout] --> src/value.rs:43:41 [INFO] [stdout] | [INFO] [stdout] 43 | fn amount_value(moment: &NaiveDateTime, in_terms_of: Option<&Commodity>, pool: &CommodityPool) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_in_terms_of` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pool` [INFO] [stdout] --> src/value.rs:43:74 [INFO] [stdout] | [INFO] [stdout] 43 | fn amount_value(moment: &NaiveDateTime, in_terms_of: Option<&Commodity>, pool: &CommodityPool) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_pool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `null_post` is never read [INFO] [stdout] --> src/xact.rs:273:9 [INFO] [stdout] | [INFO] [stdout] 273 | null_post = std::ptr::null_mut(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `command_args` [INFO] [stdout] --> src/lib.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | let command_args = &commands[1..]; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `verb` [INFO] [stdout] --> src/lib.rs:124:24 [INFO] [stdout] | [INFO] [stdout] 124 | fn look_for_precommand(verb: &str) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_verb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `look_for_precommand` is never used [INFO] [stdout] --> src/lib.rs:124:4 [INFO] [stdout] | [INFO] [stdout] 124 | fn look_for_precommand(verb: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_price` is never used [INFO] [stdout] --> src/commodity.rs:44:15 [INFO] [stdout] | [INFO] [stdout] 44 | pub(crate) fn find_price(commodity: &Commodity, moment: NaiveDateTime, oldest: NaiveDateTime) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/directives.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | Xact(Xact) [INFO] [stdout] | ---- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `DirectiveType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 13 - Xact(Xact) [INFO] [stdout] 13 + Xact(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Comment` and `Price` are never constructed [INFO] [stdout] --> src/directives.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum DirectiveType { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 11 | Comment, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 12 | Price, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DirectiveType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `map_prices` and `print_map` are never used [INFO] [stdout] --> src/history.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl CommodityHistory { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn map_prices(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | fn print_map(&self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_calculate_rate` is never used [INFO] [stdout] --> src/history.rs:425:8 [INFO] [stdout] | [INFO] [stdout] 425 | fn test_calculate_rate() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_find_price_2_hops` is never used [INFO] [stdout] --> src/history.rs:452:8 [INFO] [stdout] | [INFO] [stdout] 452 | fn test_find_price_2_hops() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Kind` is never used [INFO] [stdout] --> src/option.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum Kind { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_option` is never used [INFO] [stdout] --> src/option.rs:119:4 [INFO] [stdout] | [INFO] [stdout] 119 | fn find_option(letter: char) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lookup_option_global` is never used [INFO] [stdout] --> src/option.rs:130:4 [INFO] [stdout] | [INFO] [stdout] 130 | fn lookup_option_global(kind: Kind, letter: char) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process_option` is never used [INFO] [stdout] --> src/option.rs:146:4 [INFO] [stdout] | [INFO] [stdout] 146 | fn process_option(whence: String, value: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `session_lookup` is never used [INFO] [stdout] --> src/option.rs:163:4 [INFO] [stdout] | [INFO] [stdout] 163 | fn session_lookup(kind: Kind, name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `session_lookup_option` is never used [INFO] [stdout] --> src/option.rs:178:4 [INFO] [stdout] | [INFO] [stdout] 178 | fn session_lookup_option(option: char) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lookup_report` is never used [INFO] [stdout] --> src/option.rs:203:4 [INFO] [stdout] | [INFO] [stdout] 203 | fn lookup_report(kind: Kind, name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lookup_option_report` is never used [INFO] [stdout] --> src/option.rs:269:4 [INFO] [stdout] | [INFO] [stdout] 269 | fn lookup_option_report(letter: char) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `general_directive` and `include_directive` are never used [INFO] [stdout] --> src/parser.rs:195:8 [INFO] [stdout] | [INFO] [stdout] 94 | impl<'j, T: Read> Parser<'j, T> { [INFO] [stdout] | ------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 195 | fn general_directive(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 325 | fn include_directive(&self, argument: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_general_directive` is never used [INFO] [stdout] --> src/parser.rs:493:8 [INFO] [stdout] | [INFO] [stdout] 493 | fn test_general_directive() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `null_commodity` and `default_commodity` are never read [INFO] [stdout] --> src/pool.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct CommodityPool { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 32 | null_commodity: *const Commodity, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 33 | default_commodity: *const Commodity, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_exchange` is never used [INFO] [stdout] --> src/pool.rs:399:8 [INFO] [stdout] | [INFO] [stdout] 399 | fn test_exchange() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_exchange_implicit` is never used [INFO] [stdout] --> src/pool.rs:413:8 [INFO] [stdout] | [INFO] [stdout] 413 | fn test_exchange_implicit() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `report_commodities` is never used [INFO] [stdout] --> src/report.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn report_commodities() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `report_payees` is never used [INFO] [stdout] --> src/report.rs:24:4 [INFO] [stdout] | [INFO] [stdout] 24 | fn report_payees() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_account_balances` is never used [INFO] [stdout] --> src/report.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn get_account_balances(journal: &Journal) -> Vec<(&str, Balance)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_balance_report` is never used [INFO] [stdout] --> src/report.rs:99:4 [INFO] [stdout] | [INFO] [stdout] 99 | fn format_balance_report(mut balances: Vec<(String, Balance)>, journal: &Journal) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `market` is never used [INFO] [stdout] --> src/report.rs:135:4 [INFO] [stdout] | [INFO] [stdout] 135 | fn market(target_commodity: &str) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_bal_market_prices` is never used [INFO] [stdout] --> src/report.rs:219:8 [INFO] [stdout] | [INFO] [stdout] 219 | fn test_bal_market_prices() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `next_element` is never used [INFO] [stdout] --> src/scanner.rs:452:4 [INFO] [stdout] | [INFO] [stdout] 452 | fn next_element(input: &str) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `exchange_commodities` is never used [INFO] [stdout] --> src/value.rs:15:15 [INFO] [stdout] | [INFO] [stdout] 15 | pub(crate) fn exchange_commodities( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `value` is never used [INFO] [stdout] --> src/value.rs:31:4 [INFO] [stdout] | [INFO] [stdout] 31 | fn value(moment: &NaiveDateTime, in_terms_of: Option<&Commodity>, pool: &CommodityPool) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `amount_value` is never used [INFO] [stdout] --> src/value.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | fn amount_value(moment: &NaiveDateTime, in_terms_of: Option<&Commodity>, pool: &CommodityPool) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_exchange` is never used [INFO] [stdout] --> src/value.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | fn test_exchange() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell` [INFO] [stdout] --> src/pool.rs:91:28 [INFO] [stdout] | [INFO] [stdout] 90 | let mut_ptr = cdty_ptr as *mut Commodity; [INFO] [stdout] | -------------------------- casting happened here [INFO] [stdout] 91 | let mut_cdty = &mut *mut_ptr; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: `#[warn(invalid_reference_casting)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/scanner.rs:193:32 [INFO] [stdout] | [INFO] [stdout] 193 | pub(crate) fn scan_post(input: &str) -> PostTokens { [INFO] [stdout] | ^^^^ ---------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 193 | pub(crate) fn scan_post(input: &str) -> PostTokens<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/scanner.rs:248:27 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn scan_amount(input: &str) -> (AmountTokens, &str) { [INFO] [stdout] | ^^^^ ------------ ---- the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 248 | pub fn scan_amount(input: &str) -> (AmountTokens<'_>, &str) { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/scanner.rs:267:28 [INFO] [stdout] | [INFO] [stdout] 267 | fn scan_annotations(input: &str) -> (AnnotationTokens, &str) { [INFO] [stdout] | ^^^^ ---------------- ---- the same lifetime is elided here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 267 | fn scan_annotations(input: &str) -> (AnnotationTokens<'_>, &str) { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/scanner.rs:368:21 [INFO] [stdout] | [INFO] [stdout] 368 | fn scan_cost(input: &str) -> CostTokens { [INFO] [stdout] | ^^^^ ---------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 368 | fn scan_cost(input: &str) -> CostTokens<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 7.11s [INFO] running `Command { std: "docker" "inspect" "d61925faa4c92ab7cdd76ae72c97bc6ccc52f488455f0f7e8c9934ea52a64876", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d61925faa4c92ab7cdd76ae72c97bc6ccc52f488455f0f7e8c9934ea52a64876", kill_on_drop: false }` [INFO] [stdout] d61925faa4c92ab7cdd76ae72c97bc6ccc52f488455f0f7e8c9934ea52a64876 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 729325f16a0d670ca1945c8ded7c0be1cf0ec3bff0cd6603930a2060404f8ec3 [INFO] running `Command { std: "docker" "start" "-a" "729325f16a0d670ca1945c8ded7c0be1cf0ec3bff0cd6603930a2060404f8ec3", kill_on_drop: false }` [INFO] [stderr] warning: unused variable: `target` [INFO] [stderr] --> src/commodity.rs:46:9 [INFO] [stderr] | [INFO] [stderr] 46 | let target = commodity; [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `moment` [INFO] [stderr] --> src/commodity.rs:44:49 [INFO] [stderr] | [INFO] [stderr] 44 | pub(crate) fn find_price(commodity: &Commodity, moment: NaiveDateTime, oldest: NaiveDateTime) { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moment` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `oldest` [INFO] [stderr] --> src/commodity.rs:44:72 [INFO] [stderr] | [INFO] [stderr] 44 | pub(crate) fn find_price(commodity: &Commodity, moment: NaiveDateTime, oldest: NaiveDateTime) { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_oldest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `moment` [INFO] [stderr] --> src/history.rs:106:9 [INFO] [stderr] | [INFO] [stderr] 106 | moment: NaiveDateTime, [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moment` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `oldest` [INFO] [stderr] --> src/history.rs:107:9 [INFO] [stderr] | [INFO] [stderr] 107 | oldest: NaiveDateTime, [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_oldest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/history.rs:115:80 [INFO] [stderr] | [INFO] [stderr] 115 | let shortest_path = astar(&self.0, source, |finish| finish == target, |e| 1, |_| 0); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `option_name` [INFO] [stderr] --> src/option.rs:54:17 [INFO] [stderr] | [INFO] [stderr] 54 | let option_name = &arg[2..]; [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_option_name` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/parser.rs:342:13 [INFO] [stderr] | [INFO] [stderr] 342 | let mut file_found = false; [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `journal` [INFO] [stderr] --> src/report.rs:99:64 [INFO] [stderr] | [INFO] [stderr] 99 | fn format_balance_report(mut balances: Vec<(String, Balance)>, journal: &Journal) -> Vec { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_journal` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `target_commodity` [INFO] [stderr] --> src/report.rs:135:11 [INFO] [stderr] | [INFO] [stderr] 135 | fn market(target_commodity: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_commodity` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `aux_date` [INFO] [stderr] --> src/scanner.rs:139:9 [INFO] [stderr] | [INFO] [stderr] 139 | let aux_date: &str; [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aux_date` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cdty` [INFO] [stderr] --> src/value.rs:23:13 [INFO] [stderr] | [INFO] [stderr] 23 | let cdty = pool.find_or_create(commodities, None); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cdty` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `add_prices` [INFO] [stderr] --> src/value.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | add_prices: bool, [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_add_prices` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `moment` [INFO] [stderr] --> src/value.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | moment: &NaiveDateTime, [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moment` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `point` [INFO] [stderr] --> src/value.rs:46:9 [INFO] [stderr] | [INFO] [stderr] 46 | let point: Option; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_point` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `moment` [INFO] [stderr] --> src/value.rs:43:17 [INFO] [stderr] | [INFO] [stderr] 43 | fn amount_value(moment: &NaiveDateTime, in_terms_of: Option<&Commodity>, pool: &CommodityPool) { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_moment` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `in_terms_of` [INFO] [stderr] --> src/value.rs:43:41 [INFO] [stderr] | [INFO] [stderr] 43 | fn amount_value(moment: &NaiveDateTime, in_terms_of: Option<&Commodity>, pool: &CommodityPool) { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_in_terms_of` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pool` [INFO] [stderr] --> src/value.rs:43:74 [INFO] [stderr] | [INFO] [stderr] 43 | fn amount_value(moment: &NaiveDateTime, in_terms_of: Option<&Commodity>, pool: &CommodityPool) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_pool` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `null_post` is never read [INFO] [stderr] --> src/xact.rs:273:9 [INFO] [stderr] | [INFO] [stderr] 273 | null_post = std::ptr::null_mut(); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `command_args` [INFO] [stderr] --> src/lib.rs:94:9 [INFO] [stderr] | [INFO] [stderr] 94 | let command_args = &commands[1..]; [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command_args` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `verb` [INFO] [stderr] --> src/lib.rs:124:24 [INFO] [stderr] | [INFO] [stderr] 124 | fn look_for_precommand(verb: &str) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_verb` [INFO] [stderr] [INFO] [stderr] warning: function `look_for_precommand` is never used [INFO] [stderr] --> src/lib.rs:124:4 [INFO] [stderr] | [INFO] [stderr] 124 | fn look_for_precommand(verb: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `find_price` is never used [INFO] [stderr] --> src/commodity.rs:44:15 [INFO] [stderr] | [INFO] [stderr] 44 | pub(crate) fn find_price(commodity: &Commodity, moment: NaiveDateTime, oldest: NaiveDateTime) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `PricePoint` is never constructed [INFO] [stderr] --> src/commodity.rs:63:19 [INFO] [stderr] | [INFO] [stderr] 63 | pub(crate) struct PricePoint { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/commodity.rs:69:12 [INFO] [stderr] | [INFO] [stderr] 68 | impl PricePoint { [INFO] [stderr] | --------------- associated function in this implementation [INFO] [stderr] 69 | pub fn new(when: NaiveDateTime, price: Amount) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `DirectiveType` is never used [INFO] [stderr] --> src/directives.rs:10:11 [INFO] [stderr] | [INFO] [stderr] 10 | pub enum DirectiveType { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `map_prices`, `find_price`, `calculate_rate`, `get_direct_price`, and `print_map` are never used [INFO] [stderr] --> src/history.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 38 | impl CommodityHistory { [INFO] [stderr] | --------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 97 | pub fn map_prices(&self) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 102 | pub fn find_price( [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 152 | fn calculate_rate(&self, source: CommodityIndex, target_ptr: *const Commodity, path: Vec) -> (NaiveDateTime, Quantity) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 195 | pub fn get_direct_price( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 213 | fn print_map(&self) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_latest_price` is never used [INFO] [stderr] --> src/history.rs:237:4 [INFO] [stderr] | [INFO] [stderr] 237 | fn get_latest_price( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `SimpleParserIter` is never constructed [INFO] [stderr] --> src/iterator.rs:10:12 [INFO] [stderr] | [INFO] [stderr] 10 | pub struct SimpleParserIter { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/iterator.rs:16:12 [INFO] [stderr] | [INFO] [stderr] 15 | impl SimpleParserIter { [INFO] [stderr] | --------------------- associated function in this implementation [INFO] [stderr] 16 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `JournalReader` is never constructed [INFO] [stderr] --> src/journalreader.rs:7:19 [INFO] [stderr] | [INFO] [stderr] 7 | pub(crate) struct JournalReader {} [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/journalreader.rs:10:12 [INFO] [stderr] | [INFO] [stderr] 9 | impl JournalReader { [INFO] [stderr] | ------------------ associated function in this implementation [INFO] [stderr] 10 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `Kind` is never used [INFO] [stderr] --> src/option.rs:12:10 [INFO] [stderr] | [INFO] [stderr] 12 | pub enum Kind { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `find_option` is never used [INFO] [stderr] --> src/option.rs:119:4 [INFO] [stderr] | [INFO] [stderr] 119 | fn find_option(letter: char) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `lookup_option_global` is never used [INFO] [stderr] --> src/option.rs:130:4 [INFO] [stderr] | [INFO] [stderr] 130 | fn lookup_option_global(kind: Kind, letter: char) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `process_option` is never used [INFO] [stderr] --> src/option.rs:146:4 [INFO] [stderr] | [INFO] [stderr] 146 | fn process_option(whence: String, value: Option) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `session_lookup` is never used [INFO] [stderr] --> src/option.rs:163:4 [INFO] [stderr] | [INFO] [stderr] 163 | fn session_lookup(kind: Kind, name: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `session_lookup_option` is never used [INFO] [stderr] --> src/option.rs:178:4 [INFO] [stderr] | [INFO] [stderr] 178 | fn session_lookup_option(option: char) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `lookup_report` is never used [INFO] [stderr] --> src/option.rs:203:4 [INFO] [stderr] | [INFO] [stderr] 203 | fn lookup_report(kind: Kind, name: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `lookup_option_report` is never used [INFO] [stderr] --> src/option.rs:269:4 [INFO] [stderr] | [INFO] [stderr] 269 | fn lookup_option_report(letter: char) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `general_directive` and `include_directive` are never used [INFO] [stderr] --> src/parser.rs:195:8 [INFO] [stderr] | [INFO] [stderr] 94 | impl<'j, T: Read> Parser<'j, T> { [INFO] [stderr] | ------------------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 195 | fn general_directive(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 325 | fn include_directive(&self, argument: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `null_commodity` and `default_commodity` are never read [INFO] [stderr] --> src/pool.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 24 | pub struct CommodityPool { [INFO] [stderr] | ------------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 32 | null_commodity: *const Commodity, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 33 | default_commodity: *const Commodity, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `report_commodities` is never used [INFO] [stderr] --> src/report.rs:20:4 [INFO] [stderr] | [INFO] [stderr] 20 | fn report_commodities() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `report_payees` is never used [INFO] [stderr] --> src/report.rs:24:4 [INFO] [stderr] | [INFO] [stderr] 24 | fn report_payees() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_account_balances` is never used [INFO] [stderr] --> src/report.rs:76:4 [INFO] [stderr] | [INFO] [stderr] 76 | fn get_account_balances(journal: &Journal) -> Vec<(&str, Balance)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `format_balance_report` is never used [INFO] [stderr] --> src/report.rs:99:4 [INFO] [stderr] | [INFO] [stderr] 99 | fn format_balance_report(mut balances: Vec<(String, Balance)>, journal: &Journal) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `market` is never used [INFO] [stderr] --> src/report.rs:135:4 [INFO] [stderr] | [INFO] [stderr] 135 | fn market(target_commodity: &str) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `remainder` is never read [INFO] [stderr] --> src/scanner.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 61 | struct CostTokens<'a> { [INFO] [stderr] | ---------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 65 | pub remainder: &'a str, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `next_element` is never used [INFO] [stderr] --> src/scanner.rs:452:4 [INFO] [stderr] | [INFO] [stderr] 452 | fn next_element(input: &str) -> Option<&str> { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `exchange_commodities` is never used [INFO] [stderr] --> src/value.rs:15:15 [INFO] [stderr] | [INFO] [stderr] 15 | pub(crate) fn exchange_commodities( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `value` is never used [INFO] [stderr] --> src/value.rs:31:4 [INFO] [stderr] | [INFO] [stderr] 31 | fn value(moment: &NaiveDateTime, in_terms_of: Option<&Commodity>, pool: &CommodityPool) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `amount_value` is never used [INFO] [stderr] --> src/value.rs:43:4 [INFO] [stderr] | [INFO] [stderr] 43 | fn amount_value(moment: &NaiveDateTime, in_terms_of: Option<&Commodity>, pool: &CommodityPool) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell` [INFO] [stderr] --> src/pool.rs:91:28 [INFO] [stderr] | [INFO] [stderr] 90 | let mut_ptr = cdty_ptr as *mut Commodity; [INFO] [stderr] | -------------------------- casting happened here [INFO] [stderr] 91 | let mut_cdty = &mut *mut_ptr; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, visit [INFO] [stderr] = note: `#[warn(invalid_reference_casting)]` on by default [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/scanner.rs:193:32 [INFO] [stderr] | [INFO] [stderr] 193 | pub(crate) fn scan_post(input: &str) -> PostTokens { [INFO] [stderr] | ^^^^ ---------- the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 193 | pub(crate) fn scan_post(input: &str) -> PostTokens<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/scanner.rs:248:27 [INFO] [stderr] | [INFO] [stderr] 248 | pub fn scan_amount(input: &str) -> (AmountTokens, &str) { [INFO] [stderr] | ^^^^ ------------ ---- the same lifetime is elided here [INFO] [stderr] | | | [INFO] [stderr] | | the same lifetime is hidden here [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 248 | pub fn scan_amount(input: &str) -> (AmountTokens<'_>, &str) { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/scanner.rs:267:28 [INFO] [stderr] | [INFO] [stderr] 267 | fn scan_annotations(input: &str) -> (AnnotationTokens, &str) { [INFO] [stderr] | ^^^^ ---------------- ---- the same lifetime is elided here [INFO] [stderr] | | | [INFO] [stderr] | | the same lifetime is hidden here [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 267 | fn scan_annotations(input: &str) -> (AnnotationTokens<'_>, &str) { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/scanner.rs:368:21 [INFO] [stderr] | [INFO] [stderr] 368 | fn scan_cost(input: &str) -> CostTokens { [INFO] [stderr] | ^^^^ ---------- the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 368 | fn scan_cost(input: &str) -> CostTokens<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: `ledger-rs-lib` (lib) generated 57 warnings (run `cargo fix --lib -p ledger-rs-lib` to apply 1 suggestion) [INFO] [stderr] warning: unused import: `PricePoint` [INFO] [stderr] --> src/history.rs:284:38 [INFO] [stderr] | [INFO] [stderr] 284 | commodity::{self, Commodity, PricePoint}, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cdty_index` [INFO] [stderr] --> src/history.rs:295:13 [INFO] [stderr] | [INFO] [stderr] 295 | let cdty_index = hist.add_commodity(&c); [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cdty_index` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> src/journalreader.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | let x = JournalReader::new(); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `options` [INFO] [stderr] --> src/option.rs:374:24 [INFO] [stderr] | [INFO] [stderr] 374 | let (commands, options) = process_arguments(args); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `commands` [INFO] [stderr] --> src/option.rs:387:14 [INFO] [stderr] | [INFO] [stderr] 387 | let (commands, options) = process_arguments(args); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_commands` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `commands` [INFO] [stderr] --> src/option.rs:397:14 [INFO] [stderr] | [INFO] [stderr] 397 | let (commands, options) = process_arguments(args); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_commands` [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/directives.rs:13:10 [INFO] [stderr] | [INFO] [stderr] 13 | Xact(Xact) [INFO] [stderr] | ---- ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `DirectiveType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 13 - Xact(Xact) [INFO] [stderr] 13 + Xact(()) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: variants `Comment` and `Price` are never constructed [INFO] [stderr] --> src/directives.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 10 | pub enum DirectiveType { [INFO] [stderr] | ------------- variants in this enum [INFO] [stderr] 11 | Comment, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 12 | Price, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `DirectiveType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `map_prices` and `print_map` are never used [INFO] [stderr] --> src/history.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 38 | impl CommodityHistory { [INFO] [stderr] | --------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 97 | pub fn map_prices(&self) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 213 | fn print_map(&self) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `test_calculate_rate` is never used [INFO] [stderr] --> src/history.rs:425:8 [INFO] [stderr] | [INFO] [stderr] 425 | fn test_calculate_rate() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `test_find_price_2_hops` is never used [INFO] [stderr] --> src/history.rs:452:8 [INFO] [stderr] | [INFO] [stderr] 452 | fn test_find_price_2_hops() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `test_general_directive` is never used [INFO] [stderr] --> src/parser.rs:493:8 [INFO] [stderr] | [INFO] [stderr] 493 | fn test_general_directive() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `test_exchange` is never used [INFO] [stderr] --> src/pool.rs:399:8 [INFO] [stderr] | [INFO] [stderr] 399 | fn test_exchange() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `test_exchange_implicit` is never used [INFO] [stderr] --> src/pool.rs:413:8 [INFO] [stderr] | [INFO] [stderr] 413 | fn test_exchange_implicit() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `test_bal_market_prices` is never used [INFO] [stderr] --> src/report.rs:219:8 [INFO] [stderr] | [INFO] [stderr] 219 | fn test_bal_market_prices() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `test_exchange` is never used [INFO] [stderr] --> src/value.rs:60:8 [INFO] [stderr] | [INFO] [stderr] 60 | fn test_exchange() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `test_price_reading` is never used [INFO] [stderr] --> tests/functional-tests.rs:12:4 [INFO] [stderr] | [INFO] [stderr] 12 | fn test_price_reading() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `test_commodity_conversion_with_price` is never used [INFO] [stderr] --> tests/functional-tests.rs:26:4 [INFO] [stderr] | [INFO] [stderr] 26 | fn test_commodity_conversion_with_price() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell` [INFO] [stderr] --> tests/poc.rs:127:28 [INFO] [stderr] | [INFO] [stderr] 117 | let eur_mut_ptr = eur_ptr as *mut Commodity; [INFO] [stderr] | ------------------------- casting happened here [INFO] [stderr] ... [INFO] [stderr] 127 | expected_mut_ref = &mut*eur_mut_ptr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, visit [INFO] [stderr] = note: `#[warn(invalid_reference_casting)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `expected` [INFO] [stderr] --> tests/ext-report-tests.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | let expected = r#"Account Balances [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `actual` [INFO] [stderr] --> tests/ext-report-tests.rs:78:9 [INFO] [stderr] | [INFO] [stderr] 78 | let actual = ledger_rs_lib::run_command("b -f tests/multiple_currencies.ledger"); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_actual` [INFO] [stderr] [INFO] [stderr] warning: function `test_account_filter` is never used [INFO] [stderr] --> tests/ext-report-tests.rs:43:4 [INFO] [stderr] | [INFO] [stderr] 43 | fn test_account_filter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `test_balance_multiple_currencies` is never used [INFO] [stderr] --> tests/ext-report-tests.rs:77:4 [INFO] [stderr] | [INFO] [stderr] 77 | fn test_balance_multiple_currencies() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `pool::CommodityIndex` [INFO] [stderr] --> tests/ext-parser-tests.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | pool::CommodityIndex, parse_text, commodity::Commodity, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `test_include` is never used [INFO] [stderr] --> tests/ext-parser-tests.rs:75:4 [INFO] [stderr] | [INFO] [stderr] 75 | fn test_include() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `test_lot_sale` is never used [INFO] [stderr] --> tests/ext-parser-tests.rs:167:4 [INFO] [stderr] | [INFO] [stderr] 167 | fn test_lot_sale() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `test_parsing_trade_lot` is never used [INFO] [stderr] --> tests/ext-parser-tests.rs:200:4 [INFO] [stderr] | [INFO] [stderr] 200 | fn test_parsing_trade_lot() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `ledger-rs-lib` (lib test) generated 63 warnings (47 duplicates) (run `cargo fix --lib -p ledger-rs-lib --tests` to apply 1 suggestion) [INFO] [stderr] warning: `ledger-rs-lib` (test "functional-tests") generated 2 warnings [INFO] [stderr] warning: `ledger-rs-lib` (test "poc") generated 1 warning [INFO] [stderr] warning: `ledger-rs-lib` (test "ext-report-tests") generated 4 warnings [INFO] [stderr] warning: `ledger-rs-lib` (test "ext-parser-tests") generated 4 warnings (run `cargo fix --test "ext-parser-tests"` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ledger_rs_lib-3fc48217c1b00634) [INFO] [stdout] [INFO] [stdout] running 115 tests [INFO] [stderr] [INFO] [stderr] thread 'account::tests::test_parent_pointer' panicked at src/amount.rs:86:49: [INFO] [stderr] null pointer dereference occurred [INFO] [stderr] stack backtrace: [INFO] [stderr] 0: 0x5ea0d9ba4bd2 - std::backtrace_rs::backtrace::libunwind::trace::h2d45396358f41939 [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stderr] 1: 0x5ea0d9ba4bd2 - std::backtrace_rs::backtrace::trace_unsynchronized::hffcefc0b67f1d6e2 [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stderr] 2: 0x5ea0d9ba4bd2 - std::sys::backtrace::_print_fmt::hd72f71d23b436b92 [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:66:9 [INFO] [stderr] 3: 0x5ea0d9ba4bd2 - ::fmt::hdcfcb6d4c8489523 [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:39:26 [INFO] [stderr] 4: 0x5ea0d9bcc373 - core::fmt::rt::Argument::fmt::h2c56b3114963061a [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/fmt/rt.rs:173:76 [INFO] [stderr] 5: 0x5ea0d9bcc373 - core::fmt::write::h8a494366950f23bb [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/fmt/mod.rs:1468:25 [INFO] [stderr] 6: 0x5ea0d9ba1a33 - std::io::default_write_fmt::ha27fbccbc65eb6fa [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/io/mod.rs:639:11 [INFO] [stderr] 7: 0x5ea0d9ba1a33 - std::io::Write::write_fmt::h6556609fca33d0b1 [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/io/mod.rs:1954:13 [INFO] [stderr] 8: 0x5ea0d9ba4a22 - std::sys::backtrace::BacktraceLock::print::hb2a626a81e06b2dc [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:42:9 [INFO] [stderr] 9: 0x5ea0d9ba6349 - std::panicking::default_hook::{{closure}}::h4f78485264f12d10 [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:300:27 [INFO] [stderr] 10: 0x5ea0d9ba612b - std::panicking::default_hook::h2c66fc99e962531d [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:327:9 [INFO] [stderr] 11: 0x5ea0d9b037f4 - as core::ops::function::Fn>::call::hb6bd65493727d71a [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/boxed.rs:1985:9 [INFO] [stderr] 12: 0x5ea0d9b037f4 - test::test_main_with_exit_callback::{{closure}}::h60217ec76a0ece4a [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:145:21 [INFO] [stderr] 13: 0x5ea0d9ba6e1e - as core::ops::function::Fn>::call::h318e4efb8c1a5689 [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/boxed.rs:1985:9 [INFO] [stderr] 14: 0x5ea0d9ba6e1e - std::panicking::rust_panic_with_hook::h33ac55f64bbd807d [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:841:13 [INFO] [stderr] 15: 0x5ea0d9ba6ab6 - std::panicking::begin_panic_handler::{{closure}}::h30e7cb89678a57fe [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:699:13 [INFO] [stderr] 16: 0x5ea0d9ba50d9 - std::sys::backtrace::__rust_end_short_backtrace::hed60f27456c16ced [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:174:18 [INFO] [stderr] 17: 0x5ea0d9ba677d - __rustc[de2ca18b4c54d5b8]::rust_begin_unwind [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:697:5 [INFO] [stderr] 18: 0x5ea0d9bc9a0d - core::panicking::panic_nounwind_fmt::runtime::hde3dd742c40069fa [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panicking.rs:117:22 [INFO] [stderr] 19: 0x5ea0d9bc9a0d - core::panicking::panic_nounwind_fmt::h6c46f1098922b4b6 [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/intrinsics/mod.rs:2367:9 [INFO] [stderr] 20: 0x5ea0d9bc9c4e - core::panicking::panic_null_pointer_dereference::h1babc02c7367f174 [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panicking.rs:311:5 [INFO] [stderr] 21: 0x5ea0d982ee93 - ledger_rs_lib::amount::Amount::inverse::h59a540395f17b853 [INFO] [stderr] at /opt/rustwide/workdir/src/amount.rs:86:49 [INFO] [stderr] 22: 0x5ea0d986ded2 - ledger_rs_lib::xact::finalize::h7a238d628576f203 [INFO] [stderr] at /opt/rustwide/workdir/src/xact.rs:264:21 [INFO] [stderr] 23: 0x5ea0d98312e0 - ledger_rs_lib::parser::Parser::xact_directive::hda4bed2724536c24 [INFO] [stderr] at /opt/rustwide/workdir/src/parser.rs:320:9 [INFO] [stderr] 24: 0x5ea0d9830748 - ledger_rs_lib::parser::Parser::read_next_directive::h7a1dd8ee32b032ab [INFO] [stderr] at /opt/rustwide/workdir/src/parser.rs:162:30 [INFO] [stderr] 25: 0x5ea0d983001d - ledger_rs_lib::parser::Parser::parse::h97dc776c0b868979 [INFO] [stderr] at /opt/rustwide/workdir/src/parser.rs:122:32 [INFO] [stderr] 26: 0x5ea0d982fa0b - ledger_rs_lib::parser::read_into_journal::h41ae5aacc4940369 [INFO] [stderr] at /opt/rustwide/workdir/src/parser.rs:45:12 [INFO] [stderr] 27: 0x5ea0d984a808 - ledger_rs_lib::parse_text::hc264f41ecb5c3027 [INFO] [stderr] at /opt/rustwide/workdir/src/lib.rs:154:5 [INFO] [stderr] 28: 0x5ea0d983cf9a - ledger_rs_lib::account::tests::test_parent_pointer::h5f085a9030a1d5e9 [INFO] [stderr] at /opt/rustwide/workdir/src/account.rs:323:9 [INFO] [stderr] 29: 0x5ea0d983cf37 - ledger_rs_lib::account::tests::test_parent_pointer::{{closure}}::he77c1ca873d87144 [INFO] [stderr] at /opt/rustwide/workdir/src/account.rs:315:29 [INFO] [stderr] 30: 0x5ea0d98523c6 - core::ops::function::FnOnce::call_once::hba331dbcd4de09e3 [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:253:5 [INFO] [stderr] 31: 0x5ea0d9b0905b - core::ops::function::FnOnce::call_once::h1f9474f1347fff52 [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:253:5 [INFO] [stderr] 32: 0x5ea0d9b0905b - test::__rust_begin_short_backtrace::ha52ab26e77157f03 [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:648:18 [INFO] [stderr] 33: 0x5ea0d9b08195 - test::run_test_in_process::{{closure}}::h229c1a11a50b261f [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:671:74 [INFO] [stderr] 34: 0x5ea0d9b08195 - as core::ops::function::FnOnce<()>>::call_once::h78821afbf97b39a9 [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stderr] 35: 0x5ea0d9b08195 - std::panicking::catch_unwind::do_call::h53abf3ed5bd32ba3 [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:589:40 [INFO] [stderr] 36: 0x5ea0d9b08195 - std::panicking::catch_unwind::h6deb5fe1e91873c9 [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:552:19 [INFO] [stderr] 37: 0x5ea0d9b08195 - std::panic::catch_unwind::hea0829b6b565654b [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panic.rs:359:14 [INFO] [stderr] 38: 0x5ea0d9b08195 - test::run_test_in_process::hdc44dfecea3db21b [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:671:27 [INFO] [stderr] 39: 0x5ea0d9b08195 - test::run_test::{{closure}}::h0364ba59bf23f652 [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:592:43 [INFO] [stderr] 40: 0x5ea0d9acbd94 - test::run_test::{{closure}}::h32730b304eec05da [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/test/src/lib.rs:622:41 [INFO] [stderr] 41: 0x5ea0d9acbd94 - std::sys::backtrace::__rust_begin_short_backtrace::h177cb952fc54ad2c [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:158:18 [INFO] [stderr] 42: 0x5ea0d9acf76a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h119d903520007597 [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/thread/mod.rs:559:17 [INFO] [stderr] 43: 0x5ea0d9acf76a - as core::ops::function::FnOnce<()>>::call_once::hab88401d606702a6 [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stderr] 44: 0x5ea0d9acf76a - std::panicking::catch_unwind::do_call::h163fe12cca9901c2 [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:589:40 [INFO] [stderr] 45: 0x5ea0d9acf76a - std::panicking::catch_unwind::he81557d0e17cc1bc [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:552:19 [INFO] [stderr] 46: 0x5ea0d9acf76a - std::panic::catch_unwind::hc2b8e79c20593955 [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panic.rs:359:14 [INFO] [stderr] 47: 0x5ea0d9acf76a - std::thread::Builder::spawn_unchecked_::{{closure}}::hfa6b4978e07815cc [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/thread/mod.rs:557:30 [INFO] [stderr] 48: 0x5ea0d9acf76a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hddcd7484a13fd793 [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:253:5 [INFO] [stderr] 49: 0x5ea0d9ba9d9f - as core::ops::function::FnOnce>::call_once::h5924238c754de3b8 [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/boxed.rs:1971:9 [INFO] [stderr] 50: 0x5ea0d9ba9d9f - std::sys::pal::unix::thread::Thread::new::thread_start::hb6e99e73da4d28f8 [INFO] [stderr] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/pal/unix/thread.rs:107:17 [INFO] [stderr] 51: 0x7fdd55f13aa4 - [INFO] [stderr] 52: 0x7fdd55fa0a34 - clone [INFO] [stderr] 53: 0x0 - [INFO] [stderr] thread caused non-unwinding panic. aborting. [INFO] [stderr] error: test failed, to rerun pass `--lib` [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `/opt/rustwide/target/debug/deps/ledger_rs_lib-3fc48217c1b00634` (signal: 6, SIGABRT: process abort signal) [INFO] running `Command { std: "docker" "inspect" "729325f16a0d670ca1945c8ded7c0be1cf0ec3bff0cd6603930a2060404f8ec3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "729325f16a0d670ca1945c8ded7c0be1cf0ec3bff0cd6603930a2060404f8ec3", kill_on_drop: false }` [INFO] [stdout] 729325f16a0d670ca1945c8ded7c0be1cf0ec3bff0cd6603930a2060404f8ec3