[INFO] fetching crate ledger-rs-lib 0.7.0... [INFO] testing ledger-rs-lib-0.7.0 against beta-2025-09-21 for beta-1.91-3 [INFO] extracting crate ledger-rs-lib 0.7.0 into /workspace/builds/worker-0-tc2/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-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate ledger-rs-lib 0.7.0 on toolchain beta-2025-09-21 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "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" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 97816e5e0b9eef1b3921d61df3f53041bfd684b9a0c97acaca6a3d9100b607e6 [INFO] running `Command { std: "docker" "start" "-a" "97816e5e0b9eef1b3921d61df3f53041bfd684b9a0c97acaca6a3d9100b607e6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "97816e5e0b9eef1b3921d61df3f53041bfd684b9a0c97acaca6a3d9100b607e6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "97816e5e0b9eef1b3921d61df3f53041bfd684b9a0c97acaca6a3d9100b607e6", kill_on_drop: false }` [INFO] [stdout] 97816e5e0b9eef1b3921d61df3f53041bfd684b9a0c97acaca6a3d9100b607e6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 34bafb0ea17dc90f1a0dac5b27b92043f1aadf5bc2a519a04b40407b156660b0 [INFO] running `Command { std: "docker" "start" "-a" "34bafb0ea17dc90f1a0dac5b27b92043f1aadf5bc2a519a04b40407b156660b0", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.16 [INFO] [stderr] Compiling libc v0.2.147 [INFO] [stderr] Compiling memchr v2.6.3 [INFO] [stderr] Compiling rustix v0.38.11 [INFO] [stderr] Compiling regex-syntax v0.7.5 [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 hashbrown v0.14.0 [INFO] [stderr] Compiling rust_decimal v1.32.0 [INFO] [stderr] Compiling anyhow v1.0.75 [INFO] [stderr] Compiling log v0.4.20 [INFO] [stderr] Compiling iana-time-zone v0.1.57 [INFO] [stderr] Compiling termcolor v1.2.0 [INFO] [stderr] Compiling arrayvec v0.7.4 [INFO] [stderr] Compiling fixedbitset v0.4.2 [INFO] [stderr] Compiling shell-words v1.1.0 [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 time v0.1.45 [INFO] [stderr] Compiling petgraph v0.6.4 [INFO] [stderr] Compiling chrono v0.4.29 [INFO] [stderr] Compiling regex-automata v0.3.8 [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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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 11.14s [INFO] running `Command { std: "docker" "inspect" "34bafb0ea17dc90f1a0dac5b27b92043f1aadf5bc2a519a04b40407b156660b0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "34bafb0ea17dc90f1a0dac5b27b92043f1aadf5bc2a519a04b40407b156660b0", kill_on_drop: false }` [INFO] [stdout] 34bafb0ea17dc90f1a0dac5b27b92043f1aadf5bc2a519a04b40407b156660b0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 70aa7e6989c04ad3b30dc3355176edc35ffe99b50e6595b474e7cb618185a7ac [INFO] running `Command { std: "docker" "start" "-a" "70aa7e6989c04ad3b30dc3355176edc35ffe99b50e6595b474e7cb618185a7ac", 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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: 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)]` (part of `#[warn(unused)]`) 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 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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: 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)]` (part of `#[warn(unused)]`) 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 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)]` (part of `#[warn(unused)]`) on by default [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)]` (part of `#[warn(unused)]`) 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: 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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 6.68s [INFO] running `Command { std: "docker" "inspect" "70aa7e6989c04ad3b30dc3355176edc35ffe99b50e6595b474e7cb618185a7ac", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "70aa7e6989c04ad3b30dc3355176edc35ffe99b50e6595b474e7cb618185a7ac", kill_on_drop: false }` [INFO] [stdout] 70aa7e6989c04ad3b30dc3355176edc35ffe99b50e6595b474e7cb618185a7ac [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] f79258b6eb75d533d88818deff685cc467e692832de6a6949f3ab089f509ae85 [INFO] running `Command { std: "docker" "start" "-a" "f79258b6eb75d533d88818deff685cc467e692832de6a6949f3ab089f509ae85", 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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 5 suggestions) [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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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.19s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ledger_rs_lib-db17f526f2c1a335) [INFO] [stdout] [INFO] [stdout] running 115 tests [INFO] [stderr] [INFO] [stderr] thread 'account::tests::test_parent_pointer' (29) panicked at src/amount.rs:86:49: [INFO] [stderr] null pointer dereference occurred [INFO] [stderr] stack backtrace: [INFO] [stderr] 0: 0x5cfd9c095262 - std::backtrace_rs::backtrace::libunwind::trace::hcab59e1e990fdc24 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stderr] 1: 0x5cfd9c095262 - std::backtrace_rs::backtrace::trace_unsynchronized::he24cc57f3d2f47b7 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stderr] 2: 0x5cfd9c095262 - std::sys::backtrace::_print_fmt::hf8d65ede198eeb54 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:66:9 [INFO] [stderr] 3: 0x5cfd9c095262 - ::fmt::h67edf0e4d33c343c [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:39:26 [INFO] [stderr] 4: 0x5cfd9c0a735f - core::fmt::rt::Argument::fmt::hef94184842aeafdd [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/fmt/rt.rs:173:76 [INFO] [stderr] 5: 0x5cfd9c0a735f - core::fmt::write::hcf0c66b48a8fa606 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/fmt/mod.rs:1468:25 [INFO] [stderr] 6: 0x5cfd9c061921 - std::io::default_write_fmt::h1ecb8c7cfa7da481 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/io/mod.rs:639:11 [INFO] [stderr] 7: 0x5cfd9c061921 - std::io::Write::write_fmt::h051fe4a9e4fdbf48 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/io/mod.rs:1954:13 [INFO] [stderr] 8: 0x5cfd9c06e1e2 - std::sys::backtrace::BacktraceLock::print::h07e5435aa717b414 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:42:9 [INFO] [stderr] 9: 0x5cfd9c072f2f - std::panicking::default_hook::{{closure}}::h91001850288db5f7 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:301:27 [INFO] [stderr] 10: 0x5cfd9c072d89 - std::panicking::default_hook::h2346dbb704ef5512 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:328:9 [INFO] [stderr] 11: 0x5cfd9bfc8f6e - as core::ops::function::Fn>::call::h18383b2e29377420 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1999:9 [INFO] [stderr] 12: 0x5cfd9bfc8f6e - test::test_main_with_exit_callback::{{closure}}::h272d7ef99aef06dc [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:145:21 [INFO] [stderr] 13: 0x5cfd9c0735ef - as core::ops::function::Fn>::call::h6dba6e441651a0d1 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1999:9 [INFO] [stderr] 14: 0x5cfd9c0735ef - std::panicking::panic_with_hook::hd2b063a6090d23a4 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:842:13 [INFO] [stderr] 15: 0x5cfd9c073416 - std::panicking::panic_handler::{{closure}}::he666d95f139a333e [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:700:13 [INFO] [stderr] 16: 0x5cfd9c06e319 - std::sys::backtrace::__rust_end_short_backtrace::h631ad224854ebee5 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:174:18 [INFO] [stderr] 17: 0x5cfd9c05552d - __rustc[1d67440d6e82e4f]::rust_begin_unwind [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:698:5 [INFO] [stderr] 18: 0x5cfd9c0afb7d - core::panicking::panic_nounwind_fmt::runtime::hf619e8fd73995337 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panicking.rs:117:22 [INFO] [stderr] 19: 0x5cfd9c0afb7d - core::panicking::panic_nounwind_fmt::hc177e1bd7a48be0d [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/intrinsics/mod.rs:2435:9 [INFO] [stderr] 20: 0x5cfd9c0afd5d - core::panicking::panic_null_pointer_dereference::h0eafed6fbb56ab06 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panicking.rs:302:5 [INFO] [stderr] 21: 0x5cfd9bd3de63 - ledger_rs_lib::amount::Amount::inverse::h2872e063bbe1aeef [INFO] [stderr] at /opt/rustwide/workdir/src/amount.rs:86:49 [INFO] [stderr] 22: 0x5cfd9bd46702 - ledger_rs_lib::xact::finalize::had247389115083df [INFO] [stderr] at /opt/rustwide/workdir/src/xact.rs:264:21 [INFO] [stderr] 23: 0x5cfd9bd3ec20 - ledger_rs_lib::parser::Parser::xact_directive::h02be0d01f60040fd [INFO] [stderr] at /opt/rustwide/workdir/src/parser.rs:320:9 [INFO] [stderr] 24: 0x5cfd9bd3fb08 - ledger_rs_lib::parser::Parser::read_next_directive::h6a0bd225d72fa081 [INFO] [stderr] at /opt/rustwide/workdir/src/parser.rs:162:30 [INFO] [stderr] 25: 0x5cfd9bd4029d - ledger_rs_lib::parser::Parser::parse::h673a6a8fed7a5a1f [INFO] [stderr] at /opt/rustwide/workdir/src/parser.rs:122:32 [INFO] [stderr] 26: 0x5cfd9bd4057b - ledger_rs_lib::parser::read_into_journal::h44750ae34aca3df2 [INFO] [stderr] at /opt/rustwide/workdir/src/parser.rs:45:12 [INFO] [stderr] 27: 0x5cfd9bd15af8 - ledger_rs_lib::parse_text::hda7f17194de19ebb [INFO] [stderr] at /opt/rustwide/workdir/src/lib.rs:154:5 [INFO] [stderr] 28: 0x5cfd9bd206ba - ledger_rs_lib::account::tests::test_parent_pointer::h4b84c3b4ef75c509 [INFO] [stderr] at /opt/rustwide/workdir/src/account.rs:323:9 [INFO] [stderr] 29: 0x5cfd9bd208e7 - ledger_rs_lib::account::tests::test_parent_pointer::{{closure}}::hdd52ec6daf90d01d [INFO] [stderr] at /opt/rustwide/workdir/src/account.rs:315:29 [INFO] [stderr] 30: 0x5cfd9bd05166 - core::ops::function::FnOnce::call_once::h234707c883bec655 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5 [INFO] [stderr] 31: 0x5cfd9bfc8d2b - core::ops::function::FnOnce::call_once::h70887edf07a630ba [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5 [INFO] [stderr] 32: 0x5cfd9bfc8d2b - test::__rust_begin_short_backtrace::h27763c4cbbdb8601 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:663:18 [INFO] [stderr] 33: 0x5cfd9bfde995 - test::run_test_in_process::{{closure}}::h4dc8bc6d5e3924d3 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:686:74 [INFO] [stderr] 34: 0x5cfd9bfde995 - as core::ops::function::FnOnce<()>>::call_once::h75905e8ffe81974f [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stderr] 35: 0x5cfd9bfde995 - std::panicking::catch_unwind::do_call::h0bc60366ba66eba5 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590:40 [INFO] [stderr] 36: 0x5cfd9bfde995 - std::panicking::catch_unwind::hae1ec7bf94407afa [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553:19 [INFO] [stderr] 37: 0x5cfd9bfde995 - std::panic::catch_unwind::h0f4ff4773d84d3cd [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359:14 [INFO] [stderr] 38: 0x5cfd9bfde995 - test::run_test_in_process::h03fbc77ae48b3f10 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:686:27 [INFO] [stderr] 39: 0x5cfd9bfde995 - test::run_test::{{closure}}::h83476a9c453dc4d3 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:607:43 [INFO] [stderr] 40: 0x5cfd9bfb5184 - test::run_test::{{closure}}::h515482ad1e7fe7de [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:637:41 [INFO] [stderr] 41: 0x5cfd9bfb5184 - std::sys::backtrace::__rust_begin_short_backtrace::hed09f6ac5fe9d647 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:158:18 [INFO] [stderr] 42: 0x5cfd9bfb8a4a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h988e2cd969319888 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:559:17 [INFO] [stderr] 43: 0x5cfd9bfb8a4a - as core::ops::function::FnOnce<()>>::call_once::hd70e28dc46ec20be [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stderr] 44: 0x5cfd9bfb8a4a - std::panicking::catch_unwind::do_call::hdc29e11311eb7655 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590:40 [INFO] [stderr] 45: 0x5cfd9bfb8a4a - std::panicking::catch_unwind::h9e402d6a96fef41c [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553:19 [INFO] [stderr] 46: 0x5cfd9bfb8a4a - std::panic::catch_unwind::h9213c0c54aec70e0 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359:14 [INFO] [stderr] 47: 0x5cfd9bfb8a4a - std::thread::Builder::spawn_unchecked_::{{closure}}::h6262965869ed2b87 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:557:30 [INFO] [stderr] 48: 0x5cfd9bfb8a4a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h05c05ed02619e462 [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5 [INFO] [stderr] 49: 0x5cfd9c06947f - as core::ops::function::FnOnce>::call_once::h2044e71c41d3958a [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1985:9 [INFO] [stderr] 50: 0x5cfd9c06947f - std::sys::thread::unix::Thread::new::thread_start::hf277835320aa8e5a [INFO] [stderr] at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/thread/unix.rs:126:17 [INFO] [stderr] 51: 0x7875136c2aa4 - [INFO] [stderr] 52: 0x78751374fa34 - 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-db17f526f2c1a335` (signal: 6, SIGABRT: process abort signal) [INFO] running `Command { std: "docker" "inspect" "f79258b6eb75d533d88818deff685cc467e692832de6a6949f3ab089f509ae85", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f79258b6eb75d533d88818deff685cc467e692832de6a6949f3ab089f509ae85", kill_on_drop: false }` [INFO] [stdout] f79258b6eb75d533d88818deff685cc467e692832de6a6949f3ab089f509ae85