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