[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] building mi4uu/r-squared-rust against try#4987e9d4227139400384ab59296ffee3b0fb1183 for pr-146237-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmi4uu%2Fr-squared-rust" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/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-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/mi4uu/r-squared-rust on toolchain 4987e9d4227139400384ab59296ffee3b0fb1183 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4987e9d4227139400384ab59296ffee3b0fb1183" "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" "+4987e9d4227139400384ab59296ffee3b0fb1183" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+4987e9d4227139400384ab59296ffee3b0fb1183" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 091641f720774bc766489fd9bda356088d108a560daa1cd397af371332fbfbdf [INFO] running `Command { std: "docker" "start" "-a" "091641f720774bc766489fd9bda356088d108a560daa1cd397af371332fbfbdf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "091641f720774bc766489fd9bda356088d108a560daa1cd397af371332fbfbdf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "091641f720774bc766489fd9bda356088d108a560daa1cd397af371332fbfbdf", kill_on_drop: false }` [INFO] [stdout] 091641f720774bc766489fd9bda356088d108a560daa1cd397af371332fbfbdf [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+4987e9d4227139400384ab59296ffee3b0fb1183" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6d450ad36c06b4190e094d66dbcbb1a68dd4f0cebd8552428088fb286b636424 [INFO] running `Command { std: "docker" "start" "-a" "6d450ad36c06b4190e094d66dbcbb1a68dd4f0cebd8552428088fb286b636424", kill_on_drop: false }` [INFO] [stderr] Compiling typenum v1.18.0 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling syn v2.0.104 [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 tracing-core v0.1.34 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling object v0.36.7 [INFO] [stderr] Compiling owo-colors v4.2.2 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling secp256k1-sys v0.11.0 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling gimli v0.31.1 [INFO] [stderr] Compiling color-spantrace v0.3.0 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling generic-array v0.14.7 [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 digest v0.10.7 [INFO] [stderr] Compiling inout v0.1.4 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling matchers v0.1.0 [INFO] [stderr] Compiling addr2line v0.24.2 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling base64ct v1.8.0 [INFO] [stderr] Compiling virtue v0.0.18 [INFO] [stderr] Compiling rustc-demangle v0.1.25 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling password-hash v0.5.0 [INFO] [stderr] Compiling eyre v0.6.12 [INFO] [stderr] Compiling pbkdf2 v0.12.2 [INFO] [stderr] Compiling salsa20 v0.10.2 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling mio v1.0.4 [INFO] [stderr] Compiling signal-hook-registry v1.4.5 [INFO] [stderr] Compiling bincode_derive v2.0.1 [INFO] [stderr] Compiling socket2 v0.5.10 [INFO] [stderr] Compiling unty v0.0.4 [INFO] [stderr] Compiling keccak v0.1.5 [INFO] [stderr] Compiling iana-time-zone v0.1.63 [INFO] [stderr] Compiling sha3 v0.10.8 [INFO] [stderr] Compiling bincode v2.0.1 [INFO] [stderr] Compiling scrypt v0.11.0 [INFO] [stderr] Compiling secp256k1 v0.31.1 [INFO] [stderr] Compiling rand v0.9.1 [INFO] [stderr] Compiling aes v0.8.4 [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 hex v0.4.3 [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 tokio-macros v2.5.0 [INFO] [stderr] Compiling zeroize_derive v1.4.2 [INFO] [stderr] Compiling tokio v1.45.1 [INFO] [stderr] Compiling backtrace v0.3.75 [INFO] [stderr] Compiling zeroize v1.8.1 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling base58 v0.2.0 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling chrono v0.4.41 [INFO] [stderr] Compiling uuid v1.17.0 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling tracing-log v0.2.0 [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/aes.rs:282:23 [INFO] [stdout] | [INFO] [stdout] 282 | let mut rng = 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/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/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/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 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/address.rs:264:29 [INFO] [stdout] | [INFO] [stdout] 264 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^^^^^^^^ [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] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [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/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 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 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/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/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: `message` [INFO] [stdout] --> src/ecc/mod.rs:178:31 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn recover_public_key(message: &[u8], signature: &Signature) -> EccResult { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message` [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] [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: `credentials` [INFO] [stdout] --> src/chain/mod.rs:156:29 [INFO] [stdout] | [INFO] [stdout] 156 | pub fn login(&mut self, credentials: &LoginCredentials) -> ChainResult { [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 { [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 { [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 | Operation::AssetCreate { issuer, symbol, 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 | Operation::AssetCreate { issuer, symbol, precision, common_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: `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: `data` [INFO] [stdout] --> src/serializer/serializer_validation.rs:547:38 [INFO] [stdout] | [INFO] [stdout] 547 | pub fn comprehensive_validate(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: `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] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 112 | _sequence: u32, [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MAX_RETRIES` [INFO] [stdout] | [INFO] [stdout] 112 - sequence: u32, [INFO] [stdout] 112 + storage::constants::DEFAULT_MAX_RETRIES: u32, [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: field `buffer_size` is never read [INFO] [stdout] --> src/serializer/fast_parser.rs:431:5 [INFO] [stdout] | [INFO] [stdout] 428 | pub struct StreamingParser { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 431 | buffer_size: usize, [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 `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) -> SerializerResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 699 | fn deserialize_object_id_vec(data: &[u8], offset: &mut usize) -> SerializerResult> { [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, 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 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: 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] [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 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 248 | fn pkcs7_unpad(data: &[u8]) -> EccResult> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 38s [INFO] running `Command { std: "docker" "inspect" "6d450ad36c06b4190e094d66dbcbb1a68dd4f0cebd8552428088fb286b636424", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6d450ad36c06b4190e094d66dbcbb1a68dd4f0cebd8552428088fb286b636424", kill_on_drop: false }` [INFO] [stdout] 6d450ad36c06b4190e094d66dbcbb1a68dd4f0cebd8552428088fb286b636424 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+4987e9d4227139400384ab59296ffee3b0fb1183" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 45d8a4dd7c461ebbbe6066b411dd9ce17be406c394d3a667c6860984e394e36d [INFO] running `Command { std: "docker" "start" "-a" "45d8a4dd7c461ebbbe6066b411dd9ce17be406c394d3a667c6860984e394e36d", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling rustix v1.0.7 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling bitflags v2.9.1 [INFO] [stderr] Compiling linux-raw-sys v0.9.4 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling tokio v1.45.1 [INFO] [stderr] Compiling half v2.6.0 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling ciborium-io v0.2.2 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling clap_builder v4.5.40 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling tempfile v3.20.0 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling cast v0.3.0 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling uuid v1.17.0 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling chrono v0.4.41 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling tracing-subscriber v0.3.19 [INFO] [stderr] Compiling clap v4.5.40 [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling rusty-fork v0.3.0 [INFO] [stderr] Compiling rayon v1.10.0 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling anes v0.1.6 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling proptest v1.7.0 [INFO] [stderr] Compiling tracing-error v0.2.1 [INFO] [stderr] Compiling color-spantrace v0.3.0 [INFO] [stderr] Compiling tokio-test v0.4.4 [INFO] [stderr] Compiling color-eyre v0.6.5 [INFO] [stderr] Compiling criterion v0.6.0 [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/aes.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | use rand::{Rng, 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/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/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/address.rs:264:29 [INFO] [stdout] | [INFO] [stdout] 264 | 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/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/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 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: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: 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] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [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 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 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/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 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::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/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: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/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::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/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/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] [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 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message` [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: `credentials` [INFO] [stdout] --> src/chain/mod.rs:156:29 [INFO] [stdout] | [INFO] [stdout] 156 | pub fn login(&mut self, credentials: &LoginCredentials) -> ChainResult { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_credentials` [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: `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 { [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 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [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: `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 | Operation::AssetCreate { issuer, symbol, 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 | Operation::AssetCreate { issuer, symbol, precision, common_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(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: `sequence` [INFO] [stdout] --> src/chain/account_login.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | sequence: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 112 | _sequence: u32, [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MAX_RETRIES` [INFO] [stdout] | [INFO] [stdout] 112 - sequence: u32, [INFO] [stdout] 112 + storage::constants::DEFAULT_MAX_RETRIES: u32, [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: 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] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [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, 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: field `buffer_size` is never read [INFO] [stdout] --> src/serializer/fast_parser.rs:431:5 [INFO] [stdout] | [INFO] [stdout] 428 | pub struct StreamingParser { [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 `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 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 248 | fn pkcs7_unpad(data: &[u8]) -> EccResult> { [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) -> SerializerResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 699 | fn deserialize_object_id_vec(data: &[u8], offset: &mut usize) -> SerializerResult> { [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] [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/chain/account_login.rs:434:29 [INFO] [stdout] | [INFO] [stdout] 434 | 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/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 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] [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/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/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/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/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/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: 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] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [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 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 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 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/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/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`: 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: `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 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] [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: `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: `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] = 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: `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] [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> { [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> { [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> { [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> { [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> { [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> { [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: 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 { [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 { [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 | Operation::AssetCreate { issuer, symbol, 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 | Operation::AssetCreate { issuer, symbol, precision, common_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: `credentials` [INFO] [stdout] --> src/chain/mod.rs:156:29 [INFO] [stdout] | [INFO] [stdout] 156 | pub fn login(&mut self, credentials: &LoginCredentials) -> ChainResult { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_credentials` [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: `data` [INFO] [stdout] --> src/serializer/serializer_validation.rs:547:38 [INFO] [stdout] | [INFO] [stdout] 547 | pub fn comprehensive_validate(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: `sequence` [INFO] [stdout] --> src/chain/account_login.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | sequence: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 112 | _sequence: u32, [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MAX_RETRIES` [INFO] [stdout] | [INFO] [stdout] 112 - sequence: u32, [INFO] [stdout] 112 + storage::constants::DEFAULT_MAX_RETRIES: u32, [INFO] [stdout] | [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 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message` [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: 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: field `buffer_size` is never read [INFO] [stdout] --> src/serializer/fast_parser.rs:431:5 [INFO] [stdout] | [INFO] [stdout] 428 | pub struct StreamingParser { [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) -> SerializerResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 699 | fn deserialize_object_id_vec(data: &[u8], offset: &mut usize) -> SerializerResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [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_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] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 32s [INFO] running `Command { std: "docker" "inspect" "45d8a4dd7c461ebbbe6066b411dd9ce17be406c394d3a667c6860984e394e36d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "45d8a4dd7c461ebbbe6066b411dd9ce17be406c394d3a667c6860984e394e36d", kill_on_drop: false }` [INFO] [stdout] 45d8a4dd7c461ebbbe6066b411dd9ce17be406c394d3a667c6860984e394e36d