[INFO] cloning repository https://github.com/mi4uu/r-squared-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mi4uu/r-squared-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmi4uu%2Fr-squared-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmi4uu%2Fr-squared-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 49b756b12a421514ed283810f467e0bce9fff9a1
[INFO] testing mi4uu/r-squared-rust against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmi4uu%2Fr-squared-rust" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mi4uu/r-squared-rust
[INFO] finished tweaking git repo https://github.com/mi4uu/r-squared-rust
[INFO] tweaked toml for git repo https://github.com/mi4uu/r-squared-rust written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mi4uu/r-squared-rust on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mi4uu/r-squared-rust 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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ipfs-api-backend-hyper v0.6.0
[INFO] [stderr]   Downloaded tracing-error v0.2.1
[INFO] [stderr]   Downloaded oorandom v11.1.5
[INFO] [stderr]   Downloaded hyper-multipart-rfc7578 v0.8.0
[INFO] [stderr]   Downloaded common-multipart-rfc7578 v0.6.0
[INFO] [stderr]   Downloaded aws-smithy-checksums v0.63.3
[INFO] [stderr]   Downloaded outref v0.5.2
[INFO] [stderr]   Downloaded ipfs-api-prelude v0.6.0
[INFO] [stderr]   Downloaded aws-smithy-http v0.62.1
[INFO] [stderr]   Downloaded cmake v0.1.54
[INFO] [stderr]   Downloaded aws-smithy-xml v0.60.10
[INFO] [stderr]   Downloaded aws-smithy-async v1.2.5
[INFO] [stderr]   Downloaded aws-smithy-json v0.61.4
[INFO] [stderr]   Downloaded aws-sigv4 v1.3.3
[INFO] [stderr]   Downloaded aws-runtime v1.5.8
[INFO] [stderr]   Downloaded aws-sdk-ssooidc v1.74.0
[INFO] [stderr]   Downloaded aws-sdk-sso v1.73.0
[INFO] [stderr]   Downloaded aws-smithy-runtime v1.8.3
[INFO] [stderr]   Downloaded aws-smithy-http-client v1.0.5
[INFO] [stderr]   Downloaded aws-config v1.8.0
[INFO] [stderr]   Downloaded aws-lc-rs v1.13.1
[INFO] [stderr]   Downloaded aws-sdk-sts v1.75.0
[INFO] [stderr]   Downloaded aws-smithy-types v1.3.2
[INFO] [stderr]   Downloaded criterion v0.6.0
[INFO] [stderr]   Downloaded p256 v0.11.1
[INFO] [stderr]   Downloaded crc-fast v1.3.0
[INFO] [stderr]   Downloaded aws-smithy-runtime-api v1.8.1
[INFO] [stderr]   Downloaded owo-colors v4.2.2
[INFO] [stderr]   Downloaded aws-smithy-eventstream v0.60.9
[INFO] [stderr]   Downloaded aws-types v1.3.7
[INFO] [stderr]   Downloaded color-spantrace v0.3.0
[INFO] [stderr]   Downloaded aws-smithy-observability v0.1.3
[INFO] [stderr]   Downloaded aws-credential-types v1.2.3
[INFO] [stderr]   Downloaded generic-array v1.2.0
[INFO] [stderr]   Downloaded color-eyre v0.6.5
[INFO] [stderr]   Downloaded aws-sdk-s3 v1.93.0
[INFO] [stderr]   Downloaded aws-lc-sys v0.29.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 61477082f31574d25a02fd693ecfebc17e0ec73079ef753cb1b3517a2a81adf2
[INFO] running `Command { std: "docker" "start" "-a" "61477082f31574d25a02fd693ecfebc17e0ec73079ef753cb1b3517a2a81adf2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "61477082f31574d25a02fd693ecfebc17e0ec73079ef753cb1b3517a2a81adf2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "61477082f31574d25a02fd693ecfebc17e0ec73079ef753cb1b3517a2a81adf2", kill_on_drop: false }`
[INFO] [stdout] 61477082f31574d25a02fd693ecfebc17e0ec73079ef753cb1b3517a2a81adf2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 164bd00258f94c24c26af4121c06541d00392f11c78e7f354d0e7358f64025cd
[INFO] running `Command { std: "docker" "start" "-a" "164bd00258f94c24c26af4121c06541d00392f11c78e7f354d0e7358f64025cd", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling overload v0.1.1
[INFO] [stderr]    Compiling nu-ansi-term v0.46.0
[INFO] [stderr]    Compiling cc v1.2.27
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling owo-colors v4.2.2
[INFO] [stderr]    Compiling object v0.36.7
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling eyre v0.6.12
[INFO] [stderr]    Compiling color-spantrace v0.3.0
[INFO] [stderr]    Compiling gimli v0.31.1
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling block-padding v0.3.3
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling secp256k1-sys v0.11.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling matchers v0.1.0
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling indenter v0.3.3
[INFO] [stderr]    Compiling virtue v0.0.18
[INFO] [stderr]    Compiling rustc-demangle v0.1.25
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling addr2line v0.24.2
[INFO] [stderr]    Compiling base64ct v1.8.0
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling password-hash v0.5.0
[INFO] [stderr]    Compiling bincode_derive v2.0.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling salsa20 v0.10.2
[INFO] [stderr]    Compiling pbkdf2 v0.12.2
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.5
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling unty v0.0.4
[INFO] [stderr]    Compiling bincode v2.0.1
[INFO] [stderr]    Compiling secp256k1 v0.31.1
[INFO] [stderr]    Compiling sha3 v0.10.8
[INFO] [stderr]    Compiling scrypt v0.11.0
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling rand v0.9.1
[INFO] [stderr]    Compiling zeroize v1.8.1
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling tokio v1.45.1
[INFO] [stderr]    Compiling backtrace v0.3.75
[INFO] [stderr]    Compiling cbc v0.1.2
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling ripemd v0.1.3
[INFO] [stderr]    Compiling generic-array v1.2.0
[INFO] [stderr]    Compiling base58 v0.2.0
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling uuid v1.17.0
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling tracing-error v0.2.1
[INFO] [stderr]    Compiling color-eyre v0.6.5
[INFO] [stderr]    Compiling r-squared-rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/chain/chain_validation.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::HashMap;
[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: `Cursor`
[INFO] [stdout]  --> src/serializer/fast_parser.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{Read, Cursor};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/ecc/address.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]  --> src/ecc/brain_key.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/ecc/brain_key.rs:45:23
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut rng = thread_rng();
[INFO] [stdout]    |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]  --> src/ecc/key_utils.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/ecc/key_utils.rs:135:23
[INFO] [stdout]     |
[INFO] [stdout] 135 |         let mut rng = thread_rng();
[INFO] [stdout]     |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/ecc/key_utils.rs:161:23
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let mut rng = thread_rng();
[INFO] [stdout]     |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]  --> src/ecc/aes.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/ecc/aes.rs:32:31
[INFO] [stdout]    |
[INFO] [stdout] 32 |                 let mut rng = thread_rng();
[INFO] [stdout]    |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/ecc/aes.rs:175:31
[INFO] [stdout]     |
[INFO] [stdout] 175 |                 let mut rng = thread_rng();
[INFO] [stdout]     |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/ecc/aes.rs:282:23
[INFO] [stdout]     |
[INFO] [stdout] 282 |         let mut rng = thread_rng();
[INFO] [stdout]     |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/ecc/aes.rs:288:23
[INFO] [stdout]     |
[INFO] [stdout] 288 |         let mut rng = thread_rng();
[INFO] [stdout]     |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/chain/account_login.rs:434:29
[INFO] [stdout]     |
[INFO] [stdout] 434 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/chain/account_login.rs:442:29
[INFO] [stdout]     |
[INFO] [stdout] 442 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/chain/account_login.rs:450:29
[INFO] [stdout]     |
[INFO] [stdout] 450 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `secp256k1::SecretKey::from_slice`: Use `from_byte_array` instead.
[INFO] [stdout]   --> src/ecc/private_key.rs:38:30
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let key = SecretKey::from_slice(bytes)
[INFO] [stdout]    |                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `secp256k1::Message::from_slice`: use from_digest instead
[INFO] [stdout]    --> src/ecc/private_key.rs:137:32
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let message = Message::from_slice(message_hash)
[INFO] [stdout]     |                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `secp256k1::SecretKey::from_slice`: Use `from_byte_array` instead.
[INFO] [stdout]    --> src/ecc/private_key.rs:189:42
[INFO] [stdout]     |
[INFO] [stdout] 189 |         if let Ok(zero_key) = SecretKey::from_slice(&zero_bytes) {
[INFO] [stdout]     |                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `secp256k1::Message::from_slice`: use from_digest instead
[INFO] [stdout]    --> src/ecc/public_key.rs:130:32
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let message = Message::from_slice(message_hash)
[INFO] [stdout]     |                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/ecc/address.rs:265:34
[INFO] [stdout]     |
[INFO] [stdout] 265 |         let hash: [u8; 20] = rng.gen();
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/ecc/brain_key.rs:49:29
[INFO] [stdout]    |
[INFO] [stdout] 49 |             let index = rng.gen_range(0..dictionary.len());
[INFO] [stdout]    |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/ecc/key_utils.rs:136:33
[INFO] [stdout]     |
[INFO] [stdout] 136 |         (0..length).map(|_| rng.gen()).collect()
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/ecc/key_utils.rs:170:43
[INFO] [stdout]     |
[INFO] [stdout] 170 |                 let random_byte: u8 = rng.gen();
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]   --> src/ecc/aes.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 |                 rng.gen()
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/ecc/aes.rs:176:37
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 (0..16).map(|_| rng.gen()).collect()
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `secp256k1::SecretKey::from_slice`: Use `from_byte_array` instead.
[INFO] [stdout]    --> src/ecc/aes.rs:222:37
[INFO] [stdout]     |
[INFO] [stdout] 222 |         let secret_key = SecretKey::from_slice(private_key)
[INFO] [stdout]     |                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/ecc/aes.rs:283:13
[INFO] [stdout]     |
[INFO] [stdout] 283 |         rng.gen()
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/ecc/aes.rs:289:13
[INFO] [stdout]     |
[INFO] [stdout] 289 |         rng.gen()
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/chain/account_login.rs:435:42
[INFO] [stdout]     |
[INFO] [stdout] 435 |         let random_bytes: [u8; 16] = rng.gen();
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/chain/account_login.rs:443:42
[INFO] [stdout]     |
[INFO] [stdout] 443 |         let random_bytes: [u8; 32] = rng.gen();
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/chain/account_login.rs:451:42
[INFO] [stdout]     |
[INFO] [stdout] 451 |         let random_bytes: [u8; 32] = rng.gen();
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]  --> src/ecc/public_key.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ripemd::{Ripemd160, Digest as RipemdDigest};
[INFO] [stdout]   |                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ripemd::Digest`
[INFO] [stdout]  --> src/ecc/address.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ripemd::Digest as RipemdDigest;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]  --> src/ecc/brain_key.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use sha2::{Sha256, Digest};
[INFO] [stdout]   |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]  --> src/ecc/hash.rs:6:25
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ripemd::{Ripemd160, Digest as RipemdDigest};
[INFO] [stdout]   |                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> src/storage/storage_local.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/chain/number_utils.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StorageApi`
[INFO] [stdout]   --> src/storage/storage_local.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     StorageApi, StorageApiSync, StorageConfig, StorageMetadata, StorageBackend,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> src/storage/storage_local.rs:23:31
[INFO] [stdout]    |
[INFO] [stdout] 23 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_compressed`
[INFO] [stdout]   --> src/ecc/private_key.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let is_compressed = if decoded.len() == 38 {
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_compressed`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `zero_key`
[INFO] [stdout]    --> src/ecc/private_key.rs:189:19
[INFO] [stdout]     |
[INFO] [stdout] 189 |         if let Ok(zero_key) = SecretKey::from_slice(&zero_bytes) {
[INFO] [stdout]     |                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_zero_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/ecc/mod.rs:178:31
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub fn recover_public_key(message: &[u8], signature: &Signature) -> EccResult<PublicKey> {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signing_data`
[INFO] [stdout]    --> src/chain/transaction_helper.rs:148:13
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let signing_data = Self::serialize_for_signing(transaction, chain_id)?;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signing_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `api_url`
[INFO] [stdout]    --> src/chain/transaction_helper.rs:360:9
[INFO] [stdout]     |
[INFO] [stdout] 360 |         api_url: &str,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_api_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `authority`
[INFO] [stdout]    --> src/chain/transaction_helper.rs:439:25
[INFO] [stdout]     |
[INFO] [stdout] 439 |             if let Some(authority) = authorities.get(&account_id) {
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_authority`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain_properties`
[INFO] [stdout]   --> src/chain/chain_validation.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         chain_properties: &ChainProperties,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chain_properties`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sequence`
[INFO] [stdout]    --> src/chain/account_login.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |         sequence: u32,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sequence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `credentials`
[INFO] [stdout]    --> src/chain/mod.rs:156:29
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn login(&mut self, credentials: &LoginCredentials) -> ChainResult<LoginChallenge> {
[INFO] [stdout]     |                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_credentials`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/serializer/serializer_operation.rs:574:36
[INFO] [stdout]     |
[INFO] [stdout] 574 |     fn deserialize_account_options(data: &[u8], offset: &mut usize) -> SerializerResult<crate::chain::AccountOptions> {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/serializer/serializer_operation.rs:589:34
[INFO] [stdout]     |
[INFO] [stdout] 589 |     fn deserialize_asset_options(data: &[u8], offset: &mut usize) -> SerializerResult<crate::chain::AssetOptions> {
[INFO] [stdout]     |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fill_or_kill`
[INFO] [stdout]   --> src/serializer/serializer_validation.rs:96:95
[INFO] [stdout]    |
[INFO] [stdout] 96 |             Operation::LimitOrderCreate { seller, amount_to_sell, min_to_receive, expiration, fill_or_kill, fee, extensions } => {
[INFO] [stdout]    |                                                                                               ^^^^^^^^^^^^ help: try ignoring the field: `fill_or_kill: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]    --> src/serializer/serializer_validation.rs:117:100
[INFO] [stdout]     |
[INFO] [stdout] 117 |             Operation::AccountCreate { registrar, referrer, referrer_percent, name, owner, active, options, fee, extensions } => {
[INFO] [stdout]     |                                                                                                    ^^^^^^^ help: try ignoring the field: `options: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_options`
[INFO] [stdout]    --> src/serializer/serializer_validation.rs:134:64
[INFO] [stdout]     |
[INFO] [stdout] 134 |             Operation::AccountUpdate { account, owner, active, new_options, fee, extensions } => {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^ help: try ignoring the field: `new_options: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `common_options`
[INFO] [stdout]    --> src/serializer/serializer_validation.rs:148:65
[INFO] [stdout]     |
[INFO] [stdout] 148 | ...   Operation::AssetCreate { issuer, symbol, precision, common_options, bitasset_opts, is_prediction_market, fee, extensions } => {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^ help: try ignoring the field: `common_options: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bitasset_opts`
[INFO] [stdout]    --> src/serializer/serializer_validation.rs:148:81
[INFO] [stdout]     |
[INFO] [stdout] 148 | ...mbol, precision, common_options, bitasset_opts, is_prediction_market, fee, extensions } => {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^ help: try ignoring the field: `bitasset_opts: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_prediction_market`
[INFO] [stdout]    --> src/serializer/serializer_validation.rs:148:96
[INFO] [stdout]     |
[INFO] [stdout] 148 | ...n_options, bitasset_opts, is_prediction_market, fee, extensions } => {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `is_prediction_market: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_options`
[INFO] [stdout]    --> src/serializer/serializer_validation.rs:162:63
[INFO] [stdout]     |
[INFO] [stdout] 162 |             Operation::AssetUpdate { issuer, asset_to_update, new_options, fee, extensions } => {
[INFO] [stdout]     |                                                               ^^^^^^^^^^^ help: try ignoring the field: `new_options: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/serializer/serializer_validation.rs:175:33
[INFO] [stdout]     |
[INFO] [stdout] 175 |             Operation::Custom { id, payer, required_auths, data, fee, extensions } => {
[INFO] [stdout]     |                                 ^^ help: try ignoring the field: `id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/serializer/serializer_validation.rs:547:38
[INFO] [stdout]     |
[INFO] [stdout] 547 |     pub fn comprehensive_validate<T>(data: &T, type_name: &str) -> SerializerResult<()>
[INFO] [stdout]     |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inner` is never used
[INFO] [stdout]    --> src/ecc/private_key.rs:172:19
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl PrivateKey {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub(crate) fn inner(&self) -> &SecretKey {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `pkcs7_pad` and `pkcs7_unpad` are never used
[INFO] [stdout]    --> src/ecc/aes.rs:240:8
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Aes {
[INFO] [stdout]     | -------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 240 |     fn pkcs7_pad(data: &[u8], block_size: usize) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     fn pkcs7_unpad(data: &[u8]) -> EccResult<Vec<u8>> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `buffer_size` is never read
[INFO] [stdout]    --> src/serializer/fast_parser.rs:431:5
[INFO] [stdout]     |
[INFO] [stdout] 428 | pub struct StreamingParser<R: Read> {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 431 |     buffer_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `serialize_object_id_vec` and `deserialize_object_id_vec` are never used
[INFO] [stdout]    --> src/serializer/serializer_operation.rs:470:8
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl SerializerOperation {
[INFO] [stdout]     | ------------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 470 |     fn serialize_object_id_vec(value: &[ObjectId], buffer: &mut Vec<u8>) -> SerializerResult<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 699 |     fn deserialize_object_id_vec(data: &[u8], offset: &mut usize) -> SerializerResult<Vec<ObjectId>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `buffer_capacity` is never read
[INFO] [stdout]   --> src/serializer/serializer.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Serializer {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 19 |     /// Buffer capacity for serialization operations
[INFO] [stdout] 20 |     buffer_capacity: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bytes_to_hex` is never used
[INFO] [stdout]  --> src/utils.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn bytes_to_hex(bytes: &[u8]) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_to_bytes` is never used
[INFO] [stdout]  --> src/utils.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn hex_to_bytes(hex: &str) -> Result<Vec<u8>, hex::FromHexError> {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_key_length` is never used
[INFO] [stdout]   --> src/utils.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn validate_key_length(key: &[u8], expected_len: usize) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:29:20
[INFO] [stdout]    |
[INFO] [stdout] 29 |     InvalidInput { message: String },
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 |     Configuration { message: String },
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |     Other { message: String },
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:53:25
[INFO] [stdout]    |
[INFO] [stdout] 53 |     InvalidPrivateKey { reason: String },
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:57:24
[INFO] [stdout]    |
[INFO] [stdout] 57 |     InvalidPublicKey { reason: String },
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:61:24
[INFO] [stdout]    |
[INFO] [stdout] 61 |     InvalidSignature { reason: String },
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:65:22
[INFO] [stdout]    |
[INFO] [stdout] 65 |     InvalidAddress { reason: String },
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:69:29
[INFO] [stdout]    |
[INFO] [stdout] 69 |     CryptoOperationFailed { operation: String },
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:73:27
[INFO] [stdout]    |
[INFO] [stdout] 73 |     KeyDerivationFailed { reason: String },
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:77:23
[INFO] [stdout]    |
[INFO] [stdout] 77 |     EncryptionError { reason: String },
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:85:26
[INFO] [stdout]    |
[INFO] [stdout] 85 |     InvalidTransaction { reason: String },
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:89:30
[INFO] [stdout]    |
[INFO] [stdout] 89 |     TransactionBuildFailed { reason: String },
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:93:20
[INFO] [stdout]    |
[INFO] [stdout] 93 |     InvalidBlock { reason: String },
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:97:23
[INFO] [stdout]    |
[INFO] [stdout] 97 |     ChainStateError { reason: String },
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:101:23
[INFO] [stdout]     |
[INFO] [stdout] 101 |     InvalidObjectId { id: String },
[INFO] [stdout]     |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:105:22
[INFO] [stdout]     |
[INFO] [stdout] 105 |     ObjectNotFound { id: String },
[INFO] [stdout]     |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |     ValidationError { field: String, reason: String },
[INFO] [stdout]     |                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:109:38
[INFO] [stdout]     |
[INFO] [stdout] 109 |     ValidationError { field: String, reason: String },
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:113:29
[INFO] [stdout]     |
[INFO] [stdout] 113 |     CryptoOperationFailed { operation: String },
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:130:27
[INFO] [stdout]     |
[INFO] [stdout] 130 |     SerializationFailed { reason: String },
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:134:29
[INFO] [stdout]     |
[INFO] [stdout] 134 |     DeserializationFailed { reason: String },
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:138:21
[INFO] [stdout]     |
[INFO] [stdout] 138 |     InvalidFormat { expected: String, actual: String },
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:138:39
[INFO] [stdout]     |
[INFO] [stdout] 138 |     InvalidFormat { expected: String, actual: String },
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:142:19
[INFO] [stdout]     |
[INFO] [stdout] 142 |     BufferError { reason: String },
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:146:27
[INFO] [stdout]     |
[INFO] [stdout] 146 |     TypeConversionError { from: String, to: String },
[INFO] [stdout]     |                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:146:41
[INFO] [stdout]     |
[INFO] [stdout] 146 |     TypeConversionError { from: String, to: String },
[INFO] [stdout]     |                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:154:27
[INFO] [stdout]     |
[INFO] [stdout] 154 |     BackendNotAvailable { backend: String },
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:158:23
[INFO] [stdout]     |
[INFO] [stdout] 158 |     OperationFailed { operation: String, reason: String },
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:158:42
[INFO] [stdout]     |
[INFO] [stdout] 158 |     OperationFailed { operation: String, reason: String },
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:162:28
[INFO] [stdout]     |
[INFO] [stdout] 162 |     AuthenticationFailed { reason: String },
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:166:24
[INFO] [stdout]     |
[INFO] [stdout] 166 |     PermissionDenied { resource: String },
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:170:24
[INFO] [stdout]     |
[INFO] [stdout] 170 |     ResourceNotFound { resource: String },
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:178:23
[INFO] [stdout]     |
[INFO] [stdout] 178 |     ConnectionError { reason: String },
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:190:25
[INFO] [stdout]     |
[INFO] [stdout] 190 |     ConnectionRefused { address: String },
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:194:27
[INFO] [stdout]     |
[INFO] [stdout] 194 |     DnsResolutionFailed { hostname: String },
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:198:18
[INFO] [stdout]     |
[INFO] [stdout] 198 |     InvalidUrl { url: String },
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:202:17
[INFO] [stdout]     |
[INFO] [stdout] 202 |     HttpError { status: u16, message: String },
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:202:30
[INFO] [stdout]     |
[INFO] [stdout] 202 |     HttpError { status: u16, message: String },
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/ecc/address.rs:27:14
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Legacy { version: u8 },
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/storage/mod.rs:358:9
[INFO] [stdout]     |
[INFO] [stdout] 358 |         pub fn new(inner: S, max_cache_size: usize) -> Self {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 36s
[INFO] running `Command { std: "docker" "inspect" "164bd00258f94c24c26af4121c06541d00392f11c78e7f354d0e7358f64025cd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "164bd00258f94c24c26af4121c06541d00392f11c78e7f354d0e7358f64025cd", kill_on_drop: false }`
[INFO] [stdout] 164bd00258f94c24c26af4121c06541d00392f11c78e7f354d0e7358f64025cd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a7dd84ac21f7fe6d0359e3eef3e41ea0cbbb87ca3e18686b488219a531b6f9f9
[INFO] running `Command { std: "docker" "start" "-a" "a7dd84ac21f7fe6d0359e3eef3e41ea0cbbb87ca3e18686b488219a531b6f9f9", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling linux-raw-sys v0.9.4
[INFO] [stderr]    Compiling bitflags v2.9.1
[INFO] [stderr]    Compiling tokio v1.45.1
[INFO] [stderr]    Compiling half v2.6.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling clap_builder v4.5.40
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling tempfile v3.20.0
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling rusty-fork v0.3.0
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling clap v4.5.40
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling uuid v1.17.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling proptest v1.7.0
[INFO] [stderr]    Compiling tracing-error v0.2.1
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling color-spantrace v0.3.0
[INFO] [stderr]    Compiling color-eyre v0.6.5
[INFO] [stderr]    Compiling criterion v0.6.0
[INFO] [stderr]    Compiling tokio-test v0.4.4
[INFO] [stderr]    Compiling r-squared-rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/chain/chain_validation.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::HashMap;
[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: `Cursor`
[INFO] [stdout]  --> src/serializer/fast_parser.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{Read, Cursor};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/ecc/address.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]  --> src/ecc/brain_key.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/ecc/brain_key.rs:45:23
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut rng = thread_rng();
[INFO] [stdout]    |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]  --> src/ecc/key_utils.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/ecc/key_utils.rs:135:23
[INFO] [stdout]     |
[INFO] [stdout] 135 |         let mut rng = thread_rng();
[INFO] [stdout]     |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/ecc/key_utils.rs:161:23
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let mut rng = thread_rng();
[INFO] [stdout]     |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]  --> src/ecc/aes.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/ecc/aes.rs:32:31
[INFO] [stdout]    |
[INFO] [stdout] 32 |                 let mut rng = thread_rng();
[INFO] [stdout]    |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/ecc/aes.rs:175:31
[INFO] [stdout]     |
[INFO] [stdout] 175 |                 let mut rng = thread_rng();
[INFO] [stdout]     |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/ecc/aes.rs:282:23
[INFO] [stdout]     |
[INFO] [stdout] 282 |         let mut rng = thread_rng();
[INFO] [stdout]     |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/ecc/aes.rs:288:23
[INFO] [stdout]     |
[INFO] [stdout] 288 |         let mut rng = thread_rng();
[INFO] [stdout]     |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/chain/account_login.rs:434:29
[INFO] [stdout]     |
[INFO] [stdout] 434 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/chain/account_login.rs:442:29
[INFO] [stdout]     |
[INFO] [stdout] 442 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/chain/account_login.rs:450:29
[INFO] [stdout]     |
[INFO] [stdout] 450 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `secp256k1::SecretKey::from_slice`: Use `from_byte_array` instead.
[INFO] [stdout]   --> src/ecc/private_key.rs:38:30
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let key = SecretKey::from_slice(bytes)
[INFO] [stdout]    |                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `secp256k1::Message::from_slice`: use from_digest instead
[INFO] [stdout]    --> src/ecc/private_key.rs:137:32
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let message = Message::from_slice(message_hash)
[INFO] [stdout]     |                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `secp256k1::SecretKey::from_slice`: Use `from_byte_array` instead.
[INFO] [stdout]    --> src/ecc/private_key.rs:189:42
[INFO] [stdout]     |
[INFO] [stdout] 189 |         if let Ok(zero_key) = SecretKey::from_slice(&zero_bytes) {
[INFO] [stdout]     |                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `secp256k1::Message::from_slice`: use from_digest instead
[INFO] [stdout]    --> src/ecc/public_key.rs:130:32
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let message = Message::from_slice(message_hash)
[INFO] [stdout]     |                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/ecc/address.rs:265:34
[INFO] [stdout]     |
[INFO] [stdout] 265 |         let hash: [u8; 20] = rng.gen();
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/ecc/brain_key.rs:49:29
[INFO] [stdout]    |
[INFO] [stdout] 49 |             let index = rng.gen_range(0..dictionary.len());
[INFO] [stdout]    |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/ecc/key_utils.rs:136:33
[INFO] [stdout]     |
[INFO] [stdout] 136 |         (0..length).map(|_| rng.gen()).collect()
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/ecc/key_utils.rs:170:43
[INFO] [stdout]     |
[INFO] [stdout] 170 |                 let random_byte: u8 = rng.gen();
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]   --> src/ecc/aes.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 |                 rng.gen()
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/ecc/aes.rs:176:37
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 (0..16).map(|_| rng.gen()).collect()
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `secp256k1::SecretKey::from_slice`: Use `from_byte_array` instead.
[INFO] [stdout]    --> src/ecc/aes.rs:222:37
[INFO] [stdout]     |
[INFO] [stdout] 222 |         let secret_key = SecretKey::from_slice(private_key)
[INFO] [stdout]     |                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/ecc/aes.rs:283:13
[INFO] [stdout]     |
[INFO] [stdout] 283 |         rng.gen()
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/ecc/aes.rs:289:13
[INFO] [stdout]     |
[INFO] [stdout] 289 |         rng.gen()
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/chain/account_login.rs:435:42
[INFO] [stdout]     |
[INFO] [stdout] 435 |         let random_bytes: [u8; 16] = rng.gen();
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/chain/account_login.rs:443:42
[INFO] [stdout]     |
[INFO] [stdout] 443 |         let random_bytes: [u8; 32] = rng.gen();
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/chain/account_login.rs:451:42
[INFO] [stdout]     |
[INFO] [stdout] 451 |         let random_bytes: [u8; 32] = rng.gen();
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]  --> src/ecc/public_key.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ripemd::{Ripemd160, Digest as RipemdDigest};
[INFO] [stdout]   |                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ripemd::Digest`
[INFO] [stdout]  --> src/ecc/address.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ripemd::Digest as RipemdDigest;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]  --> src/ecc/brain_key.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use sha2::{Sha256, Digest};
[INFO] [stdout]   |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]  --> src/ecc/hash.rs:6:25
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ripemd::{Ripemd160, Digest as RipemdDigest};
[INFO] [stdout]   |                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> src/storage/storage_local.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/chain/number_utils.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StorageApi`
[INFO] [stdout]   --> src/storage/storage_local.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     StorageApi, StorageApiSync, StorageConfig, StorageMetadata, StorageBackend,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> src/storage/storage_local.rs:23:31
[INFO] [stdout]    |
[INFO] [stdout] 23 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_compressed`
[INFO] [stdout]   --> src/ecc/private_key.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let is_compressed = if decoded.len() == 38 {
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_compressed`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `zero_key`
[INFO] [stdout]    --> src/ecc/private_key.rs:189:19
[INFO] [stdout]     |
[INFO] [stdout] 189 |         if let Ok(zero_key) = SecretKey::from_slice(&zero_bytes) {
[INFO] [stdout]     |                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_zero_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/ecc/mod.rs:178:31
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub fn recover_public_key(message: &[u8], signature: &Signature) -> EccResult<PublicKey> {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signing_data`
[INFO] [stdout]    --> src/chain/transaction_helper.rs:148:13
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let signing_data = Self::serialize_for_signing(transaction, chain_id)?;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signing_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `api_url`
[INFO] [stdout]    --> src/chain/transaction_helper.rs:360:9
[INFO] [stdout]     |
[INFO] [stdout] 360 |         api_url: &str,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_api_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `authority`
[INFO] [stdout]    --> src/chain/transaction_helper.rs:439:25
[INFO] [stdout]     |
[INFO] [stdout] 439 |             if let Some(authority) = authorities.get(&account_id) {
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_authority`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain_properties`
[INFO] [stdout]   --> src/chain/chain_validation.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         chain_properties: &ChainProperties,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chain_properties`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sequence`
[INFO] [stdout]    --> src/chain/account_login.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |         sequence: u32,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sequence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `credentials`
[INFO] [stdout]    --> src/chain/mod.rs:156:29
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn login(&mut self, credentials: &LoginCredentials) -> ChainResult<LoginChallenge> {
[INFO] [stdout]     |                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_credentials`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/serializer/serializer_operation.rs:574:36
[INFO] [stdout]     |
[INFO] [stdout] 574 |     fn deserialize_account_options(data: &[u8], offset: &mut usize) -> SerializerResult<crate::chain::AccountOptions> {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/serializer/serializer_operation.rs:589:34
[INFO] [stdout]     |
[INFO] [stdout] 589 |     fn deserialize_asset_options(data: &[u8], offset: &mut usize) -> SerializerResult<crate::chain::AssetOptions> {
[INFO] [stdout]     |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fill_or_kill`
[INFO] [stdout]   --> src/serializer/serializer_validation.rs:96:95
[INFO] [stdout]    |
[INFO] [stdout] 96 |             Operation::LimitOrderCreate { seller, amount_to_sell, min_to_receive, expiration, fill_or_kill, fee, extensions } => {
[INFO] [stdout]    |                                                                                               ^^^^^^^^^^^^ help: try ignoring the field: `fill_or_kill: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]    --> src/serializer/serializer_validation.rs:117:100
[INFO] [stdout]     |
[INFO] [stdout] 117 |             Operation::AccountCreate { registrar, referrer, referrer_percent, name, owner, active, options, fee, extensions } => {
[INFO] [stdout]     |                                                                                                    ^^^^^^^ help: try ignoring the field: `options: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_options`
[INFO] [stdout]    --> src/serializer/serializer_validation.rs:134:64
[INFO] [stdout]     |
[INFO] [stdout] 134 |             Operation::AccountUpdate { account, owner, active, new_options, fee, extensions } => {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^ help: try ignoring the field: `new_options: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `common_options`
[INFO] [stdout]    --> src/serializer/serializer_validation.rs:148:65
[INFO] [stdout]     |
[INFO] [stdout] 148 | ...   Operation::AssetCreate { issuer, symbol, precision, common_options, bitasset_opts, is_prediction_market, fee, extensions } => {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^ help: try ignoring the field: `common_options: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bitasset_opts`
[INFO] [stdout]    --> src/serializer/serializer_validation.rs:148:81
[INFO] [stdout]     |
[INFO] [stdout] 148 | ...mbol, precision, common_options, bitasset_opts, is_prediction_market, fee, extensions } => {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^ help: try ignoring the field: `bitasset_opts: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_prediction_market`
[INFO] [stdout]    --> src/serializer/serializer_validation.rs:148:96
[INFO] [stdout]     |
[INFO] [stdout] 148 | ...n_options, bitasset_opts, is_prediction_market, fee, extensions } => {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `is_prediction_market: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_options`
[INFO] [stdout]    --> src/serializer/serializer_validation.rs:162:63
[INFO] [stdout]     |
[INFO] [stdout] 162 |             Operation::AssetUpdate { issuer, asset_to_update, new_options, fee, extensions } => {
[INFO] [stdout]     |                                                               ^^^^^^^^^^^ help: try ignoring the field: `new_options: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/serializer/serializer_validation.rs:175:33
[INFO] [stdout]     |
[INFO] [stdout] 175 |             Operation::Custom { id, payer, required_auths, data, fee, extensions } => {
[INFO] [stdout]     |                                 ^^ help: try ignoring the field: `id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/serializer/serializer_validation.rs:547:38
[INFO] [stdout]     |
[INFO] [stdout] 547 |     pub fn comprehensive_validate<T>(data: &T, type_name: &str) -> SerializerResult<()>
[INFO] [stdout]     |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inner` is never used
[INFO] [stdout]    --> src/ecc/private_key.rs:172:19
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl PrivateKey {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub(crate) fn inner(&self) -> &SecretKey {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `pkcs7_pad` and `pkcs7_unpad` are never used
[INFO] [stdout]    --> src/ecc/aes.rs:240:8
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Aes {
[INFO] [stdout]     | -------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 240 |     fn pkcs7_pad(data: &[u8], block_size: usize) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     fn pkcs7_unpad(data: &[u8]) -> EccResult<Vec<u8>> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `buffer_size` is never read
[INFO] [stdout]    --> src/serializer/fast_parser.rs:431:5
[INFO] [stdout]     |
[INFO] [stdout] 428 | pub struct StreamingParser<R: Read> {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 431 |     buffer_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `serialize_object_id_vec` and `deserialize_object_id_vec` are never used
[INFO] [stdout]    --> src/serializer/serializer_operation.rs:470:8
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl SerializerOperation {
[INFO] [stdout]     | ------------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 470 |     fn serialize_object_id_vec(value: &[ObjectId], buffer: &mut Vec<u8>) -> SerializerResult<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 699 |     fn deserialize_object_id_vec(data: &[u8], offset: &mut usize) -> SerializerResult<Vec<ObjectId>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `buffer_capacity` is never read
[INFO] [stdout]   --> src/serializer/serializer.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Serializer {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 19 |     /// Buffer capacity for serialization operations
[INFO] [stdout] 20 |     buffer_capacity: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bytes_to_hex` is never used
[INFO] [stdout]  --> src/utils.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn bytes_to_hex(bytes: &[u8]) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_to_bytes` is never used
[INFO] [stdout]  --> src/utils.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn hex_to_bytes(hex: &str) -> Result<Vec<u8>, hex::FromHexError> {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_key_length` is never used
[INFO] [stdout]   --> src/utils.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn validate_key_length(key: &[u8], expected_len: usize) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:29:20
[INFO] [stdout]    |
[INFO] [stdout] 29 |     InvalidInput { message: String },
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 |     Configuration { message: String },
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |     Other { message: String },
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:53:25
[INFO] [stdout]    |
[INFO] [stdout] 53 |     InvalidPrivateKey { reason: String },
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:57:24
[INFO] [stdout]    |
[INFO] [stdout] 57 |     InvalidPublicKey { reason: String },
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:61:24
[INFO] [stdout]    |
[INFO] [stdout] 61 |     InvalidSignature { reason: String },
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:65:22
[INFO] [stdout]    |
[INFO] [stdout] 65 |     InvalidAddress { reason: String },
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:69:29
[INFO] [stdout]    |
[INFO] [stdout] 69 |     CryptoOperationFailed { operation: String },
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:73:27
[INFO] [stdout]    |
[INFO] [stdout] 73 |     KeyDerivationFailed { reason: String },
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:77:23
[INFO] [stdout]    |
[INFO] [stdout] 77 |     EncryptionError { reason: String },
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:85:26
[INFO] [stdout]    |
[INFO] [stdout] 85 |     InvalidTransaction { reason: String },
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:89:30
[INFO] [stdout]    |
[INFO] [stdout] 89 |     TransactionBuildFailed { reason: String },
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:93:20
[INFO] [stdout]    |
[INFO] [stdout] 93 |     InvalidBlock { reason: String },
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:97:23
[INFO] [stdout]    |
[INFO] [stdout] 97 |     ChainStateError { reason: String },
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:101:23
[INFO] [stdout]     |
[INFO] [stdout] 101 |     InvalidObjectId { id: String },
[INFO] [stdout]     |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:105:22
[INFO] [stdout]     |
[INFO] [stdout] 105 |     ObjectNotFound { id: String },
[INFO] [stdout]     |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |     ValidationError { field: String, reason: String },
[INFO] [stdout]     |                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:109:38
[INFO] [stdout]     |
[INFO] [stdout] 109 |     ValidationError { field: String, reason: String },
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:113:29
[INFO] [stdout]     |
[INFO] [stdout] 113 |     CryptoOperationFailed { operation: String },
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:130:27
[INFO] [stdout]     |
[INFO] [stdout] 130 |     SerializationFailed { reason: String },
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:134:29
[INFO] [stdout]     |
[INFO] [stdout] 134 |     DeserializationFailed { reason: String },
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:138:21
[INFO] [stdout]     |
[INFO] [stdout] 138 |     InvalidFormat { expected: String, actual: String },
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:138:39
[INFO] [stdout]     |
[INFO] [stdout] 138 |     InvalidFormat { expected: String, actual: String },
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:142:19
[INFO] [stdout]     |
[INFO] [stdout] 142 |     BufferError { reason: String },
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:146:27
[INFO] [stdout]     |
[INFO] [stdout] 146 |     TypeConversionError { from: String, to: String },
[INFO] [stdout]     |                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:146:41
[INFO] [stdout]     |
[INFO] [stdout] 146 |     TypeConversionError { from: String, to: String },
[INFO] [stdout]     |                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:154:27
[INFO] [stdout]     |
[INFO] [stdout] 154 |     BackendNotAvailable { backend: String },
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:158:23
[INFO] [stdout]     |
[INFO] [stdout] 158 |     OperationFailed { operation: String, reason: String },
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:158:42
[INFO] [stdout]     |
[INFO] [stdout] 158 |     OperationFailed { operation: String, reason: String },
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:162:28
[INFO] [stdout]     |
[INFO] [stdout] 162 |     AuthenticationFailed { reason: String },
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:166:24
[INFO] [stdout]     |
[INFO] [stdout] 166 |     PermissionDenied { resource: String },
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:170:24
[INFO] [stdout]     |
[INFO] [stdout] 170 |     ResourceNotFound { resource: String },
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:178:23
[INFO] [stdout]     |
[INFO] [stdout] 178 |     ConnectionError { reason: String },
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:190:25
[INFO] [stdout]     |
[INFO] [stdout] 190 |     ConnectionRefused { address: String },
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:194:27
[INFO] [stdout]     |
[INFO] [stdout] 194 |     DnsResolutionFailed { hostname: String },
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:198:18
[INFO] [stdout]     |
[INFO] [stdout] 198 |     InvalidUrl { url: String },
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:202:17
[INFO] [stdout]     |
[INFO] [stdout] 202 |     HttpError { status: u16, message: String },
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:202:30
[INFO] [stdout]     |
[INFO] [stdout] 202 |     HttpError { status: u16, message: String },
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/ecc/address.rs:27:14
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Legacy { version: u8 },
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/storage/mod.rs:358:9
[INFO] [stdout]     |
[INFO] [stdout] 358 |         pub fn new(inner: S, max_cache_size: usize) -> Self {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ecc::PrivateKey`
[INFO] [stdout]    --> src/chain/transaction_builder.rs:529:9
[INFO] [stdout]     |
[INFO] [stdout] 529 |     use crate::ecc::PrivateKey;
[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: `crate::ecc::PrivateKey`
[INFO] [stdout]    --> src/chain/transaction_helper.rs:459:9
[INFO] [stdout]     |
[INFO] [stdout] 459 |     use crate::ecc::PrivateKey;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `de::DeserializeOwned as TestDeserializeOwned`
[INFO] [stdout]   --> src/serializer/serializer.rs:15:26
[INFO] [stdout]    |
[INFO] [stdout] 15 | use serde::{Deserialize, de::DeserializeOwned as TestDeserializeOwned};
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/ecc/address.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]  --> src/ecc/brain_key.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/ecc/brain_key.rs:45:23
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut rng = thread_rng();
[INFO] [stdout]    |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]  --> src/ecc/key_utils.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/ecc/key_utils.rs:135:23
[INFO] [stdout]     |
[INFO] [stdout] 135 |         let mut rng = thread_rng();
[INFO] [stdout]     |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/ecc/key_utils.rs:161:23
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let mut rng = thread_rng();
[INFO] [stdout]     |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]  --> src/ecc/aes.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::{Rng, thread_rng};
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/ecc/aes.rs:32:31
[INFO] [stdout]    |
[INFO] [stdout] 32 |                 let mut rng = thread_rng();
[INFO] [stdout]    |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/ecc/aes.rs:175:31
[INFO] [stdout]     |
[INFO] [stdout] 175 |                 let mut rng = thread_rng();
[INFO] [stdout]     |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/ecc/aes.rs:282:23
[INFO] [stdout]     |
[INFO] [stdout] 282 |         let mut rng = thread_rng();
[INFO] [stdout]     |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/ecc/aes.rs:288:23
[INFO] [stdout]     |
[INFO] [stdout] 288 |         let mut rng = thread_rng();
[INFO] [stdout]     |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/chain/account_login.rs:434:29
[INFO] [stdout]     |
[INFO] [stdout] 434 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/chain/account_login.rs:442:29
[INFO] [stdout]     |
[INFO] [stdout] 442 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/chain/account_login.rs:450:29
[INFO] [stdout]     |
[INFO] [stdout] 450 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `secp256k1::SecretKey::from_slice`: Use `from_byte_array` instead.
[INFO] [stdout]   --> src/ecc/private_key.rs:38:30
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let key = SecretKey::from_slice(bytes)
[INFO] [stdout]    |                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `secp256k1::Message::from_slice`: use from_digest instead
[INFO] [stdout]    --> src/ecc/private_key.rs:137:32
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let message = Message::from_slice(message_hash)
[INFO] [stdout]     |                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `secp256k1::SecretKey::from_slice`: Use `from_byte_array` instead.
[INFO] [stdout]    --> src/ecc/private_key.rs:189:42
[INFO] [stdout]     |
[INFO] [stdout] 189 |         if let Ok(zero_key) = SecretKey::from_slice(&zero_bytes) {
[INFO] [stdout]     |                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `secp256k1::Message::from_slice`: use from_digest instead
[INFO] [stdout]    --> src/ecc/public_key.rs:130:32
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let message = Message::from_slice(message_hash)
[INFO] [stdout]     |                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `secp256k1::Message::from_slice`: use from_digest instead
[INFO] [stdout]    --> src/ecc/signature.rs:219:36
[INFO] [stdout]     |
[INFO] [stdout] 219 |         let message_obj = Message::from_slice(&hash).unwrap();
[INFO] [stdout]     |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/ecc/address.rs:265:34
[INFO] [stdout]     |
[INFO] [stdout] 265 |         let hash: [u8; 20] = rng.gen();
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/ecc/brain_key.rs:49:29
[INFO] [stdout]    |
[INFO] [stdout] 49 |             let index = rng.gen_range(0..dictionary.len());
[INFO] [stdout]    |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/ecc/key_utils.rs:136:33
[INFO] [stdout]     |
[INFO] [stdout] 136 |         (0..length).map(|_| rng.gen()).collect()
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/ecc/key_utils.rs:170:43
[INFO] [stdout]     |
[INFO] [stdout] 170 |                 let random_byte: u8 = rng.gen();
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]   --> src/ecc/aes.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 |                 rng.gen()
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/ecc/aes.rs:176:37
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 (0..16).map(|_| rng.gen()).collect()
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `secp256k1::SecretKey::from_slice`: Use `from_byte_array` instead.
[INFO] [stdout]    --> src/ecc/aes.rs:222:37
[INFO] [stdout]     |
[INFO] [stdout] 222 |         let secret_key = SecretKey::from_slice(private_key)
[INFO] [stdout]     |                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/ecc/aes.rs:283:13
[INFO] [stdout]     |
[INFO] [stdout] 283 |         rng.gen()
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/ecc/aes.rs:289:13
[INFO] [stdout]     |
[INFO] [stdout] 289 |         rng.gen()
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/chain/account_login.rs:435:42
[INFO] [stdout]     |
[INFO] [stdout] 435 |         let random_bytes: [u8; 16] = rng.gen();
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/chain/account_login.rs:443:42
[INFO] [stdout]     |
[INFO] [stdout] 443 |         let random_bytes: [u8; 32] = rng.gen();
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]    --> src/chain/account_login.rs:451:42
[INFO] [stdout]     |
[INFO] [stdout] 451 |         let random_bytes: [u8; 32] = rng.gen();
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]  --> src/ecc/public_key.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ripemd::{Ripemd160, Digest as RipemdDigest};
[INFO] [stdout]   |                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ripemd::Digest`
[INFO] [stdout]  --> src/ecc/address.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ripemd::Digest as RipemdDigest;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]  --> src/ecc/brain_key.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use sha2::{Sha256, Digest};
[INFO] [stdout]   |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]  --> src/ecc/hash.rs:6:25
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ripemd::{Ripemd160, Digest as RipemdDigest};
[INFO] [stdout]   |                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/chain/number_utils.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> src/storage/storage_local.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StorageApi`
[INFO] [stdout]   --> src/storage/storage_local.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     StorageApi, StorageApiSync, StorageConfig, StorageMetadata, StorageBackend,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> src/storage/storage_local.rs:23:31
[INFO] [stdout]    |
[INFO] [stdout] 23 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_compressed`
[INFO] [stdout]   --> src/ecc/private_key.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let is_compressed = if decoded.len() == 38 {
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_compressed`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `zero_key`
[INFO] [stdout]    --> src/ecc/private_key.rs:189:19
[INFO] [stdout]     |
[INFO] [stdout] 189 |         if let Ok(zero_key) = SecretKey::from_slice(&zero_bytes) {
[INFO] [stdout]     |                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_zero_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/ecc/mod.rs:178:31
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub fn recover_public_key(message: &[u8], signature: &Signature) -> EccResult<PublicKey> {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signing_data`
[INFO] [stdout]    --> src/chain/transaction_helper.rs:148:13
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let signing_data = Self::serialize_for_signing(transaction, chain_id)?;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signing_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `api_url`
[INFO] [stdout]    --> src/chain/transaction_helper.rs:360:9
[INFO] [stdout]     |
[INFO] [stdout] 360 |         api_url: &str,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_api_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `authority`
[INFO] [stdout]    --> src/chain/transaction_helper.rs:439:25
[INFO] [stdout]     |
[INFO] [stdout] 439 |             if let Some(authority) = authorities.get(&account_id) {
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_authority`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain_properties`
[INFO] [stdout]   --> src/chain/chain_validation.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         chain_properties: &ChainProperties,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chain_properties`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sequence`
[INFO] [stdout]    --> src/chain/account_login.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |         sequence: u32,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sequence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `credentials`
[INFO] [stdout]    --> src/chain/mod.rs:156:29
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn login(&mut self, credentials: &LoginCredentials) -> ChainResult<LoginChallenge> {
[INFO] [stdout]     |                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_credentials`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `r_squared_rust::error::Result`
[INFO] [stdout]  --> tests/compatibility/ecc_compatibility.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use r_squared_rust::error::Result;
[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 imports: `TestVector` and `assert_bytes_equal`
[INFO] [stdout]  --> tests/compatibility/ecc_compatibility.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::{TestVector, assert_bytes_equal, assert_strings_equal};
[INFO] [stdout]   |             ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `r_squared_rust::error::Result`
[INFO] [stdout]  --> tests/compatibility/chain_compatibility.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use r_squared_rust::error::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TestVector` and `assert_bytes_equal`
[INFO] [stdout]  --> tests/compatibility/chain_compatibility.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use super::{TestVector, assert_bytes_equal, assert_strings_equal};
[INFO] [stdout]   |             ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `r_squared_rust::error::Result`
[INFO] [stdout]  --> tests/compatibility/serializer_compatibility.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use r_squared_rust::error::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TestVector`
[INFO] [stdout]   --> tests/compatibility/serializer_compatibility.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use super::{TestVector, assert_bytes_equal, assert_strings_equal};
[INFO] [stdout]    |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/serializer/serializer_operation.rs:574:36
[INFO] [stdout]     |
[INFO] [stdout] 574 |     fn deserialize_account_options(data: &[u8], offset: &mut usize) -> SerializerResult<crate::chain::AccountOptions> {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/serializer/serializer_operation.rs:589:34
[INFO] [stdout]     |
[INFO] [stdout] 589 |     fn deserialize_asset_options(data: &[u8], offset: &mut usize) -> SerializerResult<crate::chain::AssetOptions> {
[INFO] [stdout]     |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fill_or_kill`
[INFO] [stdout]   --> src/serializer/serializer_validation.rs:96:95
[INFO] [stdout]    |
[INFO] [stdout] 96 |             Operation::LimitOrderCreate { seller, amount_to_sell, min_to_receive, expiration, fill_or_kill, fee, extensions } => {
[INFO] [stdout]    |                                                                                               ^^^^^^^^^^^^ help: try ignoring the field: `fill_or_kill: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]    --> src/serializer/serializer_validation.rs:117:100
[INFO] [stdout]     |
[INFO] [stdout] 117 |             Operation::AccountCreate { registrar, referrer, referrer_percent, name, owner, active, options, fee, extensions } => {
[INFO] [stdout]     |                                                                                                    ^^^^^^^ help: try ignoring the field: `options: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_options`
[INFO] [stdout]    --> src/serializer/serializer_validation.rs:134:64
[INFO] [stdout]     |
[INFO] [stdout] 134 |             Operation::AccountUpdate { account, owner, active, new_options, fee, extensions } => {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^ help: try ignoring the field: `new_options: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `common_options`
[INFO] [stdout]    --> src/serializer/serializer_validation.rs:148:65
[INFO] [stdout]     |
[INFO] [stdout] 148 | ...   Operation::AssetCreate { issuer, symbol, precision, common_options, bitasset_opts, is_prediction_market, fee, extensions } => {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^ help: try ignoring the field: `common_options: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bitasset_opts`
[INFO] [stdout]    --> src/serializer/serializer_validation.rs:148:81
[INFO] [stdout]     |
[INFO] [stdout] 148 | ...mbol, precision, common_options, bitasset_opts, is_prediction_market, fee, extensions } => {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^ help: try ignoring the field: `bitasset_opts: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_prediction_market`
[INFO] [stdout]    --> src/serializer/serializer_validation.rs:148:96
[INFO] [stdout]     |
[INFO] [stdout] 148 | ...n_options, bitasset_opts, is_prediction_market, fee, extensions } => {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `is_prediction_market: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_options`
[INFO] [stdout]    --> src/serializer/serializer_validation.rs:162:63
[INFO] [stdout]     |
[INFO] [stdout] 162 |             Operation::AssetUpdate { issuer, asset_to_update, new_options, fee, extensions } => {
[INFO] [stdout]     |                                                               ^^^^^^^^^^^ help: try ignoring the field: `new_options: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/serializer/serializer_validation.rs:175:33
[INFO] [stdout]     |
[INFO] [stdout] 175 |             Operation::Custom { id, payer, required_auths, data, fee, extensions } => {
[INFO] [stdout]     |                                 ^^ help: try ignoring the field: `id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/serializer/serializer_validation.rs:547:38
[INFO] [stdout]     |
[INFO] [stdout] 547 |     pub fn comprehensive_validate<T>(data: &T, type_name: &str) -> SerializerResult<()>
[INFO] [stdout]     |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `asset_amount`
[INFO] [stdout]   --> tests/compatibility/chain_compatibility.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let asset_amount = AssetAmount {
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_asset_amount`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender_public`
[INFO] [stdout]    --> tests/compatibility/chain_compatibility.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 185 |     let sender_public = sender_private.public_key()
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_public`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `product`
[INFO] [stdout]    --> tests/compatibility/chain_compatibility.rs:309:9
[INFO] [stdout]     |
[INFO] [stdout] 309 |     let product = num1.multiply(&num2).expect("Failed to multiply numbers");
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_product`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `quotient`
[INFO] [stdout]    --> tests/compatibility/chain_compatibility.rs:313:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |     let quotient = num1.divide(&num2).expect("Failed to divide numbers");
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_quotient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender_public`
[INFO] [stdout]    --> tests/compatibility/serializer_compatibility.rs:258:9
[INFO] [stdout]     |
[INFO] [stdout] 258 |     let sender_public = sender_private.public_key()
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_public`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `serializer`
[INFO] [stdout]    --> tests/compatibility/serializer_compatibility.rs:382:9
[INFO] [stdout]     |
[INFO] [stdout] 382 |     let serializer = Serializer::new();
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_serializer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIGNATURE_VECTORS` is never used
[INFO] [stdout]   --> tests/compatibility/ecc_compatibility.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 | const SIGNATURE_VECTORS: &[(&str, &str, &str, bool)] = &[
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRANSACTION_VECTORS` is never used
[INFO] [stdout]   --> tests/compatibility/chain_compatibility.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 | const TRANSACTION_VECTORS: &[(&str, &str)] = &[
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SERIALIZATION_VECTORS` is never used
[INFO] [stdout]   --> tests/compatibility/serializer_compatibility.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const SERIALIZATION_VECTORS: &[(&str, &str)] = &[
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `JSON_VECTORS` is never used
[INFO] [stdout]   --> tests/compatibility/serializer_compatibility.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const JSON_VECTORS: &[(&str, &str)] = &[
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_all_test_vectors` is never used
[INFO] [stdout]    --> tests/compatibility/test_vectors.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn generate_all_test_vectors() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_js_reference_vectors` is never used
[INFO] [stdout]    --> tests/compatibility/test_vectors.rs:191:8
[INFO] [stdout]     |
[INFO] [stdout] 191 | pub fn create_js_reference_vectors() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_test_vectors` is never used
[INFO] [stdout]    --> tests/compatibility/test_vectors.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub fn validate_test_vectors() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_ecc_vectors` is never used
[INFO] [stdout]    --> tests/compatibility/test_vectors.rs:264:4
[INFO] [stdout]     |
[INFO] [stdout] 264 | fn validate_ecc_vectors(vectors: &[TestVector]) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_chain_vectors` is never used
[INFO] [stdout]    --> tests/compatibility/test_vectors.rs:298:4
[INFO] [stdout]     |
[INFO] [stdout] 298 | fn validate_chain_vectors(vectors: &[TestVector]) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_serializer_vectors` is never used
[INFO] [stdout]    --> tests/compatibility/test_vectors.rs:341:4
[INFO] [stdout]     |
[INFO] [stdout] 341 | fn validate_serializer_vectors(vectors: &[TestVector]) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> tests/integration_tests.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     builder.set_expiration(expiration as u32);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let _ = builder.set_expiration(expiration as u32);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inner` is never used
[INFO] [stdout]    --> src/ecc/private_key.rs:172:19
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl PrivateKey {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub(crate) fn inner(&self) -> &SecretKey {
[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 `create_test_account` is never used
[INFO] [stdout]    --> src/chain/account_login.rs:527:8
[INFO] [stdout]     |
[INFO] [stdout] 527 |     fn create_test_account() -> Account {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `buffer_size` is never read
[INFO] [stdout]    --> src/serializer/fast_parser.rs:431:5
[INFO] [stdout]     |
[INFO] [stdout] 428 | pub struct StreamingParser<R: Read> {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 431 |     buffer_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `serialize_object_id_vec` and `deserialize_object_id_vec` are never used
[INFO] [stdout]    --> src/serializer/serializer_operation.rs:470:8
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl SerializerOperation {
[INFO] [stdout]     | ------------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 470 |     fn serialize_object_id_vec(value: &[ObjectId], buffer: &mut Vec<u8>) -> SerializerResult<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 699 |     fn deserialize_object_id_vec(data: &[u8], offset: &mut usize) -> SerializerResult<Vec<ObjectId>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `buffer_capacity` is never read
[INFO] [stdout]   --> src/serializer/serializer.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Serializer {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 19 |     /// Buffer capacity for serialization operations
[INFO] [stdout] 20 |     buffer_capacity: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:29:20
[INFO] [stdout]    |
[INFO] [stdout] 29 |     InvalidInput { message: String },
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 |     Configuration { message: String },
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |     Other { message: String },
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:53:25
[INFO] [stdout]    |
[INFO] [stdout] 53 |     InvalidPrivateKey { reason: String },
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:57:24
[INFO] [stdout]    |
[INFO] [stdout] 57 |     InvalidPublicKey { reason: String },
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:61:24
[INFO] [stdout]    |
[INFO] [stdout] 61 |     InvalidSignature { reason: String },
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:65:22
[INFO] [stdout]    |
[INFO] [stdout] 65 |     InvalidAddress { reason: String },
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:69:29
[INFO] [stdout]    |
[INFO] [stdout] 69 |     CryptoOperationFailed { operation: String },
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:73:27
[INFO] [stdout]    |
[INFO] [stdout] 73 |     KeyDerivationFailed { reason: String },
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:77:23
[INFO] [stdout]    |
[INFO] [stdout] 77 |     EncryptionError { reason: String },
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:85:26
[INFO] [stdout]    |
[INFO] [stdout] 85 |     InvalidTransaction { reason: String },
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:89:30
[INFO] [stdout]    |
[INFO] [stdout] 89 |     TransactionBuildFailed { reason: String },
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:93:20
[INFO] [stdout]    |
[INFO] [stdout] 93 |     InvalidBlock { reason: String },
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/error.rs:97:23
[INFO] [stdout]    |
[INFO] [stdout] 97 |     ChainStateError { reason: String },
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:101:23
[INFO] [stdout]     |
[INFO] [stdout] 101 |     InvalidObjectId { id: String },
[INFO] [stdout]     |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:105:22
[INFO] [stdout]     |
[INFO] [stdout] 105 |     ObjectNotFound { id: String },
[INFO] [stdout]     |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |     ValidationError { field: String, reason: String },
[INFO] [stdout]     |                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:109:38
[INFO] [stdout]     |
[INFO] [stdout] 109 |     ValidationError { field: String, reason: String },
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:113:29
[INFO] [stdout]     |
[INFO] [stdout] 113 |     CryptoOperationFailed { operation: String },
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:130:27
[INFO] [stdout]     |
[INFO] [stdout] 130 |     SerializationFailed { reason: String },
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:134:29
[INFO] [stdout]     |
[INFO] [stdout] 134 |     DeserializationFailed { reason: String },
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:138:21
[INFO] [stdout]     |
[INFO] [stdout] 138 |     InvalidFormat { expected: String, actual: String },
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:138:39
[INFO] [stdout]     |
[INFO] [stdout] 138 |     InvalidFormat { expected: String, actual: String },
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:142:19
[INFO] [stdout]     |
[INFO] [stdout] 142 |     BufferError { reason: String },
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:146:27
[INFO] [stdout]     |
[INFO] [stdout] 146 |     TypeConversionError { from: String, to: String },
[INFO] [stdout]     |                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:146:41
[INFO] [stdout]     |
[INFO] [stdout] 146 |     TypeConversionError { from: String, to: String },
[INFO] [stdout]     |                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:154:27
[INFO] [stdout]     |
[INFO] [stdout] 154 |     BackendNotAvailable { backend: String },
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:158:23
[INFO] [stdout]     |
[INFO] [stdout] 158 |     OperationFailed { operation: String, reason: String },
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:158:42
[INFO] [stdout]     |
[INFO] [stdout] 158 |     OperationFailed { operation: String, reason: String },
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:162:28
[INFO] [stdout]     |
[INFO] [stdout] 162 |     AuthenticationFailed { reason: String },
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:166:24
[INFO] [stdout]     |
[INFO] [stdout] 166 |     PermissionDenied { resource: String },
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:170:24
[INFO] [stdout]     |
[INFO] [stdout] 170 |     ResourceNotFound { resource: String },
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:178:23
[INFO] [stdout]     |
[INFO] [stdout] 178 |     ConnectionError { reason: String },
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:190:25
[INFO] [stdout]     |
[INFO] [stdout] 190 |     ConnectionRefused { address: String },
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:194:27
[INFO] [stdout]     |
[INFO] [stdout] 194 |     DnsResolutionFailed { hostname: String },
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:198:18
[INFO] [stdout]     |
[INFO] [stdout] 198 |     InvalidUrl { url: String },
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:202:17
[INFO] [stdout]     |
[INFO] [stdout] 202 |     HttpError { status: u16, message: String },
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/error.rs:202:30
[INFO] [stdout]     |
[INFO] [stdout] 202 |     HttpError { status: u16, message: String },
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/ecc/address.rs:27:14
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Legacy { version: u8 },
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/storage/mod.rs:358:9
[INFO] [stdout]     |
[INFO] [stdout] 358 |         pub fn new(inner: S, max_cache_size: usize) -> Self {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 18s
[INFO] running `Command { std: "docker" "inspect" "a7dd84ac21f7fe6d0359e3eef3e41ea0cbbb87ca3e18686b488219a531b6f9f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a7dd84ac21f7fe6d0359e3eef3e41ea0cbbb87ca3e18686b488219a531b6f9f9", kill_on_drop: false }`
[INFO] [stdout] a7dd84ac21f7fe6d0359e3eef3e41ea0cbbb87ca3e18686b488219a531b6f9f9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e7e6871ceaf00a8ea9f9ffb81ca57ac48d3c04332ba545e55a7ada6cb0fadec2
[INFO] running `Command { std: "docker" "start" "-a" "e7e6871ceaf00a8ea9f9ffb81ca57ac48d3c04332ba545e55a7ada6cb0fadec2", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]   --> src/chain/chain_validation.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::collections::HashMap;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Cursor`
[INFO] [stderr]  --> src/serializer/fast_parser.rs:9:21
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::io::{Read, Cursor};
[INFO] [stderr]   |                     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]    --> src/ecc/address.rs:264:29
[INFO] [stderr]     |
[INFO] [stderr] 264 |         let mut rng = rand::thread_rng();
[INFO] [stderr]     |                             ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]  --> src/ecc/brain_key.rs:8:17
[INFO] [stderr]   |
[INFO] [stderr] 8 | use rand::{Rng, thread_rng};
[INFO] [stderr]   |                 ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]   --> src/ecc/brain_key.rs:45:23
[INFO] [stderr]    |
[INFO] [stderr] 45 |         let mut rng = thread_rng();
[INFO] [stderr]    |                       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]  --> src/ecc/key_utils.rs:8:17
[INFO] [stderr]   |
[INFO] [stderr] 8 | use rand::{Rng, thread_rng};
[INFO] [stderr]   |                 ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]    --> src/ecc/key_utils.rs:135:23
[INFO] [stderr]     |
[INFO] [stderr] 135 |         let mut rng = thread_rng();
[INFO] [stderr]     |                       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]    --> src/ecc/key_utils.rs:161:23
[INFO] [stderr]     |
[INFO] [stderr] 161 |         let mut rng = thread_rng();
[INFO] [stderr]     |                       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]  --> src/ecc/aes.rs:8:17
[INFO] [stderr]   |
[INFO] [stderr] 8 | use rand::{Rng, thread_rng};
[INFO] [stderr]   |                 ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]   --> src/ecc/aes.rs:32:31
[INFO] [stderr]    |
[INFO] [stderr] 32 |                 let mut rng = thread_rng();
[INFO] [stderr]    |                               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]    --> src/ecc/aes.rs:175:31
[INFO] [stderr]     |
[INFO] [stderr] 175 |                 let mut rng = thread_rng();
[INFO] [stderr]     |                               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]    --> src/ecc/aes.rs:282:23
[INFO] [stderr]     |
[INFO] [stderr] 282 |         let mut rng = thread_rng();
[INFO] [stderr]     |                       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]    --> src/ecc/aes.rs:288:23
[INFO] [stderr]     |
[INFO] [stderr] 288 |         let mut rng = thread_rng();
[INFO] [stderr]     |                       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]    --> src/chain/account_login.rs:434:29
[INFO] [stderr]     |
[INFO] [stderr] 434 |         let mut rng = rand::thread_rng();
[INFO] [stderr]     |                             ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]    --> src/chain/account_login.rs:442:29
[INFO] [stderr]     |
[INFO] [stderr] 442 |         let mut rng = rand::thread_rng();
[INFO] [stderr]     |                             ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]    --> src/chain/account_login.rs:450:29
[INFO] [stderr]     |
[INFO] [stderr] 450 |         let mut rng = rand::thread_rng();
[INFO] [stderr]     |                             ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `secp256k1::SecretKey::from_slice`: Use `from_byte_array` instead.
[INFO] [stderr]   --> src/ecc/private_key.rs:38:30
[INFO] [stderr]    |
[INFO] [stderr] 38 |         let key = SecretKey::from_slice(bytes)
[INFO] [stderr]    |                              ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `secp256k1::Message::from_slice`: use from_digest instead
[INFO] [stderr]    --> src/ecc/private_key.rs:137:32
[INFO] [stderr]     |
[INFO] [stderr] 137 |         let message = Message::from_slice(message_hash)
[INFO] [stderr]     |                                ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `secp256k1::SecretKey::from_slice`: Use `from_byte_array` instead.
[INFO] [stderr]    --> src/ecc/private_key.rs:189:42
[INFO] [stderr]     |
[INFO] [stderr] 189 |         if let Ok(zero_key) = SecretKey::from_slice(&zero_bytes) {
[INFO] [stderr]     |                                          ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `secp256k1::Message::from_slice`: use from_digest instead
[INFO] [stderr]    --> src/ecc/public_key.rs:130:32
[INFO] [stderr]     |
[INFO] [stderr] 130 |         let message = Message::from_slice(message_hash)
[INFO] [stderr]     |                                ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stderr]    --> src/ecc/address.rs:265:34
[INFO] [stderr]     |
[INFO] [stderr] 265 |         let hash: [u8; 20] = rng.gen();
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stderr]   --> src/ecc/brain_key.rs:49:29
[INFO] [stderr]    |
[INFO] [stderr] 49 |             let index = rng.gen_range(0..dictionary.len());
[INFO] [stderr]    |                             ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stderr]    --> src/ecc/key_utils.rs:136:33
[INFO] [stderr]     |
[INFO] [stderr] 136 |         (0..length).map(|_| rng.gen()).collect()
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stderr]    --> src/ecc/key_utils.rs:170:43
[INFO] [stderr]     |
[INFO] [stderr] 170 |                 let random_byte: u8 = rng.gen();
[INFO] [stderr]     |                                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stderr]   --> src/ecc/aes.rs:33:21
[INFO] [stderr]    |
[INFO] [stderr] 33 |                 rng.gen()
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stderr]    --> src/ecc/aes.rs:176:37
[INFO] [stderr]     |
[INFO] [stderr] 176 |                 (0..16).map(|_| rng.gen()).collect()
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `secp256k1::SecretKey::from_slice`: Use `from_byte_array` instead.
[INFO] [stderr]    --> src/ecc/aes.rs:222:37
[INFO] [stderr]     |
[INFO] [stderr] 222 |         let secret_key = SecretKey::from_slice(private_key)
[INFO] [stderr]     |                                     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stderr]    --> src/ecc/aes.rs:283:13
[INFO] [stderr]     |
[INFO] [stderr] 283 |         rng.gen()
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stderr]    --> src/ecc/aes.rs:289:13
[INFO] [stderr]     |
[INFO] [stderr] 289 |         rng.gen()
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stderr]    --> src/chain/account_login.rs:435:42
[INFO] [stderr]     |
[INFO] [stderr] 435 |         let random_bytes: [u8; 16] = rng.gen();
[INFO] [stderr]     |                                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stderr]    --> src/chain/account_login.rs:443:42
[INFO] [stderr]     |
[INFO] [stderr] 443 |         let random_bytes: [u8; 32] = rng.gen();
[INFO] [stderr]     |                                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stderr]    --> src/chain/account_login.rs:451:42
[INFO] [stderr]     |
[INFO] [stderr] 451 |         let random_bytes: [u8; 32] = rng.gen();
[INFO] [stderr]     |                                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Digest`
[INFO] [stderr]  --> src/ecc/public_key.rs:7:25
[INFO] [stderr]   |
[INFO] [stderr] 7 | use ripemd::{Ripemd160, Digest as RipemdDigest};
[INFO] [stderr]   |                         ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ripemd::Digest`
[INFO] [stderr]  --> src/ecc/address.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use ripemd::Digest as RipemdDigest;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Digest`
[INFO] [stderr]  --> src/ecc/brain_key.rs:5:20
[INFO] [stderr]   |
[INFO] [stderr] 5 | use sha2::{Sha256, Digest};
[INFO] [stderr]   |                    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Digest`
[INFO] [stderr]  --> src/ecc/hash.rs:6:25
[INFO] [stderr]   |
[INFO] [stderr] 6 | use ripemd::{Ripemd160, Digest as RipemdDigest};
[INFO] [stderr]   |                         ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncReadExt`
[INFO] [stderr]   --> src/storage/storage_local.rs:23:17
[INFO] [stderr]    |
[INFO] [stderr] 23 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stderr]    |                 ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Add`
[INFO] [stderr]  --> src/chain/number_utils.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::ops::Add;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `StorageApi`
[INFO] [stderr]   --> src/storage/storage_local.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 |     StorageApi, StorageApiSync, StorageConfig, StorageMetadata, StorageBackend,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncWriteExt`
[INFO] [stderr]   --> src/storage/storage_local.rs:23:31
[INFO] [stderr]    |
[INFO] [stderr] 23 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stderr]    |                               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `is_compressed`
[INFO] [stderr]   --> src/ecc/private_key.rs:70:13
[INFO] [stderr]    |
[INFO] [stderr] 70 |         let is_compressed = if decoded.len() == 38 {
[INFO] [stderr]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_compressed`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `zero_key`
[INFO] [stderr]    --> src/ecc/private_key.rs:189:19
[INFO] [stderr]     |
[INFO] [stderr] 189 |         if let Ok(zero_key) = SecretKey::from_slice(&zero_bytes) {
[INFO] [stderr]     |                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_zero_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `message`
[INFO] [stderr]    --> src/ecc/mod.rs:178:31
[INFO] [stderr]     |
[INFO] [stderr] 178 |     pub fn recover_public_key(message: &[u8], signature: &Signature) -> EccResult<PublicKey> {
[INFO] [stderr]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `signing_data`
[INFO] [stderr]    --> src/chain/transaction_helper.rs:148:13
[INFO] [stderr]     |
[INFO] [stderr] 148 |         let signing_data = Self::serialize_for_signing(transaction, chain_id)?;
[INFO] [stderr]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signing_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `api_url`
[INFO] [stderr]    --> src/chain/transaction_helper.rs:360:9
[INFO] [stderr]     |
[INFO] [stderr] 360 |         api_url: &str,
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_api_url`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `authority`
[INFO] [stderr]    --> src/chain/transaction_helper.rs:439:25
[INFO] [stderr]     |
[INFO] [stderr] 439 |             if let Some(authority) = authorities.get(&account_id) {
[INFO] [stderr]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_authority`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `chain_properties`
[INFO] [stderr]   --> src/chain/chain_validation.rs:86:9
[INFO] [stderr]    |
[INFO] [stderr] 86 |         chain_properties: &ChainProperties,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chain_properties`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sequence`
[INFO] [stderr]    --> src/chain/account_login.rs:112:9
[INFO] [stderr]     |
[INFO] [stderr] 112 |         sequence: u32,
[INFO] [stderr]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sequence`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `credentials`
[INFO] [stderr]    --> src/chain/mod.rs:156:29
[INFO] [stderr]     |
[INFO] [stderr] 156 |     pub fn login(&mut self, credentials: &LoginCredentials) -> ChainResult<LoginChallenge> {
[INFO] [stderr]     |                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_credentials`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/serializer/serializer_operation.rs:574:36
[INFO] [stderr]     |
[INFO] [stderr] 574 |     fn deserialize_account_options(data: &[u8], offset: &mut usize) -> SerializerResult<crate::chain::AccountOptions> {
[INFO] [stderr]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/serializer/serializer_operation.rs:589:34
[INFO] [stderr]     |
[INFO] [stderr] 589 |     fn deserialize_asset_options(data: &[u8], offset: &mut usize) -> SerializerResult<crate::chain::AssetOptions> {
[INFO] [stderr]     |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fill_or_kill`
[INFO] [stderr]   --> src/serializer/serializer_validation.rs:96:95
[INFO] [stderr]    |
[INFO] [stderr] 96 |             Operation::LimitOrderCreate { seller, amount_to_sell, min_to_receive, expiration, fill_or_kill, fee, extensions } => {
[INFO] [stderr]    |                                                                                               ^^^^^^^^^^^^ help: try ignoring the field: `fill_or_kill: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `options`
[INFO] [stderr]    --> src/serializer/serializer_validation.rs:117:100
[INFO] [stderr]     |
[INFO] [stderr] 117 |             Operation::AccountCreate { registrar, referrer, referrer_percent, name, owner, active, options, fee, extensions } => {
[INFO] [stderr]     |                                                                                                    ^^^^^^^ help: try ignoring the field: `options: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `new_options`
[INFO] [stderr]    --> src/serializer/serializer_validation.rs:134:64
[INFO] [stderr]     |
[INFO] [stderr] 134 |             Operation::AccountUpdate { account, owner, active, new_options, fee, extensions } => {
[INFO] [stderr]     |                                                                ^^^^^^^^^^^ help: try ignoring the field: `new_options: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `common_options`
[INFO] [stderr]    --> src/serializer/serializer_validation.rs:148:65
[INFO] [stderr]     |
[INFO] [stderr] 148 | ...   Operation::AssetCreate { issuer, symbol, precision, common_options, bitasset_opts, is_prediction_market, fee, extensions } => {
[INFO] [stderr]     |                                                           ^^^^^^^^^^^^^^ help: try ignoring the field: `common_options: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `bitasset_opts`
[INFO] [stderr]    --> src/serializer/serializer_validation.rs:148:81
[INFO] [stderr]     |
[INFO] [stderr] 148 | ...mbol, precision, common_options, bitasset_opts, is_prediction_market, fee, extensions } => {
[INFO] [stderr]     |                                     ^^^^^^^^^^^^^ help: try ignoring the field: `bitasset_opts: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `is_prediction_market`
[INFO] [stderr]    --> src/serializer/serializer_validation.rs:148:96
[INFO] [stderr]     |
[INFO] [stderr] 148 | ...n_options, bitasset_opts, is_prediction_market, fee, extensions } => {
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `is_prediction_market: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `new_options`
[INFO] [stderr]    --> src/serializer/serializer_validation.rs:162:63
[INFO] [stderr]     |
[INFO] [stderr] 162 |             Operation::AssetUpdate { issuer, asset_to_update, new_options, fee, extensions } => {
[INFO] [stderr]     |                                                               ^^^^^^^^^^^ help: try ignoring the field: `new_options: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]    --> src/serializer/serializer_validation.rs:175:33
[INFO] [stderr]     |
[INFO] [stderr] 175 |             Operation::Custom { id, payer, required_auths, data, fee, extensions } => {
[INFO] [stderr]     |                                 ^^ help: try ignoring the field: `id: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/serializer/serializer_validation.rs:547:38
[INFO] [stderr]     |
[INFO] [stderr] 547 |     pub fn comprehensive_validate<T>(data: &T, type_name: &str) -> SerializerResult<()>
[INFO] [stderr]     |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: method `inner` is never used
[INFO] [stderr]    --> src/ecc/private_key.rs:172:19
[INFO] [stderr]     |
[INFO] [stderr]  17 | impl PrivateKey {
[INFO] [stderr]     | --------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 172 |     pub(crate) fn inner(&self) -> &SecretKey {
[INFO] [stderr]     |                   ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `pkcs7_pad` and `pkcs7_unpad` are never used
[INFO] [stderr]    --> src/ecc/aes.rs:240:8
[INFO] [stderr]     |
[INFO] [stderr]  17 | impl Aes {
[INFO] [stderr]     | -------- associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 240 |     fn pkcs7_pad(data: &[u8], block_size: usize) -> Vec<u8> {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 248 |     fn pkcs7_unpad(data: &[u8]) -> EccResult<Vec<u8>> {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `buffer_size` is never read
[INFO] [stderr]    --> src/serializer/fast_parser.rs:431:5
[INFO] [stderr]     |
[INFO] [stderr] 428 | pub struct StreamingParser<R: Read> {
[INFO] [stderr]     |            --------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 431 |     buffer_size: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `serialize_object_id_vec` and `deserialize_object_id_vec` are never used
[INFO] [stderr]    --> src/serializer/serializer_operation.rs:470:8
[INFO] [stderr]     |
[INFO] [stderr]  16 | impl SerializerOperation {
[INFO] [stderr]     | ------------------------ associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 470 |     fn serialize_object_id_vec(value: &[ObjectId], buffer: &mut Vec<u8>) -> SerializerResult<()> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 699 |     fn deserialize_object_id_vec(data: &[u8], offset: &mut usize) -> SerializerResult<Vec<ObjectId>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `buffer_capacity` is never read
[INFO] [stderr]   --> src/serializer/serializer.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub struct Serializer {
[INFO] [stderr]    |            ---------- field in this struct
[INFO] [stderr] 19 |     /// Buffer capacity for serialization operations
[INFO] [stderr] 20 |     buffer_capacity: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `bytes_to_hex` is never used
[INFO] [stderr]  --> src/utils.rs:4:8
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn bytes_to_hex(bytes: &[u8]) -> String {
[INFO] [stderr]   |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `hex_to_bytes` is never used
[INFO] [stderr]  --> src/utils.rs:9:8
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub fn hex_to_bytes(hex: &str) -> Result<Vec<u8>, hex::FromHexError> {
[INFO] [stderr]   |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `validate_key_length` is never used
[INFO] [stderr]   --> src/utils.rs:14:8
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub fn validate_key_length(key: &[u8], expected_len: usize) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/error.rs:29:20
[INFO] [stderr]    |
[INFO] [stderr] 29 |     InvalidInput { message: String },
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]   --> src/lib.rs:38:9
[INFO] [stderr]    |
[INFO] [stderr] 38 | #![warn(missing_docs)]
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/error.rs:33:21
[INFO] [stderr]    |
[INFO] [stderr] 33 |     Configuration { message: String },
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/error.rs:45:13
[INFO] [stderr]    |
[INFO] [stderr] 45 |     Other { message: String },
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/error.rs:53:25
[INFO] [stderr]    |
[INFO] [stderr] 53 |     InvalidPrivateKey { reason: String },
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/error.rs:57:24
[INFO] [stderr]    |
[INFO] [stderr] 57 |     InvalidPublicKey { reason: String },
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/error.rs:61:24
[INFO] [stderr]    |
[INFO] [stderr] 61 |     InvalidSignature { reason: String },
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/error.rs:65:22
[INFO] [stderr]    |
[INFO] [stderr] 65 |     InvalidAddress { reason: String },
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/error.rs:69:29
[INFO] [stderr]    |
[INFO] [stderr] 69 |     CryptoOperationFailed { operation: String },
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/error.rs:73:27
[INFO] [stderr]    |
[INFO] [stderr] 73 |     KeyDerivationFailed { reason: String },
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/error.rs:77:23
[INFO] [stderr]    |
[INFO] [stderr] 77 |     EncryptionError { reason: String },
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/error.rs:85:26
[INFO] [stderr]    |
[INFO] [stderr] 85 |     InvalidTransaction { reason: String },
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/error.rs:89:30
[INFO] [stderr]    |
[INFO] [stderr] 89 |     TransactionBuildFailed { reason: String },
[INFO] [stderr]    |                              ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/error.rs:93:20
[INFO] [stderr]    |
[INFO] [stderr] 93 |     InvalidBlock { reason: String },
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/error.rs:97:23
[INFO] [stderr]    |
[INFO] [stderr] 97 |     ChainStateError { reason: String },
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/error.rs:101:23
[INFO] [stderr]     |
[INFO] [stderr] 101 |     InvalidObjectId { id: String },
[INFO] [stdout] 
[INFO] [stderr]     |                       ^^^^^^^^^^
[INFO] [stdout] running 210 tests
[INFO] [stderr] 
[INFO] [stdout] test chain::account_login::tests::test_account_login_creation ... ok
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stdout] test chain::account_login::tests::test_account_sessions ... ok
[INFO] [stderr]    --> src/error.rs:105:22
[INFO] [stdout] test chain::account_login::tests::test_credentials_from_wif ... ok
[INFO] [stderr]     |
[INFO] [stdout] test chain::account_login::tests::test_session_management ... ok
[INFO] [stderr] 105 |     ObjectNotFound { id: String },
[INFO] [stdout] test chain::chain_store::tests::test_chain_store_creation ... ok
[INFO] [stderr]     |                      ^^^^^^^^^^
[INFO] [stdout] test chain::account_login::tests::test_session_metadata ... ok
[INFO] [stderr] 
[INFO] [stdout] test chain::account_login::tests::test_create_challenge ... ok
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stdout] test chain::chain_store::tests::test_subscription_management ... ok
[INFO] [stderr]    --> src/error.rs:109:23
[INFO] [stdout] test chain::chain_types::tests::test_asset_amount_creation ... ok
[INFO] [stderr]     |
[INFO] [stdout] test chain::chain_types::tests::test_create_default_authority ... ok
[INFO] [stderr] 109 |     ValidationError { field: String, reason: String },
[INFO] [stdout] test chain::chain_store::tests::test_clear_cache ... ok
[INFO] [stderr]     |                       ^^^^^^^^^^^^^
[INFO] [stdout] test chain::chain_types::tests::test_operation_type_id ... ok
[INFO] [stderr] 
[INFO] [stdout] test chain::chain_types::tests::test_validate_account_name ... ok
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stdout] test chain::chain_store::tests::test_chain_store_with_config ... ok
[INFO] [stderr]    --> src/error.rs:109:38
[INFO] [stdout] test chain::chain_validation::tests::test_validate_asset_symbol ... ok
[INFO] [stderr]     |
[INFO] [stdout] test chain::chain_validation::tests::test_validate_account_name ... ok
[INFO] [stderr] 109 |     ValidationError { field: String, reason: String },
[INFO] [stdout] test chain::chain_store::tests::test_cache_entry_expiration ... ok
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^^
[INFO] [stdout] test chain::chain_types::tests::test_validate_asset_symbol ... ok
[INFO] [stderr] 
[INFO] [stdout] test chain::chain_validation::tests::test_validate_authority ... ok
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stdout] test chain::chain_validation::tests::test_validate_price ... ok
[INFO] [stderr]    --> src/error.rs:113:29
[INFO] [stdout] test chain::chain_validation::tests::test_validate_transaction_structure ... ok
[INFO] [stderr]     |
[INFO] [stdout] test chain::chain_validation::tests::test_validate_transfer_operation ... ok
[INFO] [stderr] 113 |     CryptoOperationFailed { operation: String },
[INFO] [stdout] test chain::number_utils::tests::test_precision_conversion ... ok
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] test chain::number_utils::tests::test_precision_number_arithmetic ... ok
[INFO] [stderr] 
[INFO] [stdout] test chain::number_utils::tests::test_number_utils_percentage ... ok
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stdout] test chain::number_utils::tests::test_precision_number_creation ... ok
[INFO] [stderr]    --> src/error.rs:130:27
[INFO] [stdout] test chain::number_utils::tests::test_precision_number_display ... ok
[INFO] [stderr]     |
[INFO] [stdout] test chain::number_utils::tests::test_number_utils_sqrt ... ok
[INFO] [stderr] 130 |     SerializationFailed { reason: String },
[INFO] [stdout] test chain::number_utils::tests::test_precision_number_multiply_divide ... ok
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^
[INFO] [stdout] test chain::number_utils::tests::test_rounding ... ok
[INFO] [stderr] 
[INFO] [stdout] test chain::object_id::tests::test_constants ... ok
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stdout] test chain::number_utils::tests::test_precision_number_from_string ... ok
[INFO] [stderr]    --> src/error.rs:134:29
[INFO] [stdout] test chain::object_id::tests::test_object_id_bytes_conversion ... ok
[INFO] [stderr]     |
[INFO] [stdout] test chain::object_id::tests::test_object_id_creation ... ok
[INFO] [stderr] 134 |     DeserializationFailed { reason: String },
[INFO] [stdout] test chain::object_id::tests::test_from_str_trait ... ok
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^
[INFO] [stdout] test chain::object_id::tests::test_object_id_from_string ... ok
[INFO] [stderr] 
[INFO] [stdout] test chain::object_id::tests::test_object_id_display ... ok
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stdout] test chain::object_id::tests::test_object_id_type_checks ... ok
[INFO] [stderr]    --> src/error.rs:138:21
[INFO] [stdout] test chain::tests::test_chain_creation ... ok
[INFO] [stderr]     |
[INFO] [stdout] test chain::object_id::tests::test_object_id_from_string_invalid ... ok
[INFO] [stderr] 138 |     InvalidFormat { expected: String, actual: String },
[INFO] [stdout] test chain::object_id::tests::test_object_id_validation ... ok
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] test chain::tests::test_utils_parse_object_id ... ok
[INFO] [stderr] 
[INFO] [stdout] test chain::tests::test_constants ... ok
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stdout] test chain::tests::test_utils_validate_names ... ok
[INFO] [stderr]    --> src/error.rs:138:39
[INFO] [stdout] test chain::tests::test_chain_transaction_operations ... ok
[INFO] [stderr]     |
[INFO] [stdout] test chain::transaction_builder::tests::test_add_transfer ... ok
[INFO] [stderr] 138 |     InvalidFormat { expected: String, actual: String },
[INFO] [stdout] test chain::transaction_builder::tests::test_build_transaction ... ok
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] test chain::transaction_builder::tests::test_calculate_total_fees ... ok
[INFO] [stderr] 
[INFO] [stdout] test chain::account_login::tests::test_respond_to_challenge ... ok
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stdout] test chain::chain_types::tests::test_price_creation ... ok
[INFO] [stderr]    --> src/error.rs:142:19
[INFO] [stdout] test chain::tests::test_utils_create_asset_amount ... ok
[INFO] [stderr]     |
[INFO] [stdout] test chain::account_login::tests::test_clear_all ... ok
[INFO] [stderr] 142 |     BufferError { reason: String },
[INFO] [stdout] test chain::transaction_builder::tests::test_validation_empty_operations ... ok
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] test chain::transaction_builder::tests::test_validation_no_expiration ... ok
[INFO] [stderr] 
[INFO] [stdout] test chain::transaction_builder::tests::test_estimate_size ... ok
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stdout] test chain::transaction_builder::tests::test_set_expiration ... ok
[INFO] [stderr]    --> src/error.rs:146:27
[INFO] [stdout] test chain::transaction_helper::tests::test_json_serialization ... ok
[INFO] [stderr]     |
[INFO] [stdout] test chain::transaction_builder::tests::test_set_reference_block ... ok
[INFO] [stderr] 146 |     TypeConversionError { from: String, to: String },
[INFO] [stdout] test chain::transaction_helper::tests::test_transaction_size_calculation ... ok
[INFO] [stderr]     |                           ^^^^^^^^^^^^
[INFO] [stdout] test chain::transaction_builder::tests::test_transaction_builder_creation ... ok
[INFO] [stderr] 
[INFO] [stdout] test chain::transaction_helper::tests::test_get_required_signatures ... ok
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stdout] test chain::transaction_helper::tests::test_validate_transaction_empty_operations ... ok
[INFO] [stderr]    --> src/error.rs:146:41
[INFO] [stdout] test chain::transaction_helper::tests::test_serialize_deserialize_transaction ... ok
[INFO] [stderr]     |
[INFO] [stdout] test chain::transaction_helper::tests::test_validate_transaction_expired ... ok
[INFO] [stderr] 146 |     TypeConversionError { from: String, to: String },
[INFO] [stdout] test ecc::address::tests::test_address_format_conversion ... ok
[INFO] [stderr]     |                                         ^^^^^^^^^^
[INFO] [stdout] test ecc::address::tests::test_address_validation ... ok
[INFO] [stderr] 
[INFO] [stdout] test ecc::address::tests::test_address_from_public_key ... ok
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stdout] test ecc::aes::tests::test_aes_encrypt_decrypt ... ok
[INFO] [stderr]    --> src/error.rs:154:27
[INFO] [stdout] test ecc::address::tests::test_invalid_address ... ok
[INFO] [stderr]     |
[INFO] [stdout] test ecc::address::tests::test_address_string_roundtrip ... ok
[INFO] [stderr] 154 |     BackendNotAvailable { backend: String },
[INFO] [stdout] test ecc::address::tests::test_format_detection ... ok
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^
[INFO] [stdout] test ecc::address::tests::test_legacy_address ... ok
[INFO] [stderr] 
[INFO] [stdout] test ecc::address::tests::test_prefix_extraction ... ok
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stdout] test ecc::aes::tests::test_encryption_errors ... ok
[INFO] [stderr]    --> src/error.rs:158:23
[INFO] [stdout] test ecc::aes::tests::test_memo_checksum_validation ... ok
[INFO] [stderr]     |
[INFO] [stdout] test ecc::aes::tests::test_pkcs7_padding ... ok
[INFO] [stderr] 158 |     OperationFailed { operation: String, reason: String },
[INFO] [stdout] test ecc::brain_key::tests::test_brain_key_from_words ... ok
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] test ecc::aes::tests::test_aes_with_custom_iv ... ok
[INFO] [stderr] 
[INFO] [stdout] test ecc::brain_key::tests::test_brain_key_generation ... ok
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stdout] test ecc::brain_key::tests::test_brain_key_normalization ... ok
[INFO] [stderr]    --> src/error.rs:158:42
[INFO] [stdout] test ecc::aes::tests::test_memo_encryption ... ok
[INFO] [stderr]     |
[INFO] [stdout] test ecc::hash::tests::test_all_hash_functions ... ok
[INFO] [stderr] 158 |     OperationFailed { operation: String, reason: String },
[INFO] [stdout] test ecc::brain_key::tests::test_brain_key_validation ... ok
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^^
[INFO] [stdout] test ecc::hash::tests::test_checksum ... ok
[INFO] [stderr] 
[INFO] [stdout] test ecc::hash::tests::test_hash_utils ... ok
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stdout] test ecc::hash::tests::test_hkdf ... ok
[INFO] [stderr]    --> src/error.rs:162:28
[INFO] [stdout] test ecc::hash::tests::test_hmac_sha256 ... ok
[INFO] [stderr]     |
[INFO] [stdout] test ecc::hash::tests::test_merkle_root ... ok
[INFO] [stderr] 162 |     AuthenticationFailed { reason: String },
[INFO] [stdout] test ecc::hash::tests::test_sha256 ... ok
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] test ecc::hash::tests::test_sha256d ... ok
[INFO] [stderr] 
[INFO] [stdout] test ecc::key_utils::tests::test_checksum ... ok
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stdout] test ecc::key_utils::tests::test_hkdf_derivation ... ok
[INFO] [stderr]    --> src/error.rs:166:24
[INFO] [stdout] test ecc::key_utils::tests::test_key_derivation ... ok
[INFO] [stderr]     |
[INFO] [stdout] test ecc::key_utils::tests::test_key_format_conversion ... ok
[INFO] [stderr] 166 |     PermissionDenied { resource: String },
[INFO] [stdout] test ecc::key_utils::tests::test_key_pair_validation ... ok
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^
[INFO] [stdout] test ecc::hash::tests::test_hash160 ... ok
[INFO] [stderr] 
[INFO] [stdout] test ecc::aes::tests::test_key_utils ... ok
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stdout] test ecc::key_utils::tests::test_master_key_from_entropy ... ok
[INFO] [stderr]    --> src/error.rs:170:24
[INFO] [stdout] test ecc::key_utils::tests::test_mnemonic_conversion ... ok
[INFO] [stderr]     |
[INFO] [stdout] test ecc::key_utils::tests::test_normalize_brain_key ... ok
[INFO] [stderr] 170 |     ResourceNotFound { resource: String },
[INFO] [stdout] test ecc::key_utils::tests::test_seed_generation ... ok
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^
[INFO] [stdout] test ecc::key_utils::tests::test_wif_validation ... ok
[INFO] [stderr] 
[INFO] [stdout] test ecc::private_key::tests::test_child_derivation ... ok
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stdout] test ecc::private_key::tests::test_generate_private_key ... ok
[INFO] [stderr]    --> src/error.rs:178:23
[INFO] [stdout] test ecc::private_key::tests::test_private_key_from_bytes ... ok
[INFO] [stderr]     |
[INFO] [stdout] test ecc::private_key::tests::test_signing ... ok
[INFO] [stderr] 178 |     ConnectionError { reason: String },
[INFO] [stdout] test ecc::private_key::tests::test_wif_roundtrip ... ok
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^
[INFO] [stdout] test ecc::public_key::tests::test_address_generation ... ok
[INFO] [stderr] 
[INFO] [stdout] test ecc::public_key::tests::test_public_key_combine ... ok
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stdout] test ecc::public_key::tests::test_public_key_from_private ... ok
[INFO] [stderr]    --> src/error.rs:190:25
[INFO] [stdout] test ecc::public_key::tests::test_public_key_hash160 ... ok
[INFO] [stderr]     |
[INFO] [stdout] test ecc::public_key::tests::test_public_key_hex_roundtrip ... ok
[INFO] [stderr] 190 |     ConnectionRefused { address: String },
[INFO] [stdout] test ecc::public_key::tests::test_public_key_tweak ... ok
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout] test ecc::public_key::tests::test_signature_verification ... ok
[INFO] [stderr] 
[INFO] [stdout] test ecc::signature::tests::test_recovery_id ... ok
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stdout] test ecc::signature::tests::test_signature_bytes_roundtrip ... ok
[INFO] [stderr]    --> src/error.rs:194:27
[INFO] [stdout] test ecc::signature::tests::test_public_key_recovery ... ok
[INFO] [stderr]     |
[INFO] [stdout] test ecc::signature::tests::test_signature_creation_and_verification ... ok
[INFO] [stderr] 194 |     DnsResolutionFailed { hostname: String },
[INFO] [stdout] test ecc::signature::tests::test_signature_hex_roundtrip ... ok
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] test ecc::tests::test_ecc_address_creation ... ok
[INFO] [stderr] 
[INFO] [stdout] test ecc::tests::test_ecc_address_derivation ... ok
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stdout] test ecc::signature::tests::test_signature_canonicality ... ok
[INFO] [stderr]    --> src/error.rs:198:18
[INFO] [stdout] test ecc::key_utils::tests::test_key_splitting_and_reconstruction ... ok
[INFO] [stderr]     |
[INFO] [stdout] test ecc::tests::test_ecc_key_pair_generation ... ok
[INFO] [stderr] 198 |     InvalidUrl { url: String },
[INFO] [stdout] test ecc::tests::test_ecc_key_set_validation ... ok
[INFO] [stderr]     |                  ^^^^^^^^^^^
[INFO] [stdout] test ecc::tests::test_ecc_memo_encryption ... ok
[INFO] [stderr] 
[INFO] [stdout] test ecc::tests::test_ecc_multisig_address ... ok
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stdout] test ecc::tests::test_ecc_public_key_recovery ... ok
[INFO] [stderr]    --> src/error.rs:202:17
[INFO] [stdout] test ecc::tests::test_ecc_signing_and_verification ... ok
[INFO] [stderr]     |
[INFO] [stdout] test ecc::tests::test_ecc_utils ... ok
[INFO] [stderr] 202 |     HttpError { status: u16, message: String },
[INFO] [stdout] test error::tests::test_error_chain ... ok
[INFO] [stderr]     |                 ^^^^^^^^^^^
[INFO] [stdout] test error::tests::test_error_display ... ok
[INFO] [stderr] 
[INFO] [stdout] test serializer::fast_parser::tests::test_basic_parsing ... ok
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stdout] test serializer::fast_parser::tests::test_bulk_operations ... ok
[INFO] [stderr]    --> src/error.rs:202:30
[INFO] [stdout] test serializer::fast_parser::tests::test_error_recovery ... ok
[INFO] [stderr]     |
[INFO] [stdout] test serializer::fast_parser::tests::test_header_parsing ... ok
[INFO] [stderr] 202 |     HttpError { status: u16, message: String },
[INFO] [stdout] test serializer::fast_parser::tests::test_parsing_stats ... ok
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^
[INFO] [stdout] test serializer::fast_parser::tests::test_peek_operations ... ok
[INFO] [stderr] 
[INFO] [stdout] test serializer::fast_parser::tests::test_streaming_parser ... ok
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stdout] test serializer::fast_parser::tests::test_string_parsing ... ok
[INFO] [stderr]   --> src/ecc/address.rs:27:14
[INFO] [stdout] test serializer::fast_parser::tests::test_sub_parser ... ok
[INFO] [stderr]    |
[INFO] [stdout] test serializer::fast_parser::tests::test_varint_parsing ... ok
[INFO] [stderr] 27 |     Legacy { version: u8 },
[INFO] [stdout] test serializer::serializer::tests::test_auto_format_detection ... ok
[INFO] [stderr]    |              ^^^^^^^^^^^
[INFO] [stdout] test serializer::serializer::tests::test_batch_serialization ... ok
[INFO] [stderr] 
[INFO] [stdout] test serializer::serializer::tests::test_binary_serialization ... ok
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stdout] test serializer::serializer::tests::test_checksum_serialization ... ok
[INFO] [stderr]    --> src/storage/mod.rs:358:9
[INFO] [stdout] test serializer::serializer::tests::test_compact_serialization ... ok
[INFO] [stderr]     |
[INFO] [stdout] test serializer::serializer::tests::test_format_info ... ok
[INFO] [stderr] 358 |         pub fn new(inner: S, max_cache_size: usize) -> Self {
[INFO] [stdout] test serializer::serializer::tests::test_json_serialization ... ok
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] test serializer::serializer_operation::tests::test_basic_serialization ... ok
[INFO] [stderr] 
[INFO] [stdout] test serializer::serializer_operation::tests::test_operation_type_id ... ok
[INFO] [stderr] warning: `r-squared-rust` (lib) generated 108 warnings (run `cargo fix --lib -p r-squared-rust` to apply 22 suggestions)
[INFO] [stdout] test serializer::serializer_operation::tests::test_string_serialization ... ok
[INFO] [stderr] warning: unused import: `crate::ecc::PrivateKey`
[INFO] [stdout] test serializer::serializer_types::tests::test_serializable_data ... ok
[INFO] [stderr]    --> src/chain/transaction_builder.rs:529:9
[INFO] [stdout] test serializer::serializer_types::tests::test_serialization_context ... ok
[INFO] [stderr]     |
[INFO] [stdout] test serializer::serializer_types::tests::test_serialization_stats ... ok
[INFO] [stderr] 529 |     use crate::ecc::PrivateKey;
[INFO] [stdout] test serializer::serializer_types::tests::test_serializer_types ... ok
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] test serializer::serializer_types::tests::test_type_registry ... ok
[INFO] [stderr]     |
[INFO] [stdout] test serializer::serializer_utils::tests::test_buffer_operations ... ok
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] test serializer::serializer_utils::tests::test_checksum ... ok
[INFO] [stderr] 
[INFO] [stdout] test serializer::serializer_utils::tests::test_compression_decompression ... ok
[INFO] [stderr] warning: unused import: `crate::ecc::PrivateKey`
[INFO] [stdout] test serializer::serializer_utils::tests::test_hex_conversion ... ok
[INFO] [stderr]    --> src/chain/transaction_helper.rs:459:9
[INFO] [stdout] test serializer::serializer_utils::tests::test_optimal_buffer_size ... ok
[INFO] [stderr]     |
[INFO] [stdout] test serializer::serializer_utils::tests::test_padding ... ok
[INFO] [stderr] 459 |     use crate::ecc::PrivateKey;
[INFO] [stdout] test serializer::serializer_utils::tests::test_size_validation ... ok
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] test serializer::serializer_utils::tests::test_string_encoding ... ok
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `de::DeserializeOwned as TestDeserializeOwned`
[INFO] [stderr]   --> src/serializer/serializer.rs:15:26
[INFO] [stderr]    |
[INFO] [stderr] 15 | use serde::{Deserialize, de::DeserializeOwned as TestDeserializeOwned};
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `secp256k1::Message::from_slice`: use from_digest instead
[INFO] [stderr]    --> src/ecc/signature.rs:219:36
[INFO] [stderr]     |
[INFO] [stderr] 219 |         let message_obj = Message::from_slice(&hash).unwrap();
[INFO] [stderr]     |                                    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `create_test_account` is never used
[INFO] [stderr]    --> src/chain/account_login.rs:527:8
[INFO] [stderr]     |
[INFO] [stderr] 527 |     fn create_test_account() -> Account {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `r_squared_rust::error::Result`
[INFO] [stderr]  --> tests/compatibility/ecc_compatibility.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use r_squared_rust::error::Result;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `TestVector` and `assert_bytes_equal`
[INFO] [stderr]  --> tests/compatibility/ecc_compatibility.rs:8:13
[INFO] [stderr]   |
[INFO] [stderr] 8 | use super::{TestVector, assert_bytes_equal, assert_strings_equal};
[INFO] [stderr]   |             ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `r_squared_rust::error::Result`
[INFO] [stderr]  --> tests/compatibility/chain_compatibility.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use r_squared_rust::error::Result;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `TestVector` and `assert_bytes_equal`
[INFO] [stderr]  --> tests/compatibility/chain_compatibility.rs:9:13
[INFO] [stderr]   |
[INFO] [stderr] 9 | use super::{TestVector, assert_bytes_equal, assert_strings_equal};
[INFO] [stderr]   |             ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `r_squared_rust::error::Result`
[INFO] [stderr]  --> tests/compatibility/serializer_compatibility.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use r_squared_rust::error::Result;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TestVector`
[INFO] [stderr]   --> tests/compatibility/serializer_compatibility.rs:10:13
[INFO] [stderr]    |
[INFO] [stderr] 10 | use super::{TestVector, assert_bytes_equal, assert_strings_equal};
[INFO] [stderr]    |             ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `asset_amount`
[INFO] [stderr]   --> tests/compatibility/chain_compatibility.rs:76:13
[INFO] [stderr]    |
[INFO] [stderr] 76 |         let asset_amount = AssetAmount {
[INFO] [stderr]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_asset_amount`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sender_public`
[INFO] [stderr]    --> tests/compatibility/chain_compatibility.rs:185:9
[INFO] [stderr]     |
[INFO] [stderr] 185 |     let sender_public = sender_private.public_key()
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_public`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `product`
[INFO] [stderr]    --> tests/compatibility/chain_compatibility.rs:309:9
[INFO] [stderr]     |
[INFO] [stderr] 309 |     let product = num1.multiply(&num2).expect("Failed to multiply numbers");
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_product`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `quotient`
[INFO] [stderr]    --> tests/compatibility/chain_compatibility.rs:313:9
[INFO] [stderr]     |
[INFO] [stderr] 313 |     let quotient = num1.divide(&num2).expect("Failed to divide numbers");
[INFO] [stderr]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_quotient`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sender_public`
[INFO] [stderr]    --> tests/compatibility/serializer_compatibility.rs:258:9
[INFO] [stderr]     |
[INFO] [stderr] 258 |     let sender_public = sender_private.public_key()
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_public`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `serializer`
[INFO] [stderr]    --> tests/compatibility/serializer_compatibility.rs:382:9
[INFO] [stderr]     |
[INFO] [stderr] 382 |     let serializer = Serializer::new();
[INFO] [stderr]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_serializer`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SIGNATURE_VECTORS` is never used
[INFO] [stderr]   --> tests/compatibility/ecc_compatibility.rs:31:7
[INFO] [stderr]    |
[INFO] [stderr] 31 | const SIGNATURE_VECTORS: &[(&str, &str, &str, bool)] = &[
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TRANSACTION_VECTORS` is never used
[INFO] [stderr]   --> tests/compatibility/chain_compatibility.rs:32:7
[INFO] [stderr]    |
[INFO] [stderr] 32 | const TRANSACTION_VECTORS: &[(&str, &str)] = &[
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SERIALIZATION_VECTORS` is never used
[INFO] [stderr]   --> tests/compatibility/serializer_compatibility.rs:13:7
[INFO] [stderr]    |
[INFO] [stderr] 13 | const SERIALIZATION_VECTORS: &[(&str, &str)] = &[
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `JSON_VECTORS` is never used
[INFO] [stderr]   --> tests/compatibility/serializer_compatibility.rs:20:7
[INFO] [stderr]    |
[INFO] [stderr] 20 | const JSON_VECTORS: &[(&str, &str)] = &[
[INFO] [stderr]    |       ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_all_test_vectors` is never used
[INFO] [stderr]    --> tests/compatibility/test_vectors.rs:161:8
[INFO] [stderr]     |
[INFO] [stderr] 161 | pub fn generate_all_test_vectors() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `create_js_reference_vectors` is never used
[INFO] [stderr]    --> tests/compatibility/test_vectors.rs:191:8
[INFO] [stderr]     |
[INFO] [stderr] 191 | pub fn create_js_reference_vectors() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `validate_test_vectors` is never used
[INFO] [stderr]    --> tests/compatibility/test_vectors.rs:236:8
[INFO] [stderr]     |
[INFO] [stderr] 236 | pub fn validate_test_vectors() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `validate_ecc_vectors` is never used
[INFO] [stderr]    --> tests/compatibility/test_vectors.rs:264:4
[INFO] [stderr]     |
[INFO] [stderr] 264 | fn validate_ecc_vectors(vectors: &[TestVector]) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `validate_chain_vectors` is never used
[INFO] [stderr]    --> tests/compatibility/test_vectors.rs:298:4
[INFO] [stderr]     |
[INFO] [stderr] 298 | fn validate_chain_vectors(vectors: &[TestVector]) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `validate_serializer_vectors` is never used
[INFO] [stderr]    --> tests/compatibility/test_vectors.rs:341:4
[INFO] [stderr]     |
[INFO] [stderr] 341 | fn validate_serializer_vectors(vectors: &[TestVector]) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> tests/integration_tests.rs:66:5
[INFO] [stderr]    |
[INFO] [stderr] 66 |     builder.set_expiration(expiration as u32);
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 66 |     let _ = builder.set_expiration(expiration as u32);
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `r-squared-rust` (lib test) generated 107 warnings (102 duplicates) (run `cargo fix --lib -p r-squared-rust --tests` to apply 3 suggestions)
[INFO] [stderr] warning: `r-squared-rust` (test "integration_tests") generated 23 warnings (run `cargo fix --test "integration_tests" -p r-squared-rust` to apply 12 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.44s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/r_squared_rust-e0179f44ef869f73)
[INFO] [stdout] test serializer::serializer_utils::tests::test_type_lookup ... ok
[INFO] [stdout] test serializer::serializer_utils::tests::test_varint_encoding ... ok
[INFO] [stdout] test serializer::serializer_validation::tests::test_validate_account_name ... ok
[INFO] [stdout] test serializer::serializer_validation::tests::test_validate_asset_symbol ... ok
[INFO] [stdout] test serializer::serializer_validation::tests::test_validate_buffer_bounds ... ok
[INFO] [stdout] test chain::transaction_helper::tests::test_calculate_transaction_id ... ok
[INFO] [stdout] test serializer::serializer_validation::tests::test_validate_object_id ... ok
[INFO] [stdout] test serializer::serializer_validation::tests::test_validate_asset_amount ... ok
[INFO] [stdout] test serializer::serializer_validation::tests::test_validate_public_key ... ok
[INFO] [stdout] test serializer::serializer_validation::tests::test_validate_type_consistency ... ok
[INFO] [stdout] test serializer::tests::test_serialization_config ... ok
[INFO] [stdout] test serializer::tests::test_constants ... ok
[INFO] [stdout] test serializer::tests::test_serialization_format ... ok
[INFO] [stdout] test serializer::serializer_validation::tests::test_validate_serialized_data ... ok
[INFO] [stdout] test storage::storage_api::tests::test_extract_prefix ... ok
[INFO] [stdout] test storage::storage_api::tests::test_generate_key ... ok
[INFO] [stdout] test storage::storage_api::tests::test_normalize_key ... ok
[INFO] [stdout] test storage::storage_api::tests::test_storage_config_default ... ok
[INFO] [stdout] test storage::storage_api::tests::test_storage_manager ... ok
[INFO] [stdout] test storage::storage_api::tests::test_validate_key ... ok
[INFO] [stdout] test storage::storage_local::tests::test_async_operations ... ok
[INFO] [stdout] test storage::storage_local::tests::test_batch_operations ... ok
[INFO] [stdout] test serializer::tests::test_serializer_api_creation ... ok
[INFO] [stdout] test storage::storage_local::tests::test_copy ... ok
[INFO] [stdout] test storage::storage_local::tests::test_exists_and_delete ... ok
[INFO] [stdout] test storage::storage_local::tests::test_list ... ok
[INFO] [stdout] test storage::storage_local::tests::test_metadata ... ok
[INFO] [stdout] test storage::storage_local::tests::test_put_and_get ... ok
[INFO] [stdout] test storage::tests::test_caching_middleware ... ok
[INFO] [stdout] test storage::tests::test_constants ... ok
[INFO] [stdout] test storage::tests::test_factory_from_url_local ... ok
[INFO] [stdout] test storage::tests::test_storage_factory_local ... ok
[INFO] [stdout] test storage::tests::test_utils_compress_decompress ... ok
[INFO] [stdout] test storage::storage_local::tests::test_local_config_default ... ok
[INFO] [stdout] test storage::storage_api::tests::test_extract_filename ... ok
[INFO] [stdout] test tests::test_version_info ... ok
[INFO] [stdout] test utils::tests::test_hex_conversion ... ok
[INFO] [stdout] test utils::tests::test_validate_key_length ... ok
[INFO] [stdout] test storage::tests::test_utils_generate_key ... ok
[INFO] [stdout] test storage::tests::test_utils_validate_key ... ok
[INFO] [stdout] test ecc::tests::test_ecc_brain_key_generation ... ok
[INFO] [stdout] test ecc::hash::tests::test_pbkdf2 ... ok
[INFO] [stdout] test ecc::brain_key::tests::test_brain_key_to_private_key ... ok
[INFO] [stdout] test ecc::brain_key::tests::test_brain_key_sequence_derivation ... ok
[INFO] [stdout] test ecc::aes::tests::test_password_based_encryption ... ok
[INFO] [stderr]      Running tests/integration_tests.rs (/opt/rustwide/target/debug/deps/integration_tests-ad7972e70ee51047)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 210 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.64s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 46 tests
[INFO] [stdout] test compatibility::chain_compatibility::test_account_name_validation_compatibility ... ok
[INFO] [stdout] test compatibility::chain_compatibility::test_object_id_creation ... ok
[INFO] [stdout] test compatibility::chain_compatibility::test_transaction_builder_compatibility ... ok
[INFO] [stdout] test compatibility::chain_compatibility::test_transaction_signing_compatibility ... ok
[INFO] [stdout] test compatibility::ecc_compatibility::test_address_generation_compatibility ... ok
[INFO] [stdout] test compatibility::ecc_compatibility::test_address_validation_compatibility ... ok
[INFO] [stdout] test compatibility::chain_compatibility::test_memo_creation_compatibility ... ok
[INFO] [stdout] test compatibility::chain_compatibility::test_asset_symbol_validation_compatibility ... ok
[INFO] [stdout] test compatibility::chain_compatibility::test_chain_validation_compatibility ... ok
[INFO] [stdout] test compatibility::chain_compatibility::test_asset_amount_calculations ... ok
[INFO] [stdout] test compatibility::chain_compatibility::test_chain_vectors_from_file ... ok
[INFO] [stdout] test compatibility::ecc_compatibility::test_ecc_vectors_from_file ... ok
[INFO] [stdout] test compatibility::ecc_compatibility::test_key_format_conversions ... ok
[INFO] [stdout] test compatibility::ecc_compatibility::test_private_key_to_public_key_compatibility ... ok
[INFO] [stdout] test compatibility::ecc_compatibility::test_hash_function_compatibility ... ok
[INFO] [stdout] test compatibility::ecc_compatibility::test_key_derivation_compatibility ... ok
[INFO] [stdout] test compatibility::ecc_compatibility::test_signature_compatibility ... ok
[INFO] [stdout] test compatibility::serializer_compatibility::test_object_id_serialization_compatibility ... ok
[INFO] [stdout] test compatibility::serializer_compatibility::test_asset_amount_serialization_compatibility ... ok
[INFO] [stdout] test compatibility::ecc_compatibility::test_memo_encryption_compatibility ... ok
[INFO] [stdout] test compatibility::chain_compatibility::test_object_id_compatibility ... ok
[INFO] [stdout] test compatibility::chain_compatibility::test_number_utils_compatibility ... ok
[INFO] [stdout] test compatibility::serializer_compatibility::test_memo_serialization_compatibility ... ok
[INFO] [stdout] test compatibility::serializer_compatibility::test_address_serialization_compatibility ... ok
[INFO] [stdout] test compatibility::serializer_compatibility::test_serializer_buffer_management ... ok
[INFO] [stdout] test compatibility::serializer_compatibility::test_signed_transaction_serialization_compatibility ... ok
[INFO] [stdout] test compatibility::serializer_compatibility::test_string_encoding_compatibility ... ok
[INFO] [stdout] test compatibility::serializer_compatibility::test_transaction_serialization_compatibility ... ok
[INFO] [stdout] test compatibility::serializer_compatibility::test_varint_encoding_compatibility ... ok
[INFO] [stdout] test compatibility::test_vectors::tests::test_generate_chain_vectors ... ok
[INFO] [stdout] test compatibility::test_vectors::tests::test_generate_ecc_vectors ... ok
[INFO] [stdout] test compatibility::test_vectors::tests::test_generate_serializer_vectors ... ok
[INFO] [stdout] test compatibility::test_vectors::tests::test_vector_serialization ... ok
[INFO] [stdout] test compatibility::tests::test_vector_serialization ... ok
[INFO] [stdout] test test_ecc_key_generation ... ok
[INFO] [stdout] test test_error_types ... ok
[INFO] [stdout] test test_library_version ... ok
[INFO] [stdout] test test_local_storage ... ok
[INFO] [stdout] test test_transaction_builder ... ok
[INFO] [stdout] test compatibility::serializer_compatibility::test_operation_serialization_compatibility ... ok
[INFO] [stdout] test compatibility::serializer_compatibility::test_serializer_vectors_from_file ... ok
[INFO] [stdout] test test_vector_generation_and_validation ... ok
[INFO] [stdout] test compatibility::serializer_compatibility::test_public_key_serialization_compatibility ... ok
[INFO] [stdout] test test_performance_baseline ... ok
[INFO] [stdout] test compatibility::ecc_compatibility::test_brain_key_compatibility ... ok
[INFO] [stdout] test test_javascript_compatibility ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 46 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.28s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests r_squared_rust
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test src/storage/mod.rs - storage (line 55) ... ignored
[INFO] [stdout] test src/lib.rs - (line 23) ... ok
[INFO] [stdout] test src/storage/mod.rs - storage (line 24) ... FAILED
[INFO] [stdout] test src/serializer/mod.rs - serializer (line 16) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/storage/mod.rs - storage (line 24) stdout ----
[INFO] [stdout] Test executable failed (exit status: 1).
[INFO] [stdout] 
[INFO] [stdout] stderr:
[INFO] [stdout] Error: OperationFailed { operation: "create_base_directory", reason: "Failed to create base directory: Read-only file system (os error 30)" }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/storage/mod.rs - storage (line 24)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 2 passed; 1 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.96s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "e7e6871ceaf00a8ea9f9ffb81ca57ac48d3c04332ba545e55a7ada6cb0fadec2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e7e6871ceaf00a8ea9f9ffb81ca57ac48d3c04332ba545e55a7ada6cb0fadec2", kill_on_drop: false }`
[INFO] [stdout] e7e6871ceaf00a8ea9f9ffb81ca57ac48d3c04332ba545e55a7ada6cb0fadec2
