[INFO] cloning repository https://github.com/prequired/invrs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/prequired/invrs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fprequired%2Finvrs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fprequired%2Finvrs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] dad6ab4698b6b03bb2a09c1bee02401260db1a42
[INFO] testing prequired/invrs against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fprequired%2Finvrs" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  42% (1194/2809)
Updating files:  43% (1208/2809)
Updating files:  44% (1236/2809)
Updating files:  44% (1259/2809)
Updating files:  45% (1265/2809)
Updating files:  46% (1293/2809)
Updating files:  47% (1321/2809)
Updating files:  48% (1349/2809)
Updating files:  49% (1377/2809)
Updating files:  49% (1386/2809)
Updating files:  50% (1405/2809)
Updating files:  51% (1433/2809)
Updating files:  52% (1461/2809)
Updating files:  52% (1482/2809)
Updating files:  53% (1489/2809)
Updating files:  54% (1517/2809)
Updating files:  55% (1545/2809)
Updating files:  56% (1574/2809)
Updating files:  57% (1602/2809)
Updating files:  58% (1630/2809)
Updating files:  59% (1658/2809)
Updating files:  60% (1686/2809)
Updating files:  61% (1714/2809)
Updating files:  62% (1742/2809)
Updating files:  63% (1770/2809)
Updating files:  64% (1798/2809)
Updating files:  65% (1826/2809)
Updating files:  66% (1854/2809)
Updating files:  67% (1883/2809)
Updating files:  68% (1911/2809)
Updating files:  69% (1939/2809)
Updating files:  70% (1967/2809)
Updating files:  71% (1995/2809)
Updating files:  71% (2021/2809)
Updating files:  72% (2023/2809)
Updating files:  73% (2051/2809)
Updating files:  74% (2079/2809)
Updating files:  75% (2107/2809)
Updating files:  76% (2135/2809)
Updating files:  77% (2163/2809)
Updating files:  78% (2192/2809)
Updating files:  79% (2220/2809)
Updating files:  80% (2248/2809)
Updating files:  81% (2276/2809)
Updating files:  82% (2304/2809)
Updating files:  83% (2332/2809)
Updating files:  84% (2360/2809)
Updating files:  85% (2388/2809)
Updating files:  86% (2416/2809)
Updating files:  87% (2444/2809)
Updating files:  88% (2472/2809)
Updating files:  89% (2501/2809)
Updating files:  90% (2529/2809)
Updating files:  91% (2557/2809)
Updating files:  92% (2585/2809)
Updating files:  93% (2613/2809)
Updating files:  94% (2641/2809)
Updating files:  95% (2669/2809)
Updating files:  96% (2697/2809)
Updating files:  96% (2700/2809)
Updating files:  97% (2725/2809)
Updating files:  98% (2753/2809)
Updating files:  99% (2781/2809)
Updating files: 100% (2809/2809)
Updating files: 100% (2809/2809), done.
[INFO] started tweaking git repo https://github.com/prequired/invrs
[INFO] finished tweaking git repo https://github.com/prequired/invrs
[INFO] tweaked toml for git repo https://github.com/prequired/invrs written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/prequired/invrs on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/prequired/invrs 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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rust_decimal_macros v1.37.1
[INFO] [stderr]   Downloaded uuid v1.17.0
[INFO] [stderr]   Downloaded plotters-svg v0.3.7
[INFO] [stderr]   Downloaded bytecheck_derive v0.6.12
[INFO] [stderr]   Downloaded anstyle-query v1.1.3
[INFO] [stderr]   Downloaded anstream v0.6.19
[INFO] [stderr]   Downloaded half v2.6.0
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.26
[INFO] [stderr]   Downloaded cc v1.2.27
[INFO] [stderr]   Downloaded rkyv v0.7.45
[INFO] [stderr]   Downloaded rusqlite v0.29.0
[INFO] [stderr]   Downloaded plotters v0.3.7
[INFO] [stderr]   Downloaded winnow v0.7.11
[INFO] [stderr]   Downloaded rust_decimal v1.37.2
[INFO] [stderr]   Downloaded tabled v0.15.0
[INFO] [stderr]   Downloaded papergrid v0.11.0
[INFO] [stderr]   Downloaded simdutf8 v0.1.5
[INFO] [stderr]   Downloaded bytecheck v0.6.12
[INFO] [stderr]   Downloaded rend v0.4.2
[INFO] [stderr]   Downloaded rkyv_derive v0.7.45
[INFO] [stderr]   Downloaded zerocopy v0.8.26
[INFO] [stderr]   Downloaded anstyle-wincon v3.0.9
[INFO] [stderr]   Downloaded oorandom v11.1.5
[INFO] [stderr]   Downloaded plotters-backend v0.3.7
[INFO] [stderr]   Downloaded csv-core v0.1.12
[INFO] [stderr]   Downloaded bytecount v0.6.9
[INFO] [stderr]   Downloaded tabled_derive v0.7.0
[INFO] [stderr]   Downloaded ptr_meta v0.1.4
[INFO] [stderr]   Downloaded ptr_meta_derive v0.1.4
[INFO] [stderr]   Downloaded libsqlite3-sys v0.26.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c92d12af7bbf1a4260ec6c85e6a58decb9c8d943e0eefc9de40cf7a2f9e3684f
[INFO] running `Command { std: "docker" "start" "-a" "c92d12af7bbf1a4260ec6c85e6a58decb9c8d943e0eefc9de40cf7a2f9e3684f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c92d12af7bbf1a4260ec6c85e6a58decb9c8d943e0eefc9de40cf7a2f9e3684f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c92d12af7bbf1a4260ec6c85e6a58decb9c8d943e0eefc9de40cf7a2f9e3684f", kill_on_drop: false }`
[INFO] [stdout] c92d12af7bbf1a4260ec6c85e6a58decb9c8d943e0eefc9de40cf7a2f9e3684f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fba29e28b0bde383b2ab02d562b0da740eb862913f611b7446476114025e2409
[INFO] running `Command { std: "docker" "start" "-a" "fba29e28b0bde383b2ab02d562b0da740eb862913f611b7446476114025e2409", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling cc v1.2.27
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling hashbrown v0.15.4
[INFO] [stderr]    Compiling anstyle v1.0.11
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.1
[INFO] [stderr]    Compiling anstyle-query v1.1.3
[INFO] [stderr]    Compiling anstream v0.6.19
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling indexmap v2.10.0
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling libsqlite3-sys v0.26.0
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling linux-raw-sys v0.9.4
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling winnow v0.7.11
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling rust_decimal v1.37.2
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling papergrid v0.11.0
[INFO] [stderr]    Compiling tabled_derive v0.7.0
[INFO] [stderr]    Compiling hashlink v0.8.4
[INFO] [stderr]    Compiling clap_builder v4.5.40
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling clap_derive v4.5.40
[INFO] [stderr]    Compiling csv-core v0.1.12
[INFO] [stderr]    Compiling fallible-iterator v0.2.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling tempfile v3.20.0
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling rust_decimal_macros v1.37.1
[INFO] [stderr]    Compiling tabled v0.15.0
[INFO] [stderr]    Compiling clap v4.5.40
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling csv v1.3.1
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling uuid v1.17.0
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling rusqlite v0.29.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling inventory-management v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `warnings`
[INFO] [stdout]    --> src/config/validation.rs:159:83
[INFO] [stdout]     |
[INFO] [stdout] 159 |     fn validate_import_export(config: &Config, errors: &mut Vec<ValidationError>, warnings: &mut Vec<String>) {
[INFO] [stdout]     |                                                                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_warnings`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `warnings`
[INFO] [stdout]    --> src/config/validation.rs:186:86
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn validate_validation_rules(config: &Config, errors: &mut Vec<ValidationError>, warnings: &mut Vec<String>) {
[INFO] [stdout]     |                                                                                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_warnings`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `warnings`
[INFO] [stdout]    --> src/config/validation.rs:221:77
[INFO] [stdout]     |
[INFO] [stdout] 221 |     fn validate_logging(config: &Config, errors: &mut Vec<ValidationError>, warnings: &mut Vec<String>) {
[INFO] [stdout]     |                                                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_warnings`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/database.rs:52:30
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn begin_transaction(&mut self) -> crate::Result<Transaction> {
[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] 52 |     pub fn begin_transaction(&mut self) -> crate::Result<Transaction<'_>> {
[INFO] [stdout]    |                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/main.rs:540:5
[INFO] [stdout]     |
[INFO] [stdout] 540 |     config: &Config,
[INFO] [stdout]     |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/main.rs:554:52
[INFO] [stdout]     |
[INFO] [stdout] 554 | fn handle_import(inventory: &mut InventoryManager, config: &Config, file: &str, format: &str) -> Result<()> {
[INFO] [stdout]     |                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/main.rs:574:48
[INFO] [stdout]     |
[INFO] [stdout] 574 | fn handle_export(inventory: &InventoryManager, config: &Config, file: &str, format: &str) -> Result<()> {
[INFO] [stdout]     |                                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/main.rs:587:47
[INFO] [stdout]     |
[INFO] [stdout] 587 | fn handle_stats(inventory: &InventoryManager, config: &Config) -> Result<()> {
[INFO] [stdout]     |                                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 29s
[INFO] running `Command { std: "docker" "inspect" "fba29e28b0bde383b2ab02d562b0da740eb862913f611b7446476114025e2409", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fba29e28b0bde383b2ab02d562b0da740eb862913f611b7446476114025e2409", kill_on_drop: false }`
[INFO] [stdout] fba29e28b0bde383b2ab02d562b0da740eb862913f611b7446476114025e2409
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2e881794e6209d29e5360616fd303c7d76fda10f65de55a25dceceea364cd4db
[INFO] running `Command { std: "docker" "start" "-a" "2e881794e6209d29e5360616fd303c7d76fda10f65de55a25dceceea364cd4db", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling cfg-if v1.0.1
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling anstyle-query v1.1.3
[INFO] [stderr]    Compiling anstyle v1.0.11
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling hashbrown v0.15.4
[INFO] [stderr]    Compiling anstream v0.6.19
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling bitflags v2.9.1
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling indexmap v2.10.0
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling clap_builder v4.5.40
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]    Compiling libsqlite3-sys v0.26.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling half v2.6.0
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling winnow v0.7.11
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling linux-raw-sys v0.9.4
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling rust_decimal v1.37.2
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling clap v4.5.40
[INFO] [stderr]    Compiling papergrid v0.11.0
[INFO] [stderr]    Compiling hashlink v0.8.4
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling csv-core v0.1.12
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling fallible-iterator v0.2.0
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling tempfile v3.20.0
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling csv v1.3.1
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling tabled v0.15.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling uuid v1.17.0
[INFO] [stderr]    Compiling is-terminal v0.4.16
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling rusqlite v0.29.0
[INFO] [stderr]    Compiling inventory-management v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `crate::storage::Database`
[INFO] [stdout]    --> src/storage/repositories/transaction_repo.rs:311:9
[INFO] [stdout]     |
[INFO] [stdout] 311 |     use crate::storage::Database;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^ no `Database` in `storage`
[INFO] [stdout]     |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]     |
[INFO] [stdout] 311 -     use crate::storage::Database;
[INFO] [stdout] 311 +     use crate::storage::database;
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct through its public re-export instead
[INFO] [stdout]     |
[INFO] [stdout] 311 -     use crate::storage::Database;
[INFO] [stdout] 311 +     use crate::Database;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::storage::Database`
[INFO] [stdout]    --> src/storage/repositories/supplier_repo.rs:307:9
[INFO] [stdout]     |
[INFO] [stdout] 307 |     use crate::storage::Database;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^ no `Database` in `storage`
[INFO] [stdout]     |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]     |
[INFO] [stdout] 307 -     use crate::storage::Database;
[INFO] [stdout] 307 +     use crate::storage::database;
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct through its public re-export instead
[INFO] [stdout]     |
[INFO] [stdout] 307 -     use crate::storage::Database;
[INFO] [stdout] 307 +     use crate::Database;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::storage::Database`
[INFO] [stdout]    --> src/storage/repositories/user_repo.rs:375:9
[INFO] [stdout]     |
[INFO] [stdout] 375 |     use crate::storage::Database;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^ no `Database` in `storage`
[INFO] [stdout]     |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]     |
[INFO] [stdout] 375 -     use crate::storage::Database;
[INFO] [stdout] 375 +     use crate::storage::database;
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct through its public re-export instead
[INFO] [stdout]     |
[INFO] [stdout] 375 -     use crate::storage::Database;
[INFO] [stdout] 375 +     use crate::Database;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::storage::Database`
[INFO] [stdout]    --> src/storage/repositories/category_repo.rs:434:9
[INFO] [stdout]     |
[INFO] [stdout] 434 |     use crate::storage::Database;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^ no `Database` in `storage`
[INFO] [stdout]     |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]     |
[INFO] [stdout] 434 -     use crate::storage::Database;
[INFO] [stdout] 434 +     use crate::storage::database;
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct through its public re-export instead
[INFO] [stdout]     |
[INFO] [stdout] 434 -     use crate::storage::Database;
[INFO] [stdout] 434 +     use crate::Database;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]    --> src/models/item.rs:313:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |     use uuid::Uuid;
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]    --> src/models/supplier.rs:303:9
[INFO] [stdout]     |
[INFO] [stdout] 303 |     use uuid::Uuid;
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]    --> src/models/user.rs:407:9
[INFO] [stdout]     |
[INFO] [stdout] 407 |     use uuid::Uuid;
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]    --> src/models/category.rs:344:9
[INFO] [stdout]     |
[INFO] [stdout] 344 |     use uuid::Uuid;
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tempfile::NamedTempFile`
[INFO] [stdout]    --> src/operations/inventory.rs:667:9
[INFO] [stdout]     |
[INFO] [stdout] 667 |     use tempfile::NamedTempFile;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UpdateItemRequest`
[INFO] [stdout]    --> src/storage/repositories/item_repo.rs:379:44
[INFO] [stdout]     |
[INFO] [stdout] 379 |     use crate::models::{CreateItemRequest, UpdateItemRequest};
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]    --> src/storage/repositories/item_repo.rs:381:9
[INFO] [stdout]     |
[INFO] [stdout] 381 |     use uuid::Uuid;
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]    --> src/utils/formatting.rs:307:9
[INFO] [stdout]     |
[INFO] [stdout] 307 |     use uuid::Uuid;
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]    --> src/utils/formatting.rs:308:9
[INFO] [stdout]     |
[INFO] [stdout] 308 |     use chrono::Utc;
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tempfile::NamedTempFile`
[INFO] [stdout]   --> src/utils/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     use tempfile::NamedTempFile;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `item::UpdateItemRequest` has no field named `quantity`
[INFO] [stdout]    --> src/models/item.rs:394:13
[INFO] [stdout]     |
[INFO] [stdout] 394 |             quantity: Some(20),
[INFO] [stdout]     |             ^^^^^^^^ `item::UpdateItemRequest` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `category_id`, `cost`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `u32` with `std::option::Option<{integer}>`
[INFO] [stdout]    --> src/models/item.rs:409:9
[INFO] [stdout]     |
[INFO] [stdout] 409 |         assert_eq!(item.max_stock_level, Some(100));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `u32 == std::option::Option<{integer}>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialEq<std::option::Option<{integer}>>` is not implemented for `u32`
[INFO] [stdout] help: the following other types implement trait `PartialEq<Rhs>`
[INFO] [stdout]    --> /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/cmp.rs:1885:4
[INFO] [stdout]    ::: /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/cmp.rs:1887:5
[INFO] [stdout]     |
[INFO] [stdout]     = note: `u32` implements `PartialEq`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.140/src/value/partial_eq.rs:97:1
[INFO] [stdout]     |
[INFO] [stdout]  97 | / partialeq_numeric! {
[INFO] [stdout]  98 | |     eq_i64[i8 i16 i32 i64 isize]
[INFO] [stdout]  99 | |     eq_u64[u8 u16 u32 u64 usize]
[INFO] [stdout] 100 | |     eq_f32[f32]
[INFO] [stdout] 101 | |     eq_f64[f64]
[INFO] [stdout] 102 | |     eq_bool[bool]
[INFO] [stdout] 103 | | }
[INFO] [stdout]     | |_^ `u32` implements `PartialEq<serde_json::Value>`
[INFO] [stdout]     = note: this error originates in the macro `assert_eq` which comes from the expansion of the macro `partialeq_numeric` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 7 arguments were supplied
[INFO] [stdout]    --> src/models/supplier.rs:307:24
[INFO] [stdout]     |
[INFO] [stdout] 307 | ...   let supplier = Supplier::new("Acme Corp".to_string(), Some("contact@acme.com".to_string()), None, None, None, None, None).unw...
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ ----------------------- expected `CreateSupplierRequest`, found `String`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/models/supplier.rs:60:12
[INFO] [stdout]     |
[INFO] [stdout]  60 |     pub fn new(request: CreateSupplierRequest) -> crate::Result<Self> {
[INFO] [stdout]     |            ^^^ ------------------------------
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]     |
[INFO] [stdout] 307 -         let supplier = Supplier::new("Acme Corp".to_string(), Some("contact@acme.com".to_string()), None, None, None, None, None).unwrap();
[INFO] [stdout] 307 +         let supplier = Supplier::new(/* supplier::CreateSupplierRequest */).unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 7 arguments were supplied
[INFO] [stdout]    --> src/models/supplier.rs:315:17
[INFO] [stdout]     |
[INFO] [stdout] 315 |         assert!(Supplier::new("".to_string(), None, None, None, None, None, None).is_err());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ -------------- expected `CreateSupplierRequest`, found `String`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/models/supplier.rs:60:12
[INFO] [stdout]     |
[INFO] [stdout]  60 |     pub fn new(request: CreateSupplierRequest) -> crate::Result<Self> {
[INFO] [stdout]     |            ^^^ ------------------------------
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]     |
[INFO] [stdout] 315 -         assert!(Supplier::new("".to_string(), None, None, None, None, None, None).is_err());
[INFO] [stdout] 315 +         assert!(Supplier::new(/* supplier::CreateSupplierRequest */).is_err());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 7 arguments were supplied
[INFO] [stdout]    --> src/models/supplier.rs:316:17
[INFO] [stdout]     |
[INFO] [stdout] 316 |         assert!(Supplier::new("Valid Supplier".to_string(), None, None, None, None, None, None).is_ok());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ ---------------------------- expected `CreateSupplierRequest`, found `String`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/models/supplier.rs:60:12
[INFO] [stdout]     |
[INFO] [stdout]  60 |     pub fn new(request: CreateSupplierRequest) -> crate::Result<Self> {
[INFO] [stdout]     |            ^^^ ------------------------------
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]     |
[INFO] [stdout] 316 -         assert!(Supplier::new("Valid Supplier".to_string(), None, None, None, None, None, None).is_ok());
[INFO] [stdout] 316 +         assert!(Supplier::new(/* supplier::CreateSupplierRequest */).is_ok());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 3 arguments were supplied
[INFO] [stdout]    --> src/models/category.rs:348:24
[INFO] [stdout]     |
[INFO] [stdout] 348 |         let category = Category::new("Electronics".to_string(), None, Some("Devices".to_string())).unwrap();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ -------------------------  ----  --------------------------- unexpected argument #3 of type `std::option::Option<std::string::String>`
[INFO] [stdout]     |                                      |                          |
[INFO] [stdout]     |                                      |                          unexpected argument #2 of type `std::option::Option<_>`
[INFO] [stdout]     |                                      expected `CreateCategoryRequest`, found `String`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/models/category.rs:41:12
[INFO] [stdout]     |
[INFO] [stdout]  41 |     pub fn new(request: CreateCategoryRequest) -> crate::Result<Self> {
[INFO] [stdout]     |            ^^^ ------------------------------
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]     |
[INFO] [stdout] 348 -         let category = Category::new("Electronics".to_string(), None, Some("Devices".to_string())).unwrap();
[INFO] [stdout] 348 +         let category = Category::new(/* CreateCategoryRequest */).unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 3 arguments were supplied
[INFO] [stdout]    --> src/models/category.rs:356:20
[INFO] [stdout]     |
[INFO] [stdout] 356 |         let root = Category::new("Root".to_string(), None, None).unwrap();
[INFO] [stdout]     |                    ^^^^^^^^^^^^^ ------------------  ----  ---- unexpected argument #3 of type `std::option::Option<_>`
[INFO] [stdout]     |                                  |                   |
[INFO] [stdout]     |                                  |                   unexpected argument #2 of type `std::option::Option<_>`
[INFO] [stdout]     |                                  expected `CreateCategoryRequest`, found `String`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/models/category.rs:41:12
[INFO] [stdout]     |
[INFO] [stdout]  41 |     pub fn new(request: CreateCategoryRequest) -> crate::Result<Self> {
[INFO] [stdout]     |            ^^^ ------------------------------
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]     |
[INFO] [stdout] 356 -         let root = Category::new("Root".to_string(), None, None).unwrap();
[INFO] [stdout] 356 +         let root = Category::new(/* CreateCategoryRequest */).unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 3 arguments were supplied
[INFO] [stdout]    --> src/models/category.rs:357:21
[INFO] [stdout]     |
[INFO] [stdout] 357 |         let child = Category::new("Child".to_string(), Some(root.id), None).unwrap();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^ -------------------  -------------  ---- unexpected argument #3 of type `std::option::Option<_>`
[INFO] [stdout]     |                                   |                    |
[INFO] [stdout]     |                                   |                    unexpected argument #2 of type `std::option::Option<uuid::Uuid>`
[INFO] [stdout]     |                                   expected `CreateCategoryRequest`, found `String`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/models/category.rs:41:12
[INFO] [stdout]     |
[INFO] [stdout]  41 |     pub fn new(request: CreateCategoryRequest) -> crate::Result<Self> {
[INFO] [stdout]     |            ^^^ ------------------------------
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]     |
[INFO] [stdout] 357 -         let child = Category::new("Child".to_string(), Some(root.id), None).unwrap();
[INFO] [stdout] 357 +         let child = Category::new(/* CreateCategoryRequest */).unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 3 arguments were supplied
[INFO] [stdout]    --> src/models/category.rs:366:17
[INFO] [stdout]     |
[INFO] [stdout] 366 |         assert!(Category::new("".to_string(), None, None).is_err());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ --------------  ----  ---- unexpected argument #3 of type `std::option::Option<_>`
[INFO] [stdout]     |                               |               |
[INFO] [stdout]     |                               |               unexpected argument #2 of type `std::option::Option<_>`
[INFO] [stdout]     |                               expected `CreateCategoryRequest`, found `String`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/models/category.rs:41:12
[INFO] [stdout]     |
[INFO] [stdout]  41 |     pub fn new(request: CreateCategoryRequest) -> crate::Result<Self> {
[INFO] [stdout]     |            ^^^ ------------------------------
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]     |
[INFO] [stdout] 366 -         assert!(Category::new("".to_string(), None, None).is_err());
[INFO] [stdout] 366 +         assert!(Category::new(/* CreateCategoryRequest */).is_err());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 3 arguments were supplied
[INFO] [stdout]    --> src/models/category.rs:367:17
[INFO] [stdout]     |
[INFO] [stdout] 367 |         assert!(Category::new("Valid".to_string(), None, None).is_ok());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ -------------------  ----  ---- unexpected argument #3 of type `std::option::Option<_>`
[INFO] [stdout]     |                               |                    |
[INFO] [stdout]     |                               |                    unexpected argument #2 of type `std::option::Option<_>`
[INFO] [stdout]     |                               expected `CreateCategoryRequest`, found `String`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/models/category.rs:41:12
[INFO] [stdout]     |
[INFO] [stdout]  41 |     pub fn new(request: CreateCategoryRequest) -> crate::Result<Self> {
[INFO] [stdout]     |            ^^^ ------------------------------
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]     |
[INFO] [stdout] 367 -         assert!(Category::new("Valid".to_string(), None, None).is_ok());
[INFO] [stdout] 367 +         assert!(Category::new(/* CreateCategoryRequest */).is_ok());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/utils/validation.rs:309:17
[INFO] [stdout]     |
[INFO] [stdout] 309 |         assert!(validate_price(19.99).is_ok());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^------- argument #2 of type `&config::Config` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/utils/validation.rs:44:8
[INFO] [stdout]     |
[INFO] [stdout]  44 | pub fn validate_price(price: f64, config: &Config) -> crate::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^             ---------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 309 |         assert!(validate_price(19.99, /* &config::Config */).is_ok());
[INFO] [stdout]     |                                     +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/utils/validation.rs:310:17
[INFO] [stdout]     |
[INFO] [stdout] 310 |         assert!(validate_price(0.0).is_ok());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^----- argument #2 of type `&config::Config` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/utils/validation.rs:44:8
[INFO] [stdout]     |
[INFO] [stdout]  44 | pub fn validate_price(price: f64, config: &Config) -> crate::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^             ---------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 310 |         assert!(validate_price(0.0, /* &config::Config */).is_ok());
[INFO] [stdout]     |                                   +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/utils/validation.rs:311:17
[INFO] [stdout]     |
[INFO] [stdout] 311 |         assert!(validate_price(-5.0).is_err());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^------ argument #2 of type `&config::Config` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/utils/validation.rs:44:8
[INFO] [stdout]     |
[INFO] [stdout]  44 | pub fn validate_price(price: f64, config: &Config) -> crate::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^             ---------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 311 |         assert!(validate_price(-5.0, /* &config::Config */).is_err());
[INFO] [stdout]     |                                    +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/utils/validation.rs:312:17
[INFO] [stdout]     |
[INFO] [stdout] 312 |         assert!(validate_price(1_000_001.0).is_err());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^------------- argument #2 of type `&config::Config` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/utils/validation.rs:44:8
[INFO] [stdout]     |
[INFO] [stdout]  44 | pub fn validate_price(price: f64, config: &Config) -> crate::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^             ---------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 312 |         assert!(validate_price(1_000_001.0, /* &config::Config */).is_err());
[INFO] [stdout]     |                                           +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/utils/validation.rs:317:17
[INFO] [stdout]     |
[INFO] [stdout] 317 |         assert!(validate_quantity(100).is_ok());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^----- argument #2 of type `&config::Config` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/utils/validation.rs:74:8
[INFO] [stdout]     |
[INFO] [stdout]  74 | pub fn validate_quantity(quantity: u32, config: &Config) -> crate::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^                ---------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 317 |         assert!(validate_quantity(100, /* &config::Config */).is_ok());
[INFO] [stdout]     |                                      +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/utils/validation.rs:318:17
[INFO] [stdout]     |
[INFO] [stdout] 318 |         assert!(validate_quantity(0).is_ok());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^--- argument #2 of type `&config::Config` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/utils/validation.rs:74:8
[INFO] [stdout]     |
[INFO] [stdout]  74 | pub fn validate_quantity(quantity: u32, config: &Config) -> crate::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^                ---------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 318 |         assert!(validate_quantity(0, /* &config::Config */).is_ok());
[INFO] [stdout]     |                                    +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0600]: cannot apply unary operator `-` to type `u32`
[INFO] [stdout]    --> src/utils/validation.rs:319:35
[INFO] [stdout]     |
[INFO] [stdout] 319 |         assert!(validate_quantity(-5).is_err());
[INFO] [stdout]     |                                   ^^ cannot apply unary operator `-`
[INFO] [stdout]     |
[INFO] [stdout]     = note: unsigned values cannot be negated
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/utils/validation.rs:319:17
[INFO] [stdout]     |
[INFO] [stdout] 319 |         assert!(validate_quantity(-5).is_err());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^---- argument #2 of type `&config::Config` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/utils/validation.rs:74:8
[INFO] [stdout]     |
[INFO] [stdout]  74 | pub fn validate_quantity(quantity: u32, config: &Config) -> crate::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^                ---------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 319 |         assert!(validate_quantity(-5, /* &config::Config */).is_err());
[INFO] [stdout]     |                                     +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/utils/validation.rs:320:17
[INFO] [stdout]     |
[INFO] [stdout] 320 |         assert!(validate_quantity(1_000_001).is_err());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^----------- argument #2 of type `&config::Config` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/utils/validation.rs:74:8
[INFO] [stdout]     |
[INFO] [stdout]  74 | pub fn validate_quantity(quantity: u32, config: &Config) -> crate::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^                ---------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 320 |         assert!(validate_quantity(1_000_001, /* &config::Config */).is_err());
[INFO] [stdout]     |                                            +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/utils/mod.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |         assert!(validate_sku("VALID-SKU_123").is_ok());
[INFO] [stdout]    |                 ^^^^^^^^^^^^----------------- argument #2 of type `&config::Config` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/utils/validation.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn validate_sku(sku: &str, config: &Config) -> crate::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^            ---------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 25 |         assert!(validate_sku("VALID-SKU_123", /* &config::Config */).is_ok());
[INFO] [stdout]    |                                             +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/utils/mod.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 |         assert!(validate_sku("").is_err());
[INFO] [stdout]    |                 ^^^^^^^^^^^^---- argument #2 of type `&config::Config` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/utils/validation.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn validate_sku(sku: &str, config: &Config) -> crate::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^            ---------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 26 |         assert!(validate_sku("", /* &config::Config */).is_err());
[INFO] [stdout]    |                                +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/utils/mod.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |         assert!(validate_sku("AB").is_err()); // Too short
[INFO] [stdout]    |                 ^^^^^^^^^^^^------ argument #2 of type `&config::Config` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/utils/validation.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn validate_sku(sku: &str, config: &Config) -> crate::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^            ---------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 27 |         assert!(validate_sku("AB", /* &config::Config */).is_err()); // Too short
[INFO] [stdout]    |                                  +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/utils/mod.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |         assert!(validate_price(10.0).is_ok());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^------ argument #2 of type `&config::Config` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/utils/validation.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn validate_price(price: f64, config: &Config) -> crate::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^             ---------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 40 |         assert!(validate_price(10.0, /* &config::Config */).is_ok());
[INFO] [stdout]    |                                    +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/utils/mod.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 |         assert!(validate_price(0.0).is_ok());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^----- argument #2 of type `&config::Config` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/utils/validation.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn validate_price(price: f64, config: &Config) -> crate::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^             ---------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 41 |         assert!(validate_price(0.0, /* &config::Config */).is_ok());
[INFO] [stdout]    |                                   +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/utils/mod.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |         assert!(validate_price(-1.0).is_err());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^------ argument #2 of type `&config::Config` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/utils/validation.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn validate_price(price: f64, config: &Config) -> crate::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^             ---------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 42 |         assert!(validate_price(-1.0, /* &config::Config */).is_err());
[INFO] [stdout]    |                                    +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/utils/mod.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 |         assert!(validate_price(1_000_001.0).is_err());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^------------- argument #2 of type `&config::Config` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/utils/validation.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn validate_price(price: f64, config: &Config) -> crate::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^             ---------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 43 |         assert!(validate_price(1_000_001.0, /* &config::Config */).is_err());
[INFO] [stdout]    |                                           +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/utils/mod.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |         assert!(validate_quantity(10).is_ok());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^---- argument #2 of type `&config::Config` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/utils/validation.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn validate_quantity(quantity: u32, config: &Config) -> crate::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^                ---------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 48 |         assert!(validate_quantity(10, /* &config::Config */).is_ok());
[INFO] [stdout]    |                                     +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/utils/mod.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |         assert!(validate_quantity(0).is_ok());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^--- argument #2 of type `&config::Config` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/utils/validation.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn validate_quantity(quantity: u32, config: &Config) -> crate::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^                ---------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 49 |         assert!(validate_quantity(0, /* &config::Config */).is_ok());
[INFO] [stdout]    |                                    +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0600]: cannot apply unary operator `-` to type `u32`
[INFO] [stdout]   --> src/utils/mod.rs:50:35
[INFO] [stdout]    |
[INFO] [stdout] 50 |         assert!(validate_quantity(-1).is_err());
[INFO] [stdout]    |                                   ^^ cannot apply unary operator `-`
[INFO] [stdout]    |
[INFO] [stdout]    = note: unsigned values cannot be negated
[INFO] [stdout] help: you may have meant the maximum value of `u32`
[INFO] [stdout]    |
[INFO] [stdout] 50 -         assert!(validate_quantity(-1).is_err());
[INFO] [stdout] 50 +         assert!(validate_quantity(u32::MAX).is_err());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/utils/mod.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |         assert!(validate_quantity(-1).is_err());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^---- argument #2 of type `&config::Config` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/utils/validation.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn validate_quantity(quantity: u32, config: &Config) -> crate::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^                ---------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 50 |         assert!(validate_quantity(-1, /* &config::Config */).is_err());
[INFO] [stdout]    |                                     +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/utils/mod.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |         assert!(validate_quantity(1_000_001).is_err());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^----------- argument #2 of type `&config::Config` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/utils/validation.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn validate_quantity(quantity: u32, config: &Config) -> crate::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^                ---------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 51 |         assert!(validate_quantity(1_000_001, /* &config::Config */).is_err());
[INFO] [stdout]    |                                            +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/utils/mod.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |         assert!(validate_price(10.0).is_ok());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^------ argument #2 of type `&config::Config` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/utils/validation.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn validate_price(price: f64, config: &Config) -> crate::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^             ---------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 74 |         assert!(validate_price(10.0, /* &config::Config */).is_ok());
[INFO] [stdout]    |                                    +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/utils/mod.rs:75:17
[INFO] [stdout]    |
[INFO] [stdout] 75 |         assert!(validate_quantity(10).is_ok());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^---- argument #2 of type `&config::Config` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/utils/validation.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn validate_quantity(quantity: u32, config: &Config) -> crate::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^                ---------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 75 |         assert!(validate_quantity(10, /* &config::Config */).is_ok());
[INFO] [stdout]    |                                     +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `warnings`
[INFO] [stdout]    --> src/config/validation.rs:159:83
[INFO] [stdout]     |
[INFO] [stdout] 159 |     fn validate_import_export(config: &Config, errors: &mut Vec<ValidationError>, warnings: &mut Vec<String>) {
[INFO] [stdout]     |                                                                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_warnings`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `warnings`
[INFO] [stdout]    --> src/config/validation.rs:186:86
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn validate_validation_rules(config: &Config, errors: &mut Vec<ValidationError>, warnings: &mut Vec<String>) {
[INFO] [stdout]     |                                                                                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_warnings`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `warnings`
[INFO] [stdout]    --> src/config/validation.rs:221:77
[INFO] [stdout]     |
[INFO] [stdout] 221 |     fn validate_logging(config: &Config, errors: &mut Vec<ValidationError>, warnings: &mut Vec<String>) {
[INFO] [stdout]     |                                                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_warnings`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/storage/database.rs:52:30
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn begin_transaction(&mut self) -> crate::Result<Transaction> {
[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] 52 |     pub fn begin_transaction(&mut self) -> crate::Result<Transaction<'_>> {
[INFO] [stdout]    |                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `repo`
[INFO] [stdout]    --> src/storage/repositories/supplier_repo.rs:311:13
[INFO] [stdout]     |
[INFO] [stdout] 311 |         let repo = SupplierRepository::new();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_repo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `repo`
[INFO] [stdout]    --> src/storage/repositories/user_repo.rs:379:13
[INFO] [stdout]     |
[INFO] [stdout] 379 |         let repo = UserRepository::new();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_repo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `repo`
[INFO] [stdout]    --> src/storage/repositories/category_repo.rs:438:13
[INFO] [stdout]     |
[INFO] [stdout] 438 |         let repo = CategoryRepository::new();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_repo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `warnings`
[INFO] [stdout]    --> src/config/validation.rs:159:83
[INFO] [stdout]     |
[INFO] [stdout] 159 |     fn validate_import_export(config: &Config, errors: &mut Vec<ValidationError>, warnings: &mut Vec<String>) {
[INFO] [stdout]     |                                                                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_warnings`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `warnings`
[INFO] [stdout]    --> src/config/validation.rs:186:86
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn validate_validation_rules(config: &Config, errors: &mut Vec<ValidationError>, warnings: &mut Vec<String>) {
[INFO] [stdout]     |                                                                                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_warnings`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `warnings`
[INFO] [stdout]    --> src/config/validation.rs:221:77
[INFO] [stdout]     |
[INFO] [stdout] 221 |     fn validate_logging(config: &Config, errors: &mut Vec<ValidationError>, warnings: &mut Vec<String>) {
[INFO] [stdout]     |                                                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_warnings`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0432, E0560, E0600.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `inventory-management` (lib test) due to 37 previous errors; 16 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "2e881794e6209d29e5360616fd303c7d76fda10f65de55a25dceceea364cd4db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2e881794e6209d29e5360616fd303c7d76fda10f65de55a25dceceea364cd4db", kill_on_drop: false }`
[INFO] [stdout] 2e881794e6209d29e5360616fd303c7d76fda10f65de55a25dceceea364cd4db
