[INFO] cloning repository https://github.com/duanbing/xchain-rust-crypto
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/duanbing/xchain-rust-crypto" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fduanbing%2Fxchain-rust-crypto", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fduanbing%2Fxchain-rust-crypto'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a0fe47d2f10c9c7b886e38163dfe57be794f9021
[INFO] testing duanbing/xchain-rust-crypto against 1.69.0 for beta-1.70-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fduanbing%2Fxchain-rust-crypto" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/duanbing/xchain-rust-crypto on toolchain 1.69.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/duanbing/xchain-rust-crypto
[INFO] finished tweaking git repo https://github.com/duanbing/xchain-rust-crypto
[INFO] tweaked toml for git repo https://github.com/duanbing/xchain-rust-crypto written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/duanbing/xchain-rust-crypto 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" "+1.69.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f8a46c29efe34b65f618c634a10c0fb3335a4956f3cbab8797c9e2a144e6c818
[INFO] running `Command { std: "docker" "start" "-a" "f8a46c29efe34b65f618c634a10c0fb3335a4956f3cbab8797c9e2a144e6c818", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f8a46c29efe34b65f618c634a10c0fb3335a4956f3cbab8797c9e2a144e6c818", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f8a46c29efe34b65f618c634a10c0fb3335a4956f3cbab8797c9e2a144e6c818", kill_on_drop: false }`
[INFO] [stdout] f8a46c29efe34b65f618c634a10c0fb3335a4956f3cbab8797c9e2a144e6c818
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 59b632a023cc1fe288d4804cf5535a3d808a40d98880f0a19120186a42f34ab7
[INFO] running `Command { std: "docker" "start" "-a" "59b632a023cc1fe288d4804cf5535a3d808a40d98880f0a19120186a42f34ab7", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.69
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.10
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling syn v1.0.17
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling serde v1.0.106
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]    Compiling cc v1.0.50
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]    Compiling ryu v1.0.3
[INFO] [stderr]    Compiling gcc v0.3.55
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.6
[INFO] [stderr]    Compiling regex-syntax v0.6.18
[INFO] [stderr]    Compiling rustc-serialize v0.3.24
[INFO] [stderr]    Compiling itoa v0.4.5
[INFO] [stderr]    Compiling thread_local v1.0.1
[INFO] [stderr]    Compiling untrusted v0.7.0
[INFO] [stderr]    Compiling spin v0.5.2
[INFO] [stderr]    Compiling base58 v0.1.0
[INFO] [stderr]    Compiling aho-corasick v0.7.10
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling num-integer v0.1.42
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling rust-crypto v0.2.36
[INFO] [stderr]    Compiling ring v0.16.12
[INFO] [stderr]    Compiling quote v1.0.3
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling iovec v0.1.4
[INFO] [stderr]    Compiling time v0.1.43
[INFO] [stderr]    Compiling bytes v0.4.12
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling regex v1.3.9
[INFO] [stderr]    Compiling serde_derive v1.0.106
[INFO] [stderr]    Compiling serde_json v1.0.51
[INFO] [stderr]    Compiling xchain-rust-crypto v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: type `int` should have an upper camel case name
[INFO] [stdout]   --> src/c.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) type int = i32;
[INFO] [stdout]    |                 ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Int`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `uint` should have an upper camel case name
[INFO] [stdout]   --> src/c.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub(crate) type uint = u32;
[INFO] [stdout]    |                 ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Uint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `size_t` should have an upper camel case name
[INFO] [stdout]   --> src/c.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub(crate) type size_t = usize;
[INFO] [stdout]    |                 ^^^^^^ help: convert the identifier to upper camel case: `SizeT`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/hdwallet/languages.rs:10:41
[INFO] [stdout]    |
[INFO] [stdout] 10 |     static ref WORDLIST_S_CH: WordMap = { load_wordlist(include_str!("langs/simplified_chinese.txt")) };
[INFO] [stdout]    |                                         ^^                                                           ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 10 -     static ref WORDLIST_S_CH: WordMap = { load_wordlist(include_str!("langs/simplified_chinese.txt")) };
[INFO] [stdout] 10 +     static ref WORDLIST_S_CH: WordMap = load_wordlist(include_str!("langs/simplified_chinese.txt"));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/hdwallet/languages.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     static ref WORDLIST_EN: WordMap = { load_wordlist(include_str!("langs/english.txt")) };
[INFO] [stdout]    |                                       ^^                                                ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 11 -     static ref WORDLIST_EN: WordMap = { load_wordlist(include_str!("langs/english.txt")) };
[INFO] [stdout] 11 +     static ref WORDLIST_EN: WordMap = load_wordlist(include_str!("langs/english.txt"));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/hdwallet/rand.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |         { num_bigint::BigInt::from_i32(2048).unwrap() };
[INFO] [stdout]    |         ^^                                           ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 11 -         { num_bigint::BigInt::from_i32(2048).unwrap() };
[INFO] [stdout] 11 +         num_bigint::BigInt::from_i32(2048).unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/hdwallet/rand.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |         { num_bigint::BigInt::from_i32(2047).unwrap() };
[INFO] [stdout]    |         ^^                                           ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 13 -         { num_bigint::BigInt::from_i32(2047).unwrap() };
[INFO] [stdout] 13 +         num_bigint::BigInt::from_i32(2047).unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/hdwallet/rand.rs:14:54
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub static ref BIGINT_ZERO: num_bigint::BigInt = { num_traits::Zero::zero() };
[INFO] [stdout]    |                                                      ^^                        ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 14 -     pub static ref BIGINT_ZERO: num_bigint::BigInt = { num_traits::Zero::zero() };
[INFO] [stdout] 14 +     pub static ref BIGINT_ZERO: num_bigint::BigInt = num_traits::Zero::zero();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/hdwallet/rand.rs:15:53
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub static ref BIGINT_ONE: num_bigint::BigInt = { num_traits::One::one() };
[INFO] [stdout]    |                                                     ^^                      ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 15 -     pub static ref BIGINT_ONE: num_bigint::BigInt = { num_traits::One::one() };
[INFO] [stdout] 15 +     pub static ref BIGINT_ONE: num_bigint::BigInt = num_traits::One::one();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/hdwallet/rand.rs:16:53
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub static ref BIGINT_TWO: num_bigint::BigInt = { num_bigint::BigInt::from_i32(2).unwrap() };
[INFO] [stdout]    |                                                     ^^                                        ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 16 -     pub static ref BIGINT_TWO: num_bigint::BigInt = { num_bigint::BigInt::from_i32(2).unwrap() };
[INFO] [stdout] 16 +     pub static ref BIGINT_TWO: num_bigint::BigInt = num_bigint::BigInt::from_i32(2).unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ECDSA_P256_SHA256_ASN1_SIGNING` should have an upper camel case name
[INFO] [stdout]   --> src/ec/suite_b/ecdsa/signing.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     ECDSA_P256_SHA256_ASN1_SIGNING,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EcdsaP256Sha256Asn1Signing`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ECDSA_P256_SHA256_ASN1` should have an upper camel case name
[INFO] [stdout]   --> src/ec/suite_b/ecdsa/verification.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     ECDSA_P256_SHA256_ASN1,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EcdsaP256Sha256Asn1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::arithmetic::montgomery::R`
[INFO] [stdout]  --> src/ec/suite_b/ecies.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::arithmetic::montgomery::R;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/errors.rs:81:44
[INFO] [stdout]    |
[INFO] [stdout] 81 |         ErrorKind::ErrInvalidEntropyLength => ("Entropy length must within [128, 256] and be multiples of 32"),
[INFO] [stdout]    |                                               ^                                                              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 81 -         ErrorKind::ErrInvalidEntropyLength => ("Entropy length must within [128, 256] and be multiples of 32"),
[INFO] [stdout] 81 +         ErrorKind::ErrInvalidEntropyLength => "Entropy length must within [128, 256] and be multiples of 32",
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/errors.rs:84:44
[INFO] [stdout]    |
[INFO] [stdout] 84 |         ErrorKind::ErrStrengthNotSupported => ("This strength has not been supported yet."),
[INFO] [stdout]    |                                               ^                                           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 84 -         ErrorKind::ErrStrengthNotSupported => ("This strength has not been supported yet."),
[INFO] [stdout] 84 +         ErrorKind::ErrStrengthNotSupported => "This strength has not been supported yet.",
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/errors.rs:88:44
[INFO] [stdout]    |
[INFO] [stdout] 88 |         ErrorKind::ErrLanguageNotSupported => ("This language has not been supported yet."),
[INFO] [stdout]    |                                               ^                                           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 88 -         ErrorKind::ErrLanguageNotSupported => ("This language has not been supported yet."),
[INFO] [stdout] 88 +         ErrorKind::ErrLanguageNotSupported => "This language has not been supported yet.",
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/errors.rs:90:43
[INFO] [stdout]    |
[INFO] [stdout] 90 | ...cNumNotValid => ("The number of words in the Mnemonic sentence is not valid. It must be within [12, 15, 18, 21, 24]"),
[INFO] [stdout]    |                    ^                                                                                                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 90 -         ErrorKind::ErrMnemonicNumNotValid => ("The number of words in the Mnemonic sentence is not valid. It must be within [12, 15, 18, 21, 24]"),
[INFO] [stdout] 90 +         ErrorKind::ErrMnemonicNumNotValid => "The number of words in the Mnemonic sentence is not valid. It must be within [12, 15, 18, 21, 24]",
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/errors.rs:92:49
[INFO] [stdout]    |
[INFO] [stdout] 92 |         ErrorKind::ErrMnemonicChecksumIncorrect => ("The checksum within the Mnemonic sentence incorrect"),
[INFO] [stdout]    |                                                    ^                                                     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 92 -         ErrorKind::ErrMnemonicChecksumIncorrect => ("The checksum within the Mnemonic sentence incorrect"),
[INFO] [stdout] 92 +         ErrorKind::ErrMnemonicChecksumIncorrect => "The checksum within the Mnemonic sentence incorrect",
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `entropy` is never read
[INFO] [stdout]   --> src/account/account.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct ECDSAAccount {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 18 |     entropy: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ECDSAAccount` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `uint` is never used
[INFO] [stdout]   --> src/c.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub(crate) type uint = u32;
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `generate_private_key` is never read
[INFO] [stdout]   --> src/ec.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Curve {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     generate_private_key: fn(rng: &[u8], &mut [u8]) -> Result<()>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `generate` is never used
[INFO] [stdout]   --> src/ec/keys.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub(crate) fn generate(curve: &'static Curve, rng: &[u8]) -> Result<Self> {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unary_op_from_binary_op_assign` is never used
[INFO] [stdout]    --> src/ec/suite_b/ops/elem.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn unary_op_from_binary_op_assign<M, E: Encoding>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `PUBLIC_KEY_OPS` is never used
[INFO] [stdout]    --> src/ec/suite_b/ops/p384.rs:157:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub static PUBLIC_KEY_OPS: PublicKeyOps = PublicKeyOps {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `SCALAR_OPS` is never used
[INFO] [stdout]    --> src/ec/suite_b/ops/p384.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub static SCALAR_OPS: ScalarOps = ScalarOps {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `PUBLIC_SCALAR_OPS` is never used
[INFO] [stdout]    --> src/ec/suite_b/ops/p384.rs:167:12
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub static PUBLIC_SCALAR_OPS: PublicScalarOps = PublicScalarOps {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `PRIVATE_SCALAR_OPS` is never used
[INFO] [stdout]    --> src/ec/suite_b/ops/p384.rs:183:12
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub static PRIVATE_SCALAR_OPS: PrivateScalarOps = PrivateScalarOps {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `p384_scalar_inv_to_mont` is never used
[INFO] [stdout]    --> src/ec/suite_b/ops/p384.rs:193:4
[INFO] [stdout]     |
[INFO] [stdout] 193 | fn p384_scalar_inv_to_mont(a: &Scalar<Unencoded>) -> Scalar<R> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_RR_LIMBS` is never used
[INFO] [stdout]    --> src/ec/suite_b/ops/p384.rs:336:7
[INFO] [stdout]     |
[INFO] [stdout] 336 | const N_RR_LIMBS: [Limb; MAX_LIMBS] = p384_limbs![
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `GFp_p384_scalar_mul_mont` is never used
[INFO] [stdout]    --> src/ec/suite_b/ops/p384.rs:365:8
[INFO] [stdout]     |
[INFO] [stdout] 365 |     fn GFp_p384_scalar_mul_mont(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_copy` is never used
[INFO] [stdout]   --> src/io/writer.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn write_copy(accumulator: &mut dyn Accumulator, to_copy: untrusted::Input) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `zero` is never used
[INFO] [stdout]   --> src/io/writer.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn zero() -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_capacity` is never used
[INFO] [stdout]   --> src/io/writer.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub(super) fn with_capacity(capacity: LengthMeasurement) -> Self {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_positive_integer` is never used
[INFO] [stdout]   --> src/io/der_writer.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(crate) fn write_positive_integer(output: &mut dyn Accumulator, value: &Positive) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_all` is never used
[INFO] [stdout]   --> src/io/der_writer.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub(crate) fn write_all(tag: Tag, write_value: &dyn Fn(&mut dyn Accumulator)) -> Box<[u8]> {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_tlv` is never used
[INFO] [stdout]   --> src/io/der_writer.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn write_tlv<F>(output: &mut dyn Accumulator, tag: Tag, write_value: F)
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters are not enforced in type aliases
[INFO] [stdout]   --> src/account/address.rs:31:27
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub type PublicKey<'a, B: AsRef<[u8]>> = crate::sign::ecdsa::UnparsedPublicKey<&'a B>;
[INFO] [stdout]    |                           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(type_alias_bounds)]` on by default
[INFO] [stdout] help: the bound will not be checked when the type alias is used, and should be removed
[INFO] [stdout]    |
[INFO] [stdout] 31 - pub type PublicKey<'a, B: AsRef<[u8]>> = crate::sign::ecdsa::UnparsedPublicKey<&'a B>;
[INFO] [stdout] 31 + pub type PublicKey<'a, B> = crate::sign::ecdsa::UnparsedPublicKey<&'a B>;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `oneRR` should have a snake case name
[INFO] [stdout]    --> src/arithmetic/bigint.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 217 |     oneRR: One<M, RR>,
[INFO] [stdout]     |     ^^^^^ help: convert the identifier to snake case: `one_rr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `oneRR` should have a snake case name
[INFO] [stdout]    --> src/arithmetic/bigint.rs:278:13
[INFO] [stdout]     |
[INFO] [stdout] 278 |         let oneRR = {
[INFO] [stdout]     |             ^^^^^ help: convert the identifier to snake case: `one_rr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `oneRR` should have a snake case name
[INFO] [stdout]    --> src/arithmetic/bigint.rs:317:12
[INFO] [stdout]     |
[INFO] [stdout] 317 |     pub fn oneRR(&self) -> &One<M, RR> {
[INFO] [stdout]     |            ^^^^^ help: convert the identifier to snake case: `one_rr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `newRR` should have a snake case name
[INFO] [stdout]    --> src/arithmetic/bigint.rs:622:8
[INFO] [stdout]     |
[INFO] [stdout] 622 |     fn newRR(m: &PartialModulus<M>, m_bits: bits::BitLength) -> Self {
[INFO] [stdout]     |        ^^^^^ help: convert the identifier to snake case: `new_rr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `RR` should have a snake case name
[INFO] [stdout]    --> src/arithmetic/bigint.rs:652:13
[INFO] [stdout]     |
[INFO] [stdout] 652 |         let RR = elem_exp_vartime_(base, exponent, m);
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `rr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `dP` should have a snake case name
[INFO] [stdout]    --> src/arithmetic/bigint.rs:785:13
[INFO] [stdout]     |
[INFO] [stdout] 785 |         let dP = BoxedLimbs::from_be_bytes_padded_less_than(input, p)?;
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `d_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `GFp_p384_elem_sqr_mont` should have a snake case name
[INFO] [stdout]    --> src/ec/suite_b/ops/p384.rs:328:22
[INFO] [stdout]     |
[INFO] [stdout] 328 | unsafe extern "C" fn GFp_p384_elem_sqr_mont(
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `gfp_p384_elem_sqr_mont`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 44 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 17.84s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.24
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "59b632a023cc1fe288d4804cf5535a3d808a40d98880f0a19120186a42f34ab7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "59b632a023cc1fe288d4804cf5535a3d808a40d98880f0a19120186a42f34ab7", kill_on_drop: false }`
[INFO] [stdout] 59b632a023cc1fe288d4804cf5535a3d808a40d98880f0a19120186a42f34ab7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2dd1b9cff6ddfb9c3d87d29c4e133d88c4c5a585e53161b4177dccafc2143145
[INFO] running `Command { std: "docker" "start" "-a" "2dd1b9cff6ddfb9c3d87d29c4e133d88c4c5a585e53161b4177dccafc2143145", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling hex v0.4.2
[INFO] [stderr]    Compiling base64 v0.12.1
[INFO] [stdout] warning: type `int` should have an upper camel case name
[INFO] [stdout]   --> src/c.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) type int = i32;
[INFO] [stdout]    |                 ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Int`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `uint` should have an upper camel case name
[INFO] [stdout]   --> src/c.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub(crate) type uint = u32;
[INFO] [stdout]    |                 ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Uint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `size_t` should have an upper camel case name
[INFO] [stdout]   --> src/c.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub(crate) type size_t = usize;
[INFO] [stdout]    |                 ^^^^^^ help: convert the identifier to upper camel case: `SizeT`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/hdwallet/languages.rs:10:41
[INFO] [stdout]    |
[INFO] [stdout] 10 |     static ref WORDLIST_S_CH: WordMap = { load_wordlist(include_str!("langs/simplified_chinese.txt")) };
[INFO] [stdout]    |                                         ^^                                                           ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 10 -     static ref WORDLIST_S_CH: WordMap = { load_wordlist(include_str!("langs/simplified_chinese.txt")) };
[INFO] [stdout] 10 +     static ref WORDLIST_S_CH: WordMap = load_wordlist(include_str!("langs/simplified_chinese.txt"));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/hdwallet/languages.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     static ref WORDLIST_EN: WordMap = { load_wordlist(include_str!("langs/english.txt")) };
[INFO] [stdout]    |                                       ^^                                                ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 11 -     static ref WORDLIST_EN: WordMap = { load_wordlist(include_str!("langs/english.txt")) };
[INFO] [stdout] 11 +     static ref WORDLIST_EN: WordMap = load_wordlist(include_str!("langs/english.txt"));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/hdwallet/rand.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |         { num_bigint::BigInt::from_i32(2048).unwrap() };
[INFO] [stdout]    |         ^^                                           ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 11 -         { num_bigint::BigInt::from_i32(2048).unwrap() };
[INFO] [stdout] 11 +         num_bigint::BigInt::from_i32(2048).unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/hdwallet/rand.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |         { num_bigint::BigInt::from_i32(2047).unwrap() };
[INFO] [stdout]    |         ^^                                           ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 13 -         { num_bigint::BigInt::from_i32(2047).unwrap() };
[INFO] [stdout] 13 +         num_bigint::BigInt::from_i32(2047).unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/hdwallet/rand.rs:14:54
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub static ref BIGINT_ZERO: num_bigint::BigInt = { num_traits::Zero::zero() };
[INFO] [stdout]    |                                                      ^^                        ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 14 -     pub static ref BIGINT_ZERO: num_bigint::BigInt = { num_traits::Zero::zero() };
[INFO] [stdout] 14 +     pub static ref BIGINT_ZERO: num_bigint::BigInt = num_traits::Zero::zero();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/hdwallet/rand.rs:15:53
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub static ref BIGINT_ONE: num_bigint::BigInt = { num_traits::One::one() };
[INFO] [stdout]    |                                                     ^^                      ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 15 -     pub static ref BIGINT_ONE: num_bigint::BigInt = { num_traits::One::one() };
[INFO] [stdout] 15 +     pub static ref BIGINT_ONE: num_bigint::BigInt = num_traits::One::one();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/hdwallet/rand.rs:16:53
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub static ref BIGINT_TWO: num_bigint::BigInt = { num_bigint::BigInt::from_i32(2).unwrap() };
[INFO] [stdout]    |                                                     ^^                                        ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 16 -     pub static ref BIGINT_TWO: num_bigint::BigInt = { num_bigint::BigInt::from_i32(2).unwrap() };
[INFO] [stdout] 16 +     pub static ref BIGINT_TWO: num_bigint::BigInt = num_bigint::BigInt::from_i32(2).unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ECDSA_P256_SHA256_ASN1_SIGNING` should have an upper camel case name
[INFO] [stdout]   --> src/ec/suite_b/ecdsa/signing.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     ECDSA_P256_SHA256_ASN1_SIGNING,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EcdsaP256Sha256Asn1Signing`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ECDSA_P256_SHA256_ASN1` should have an upper camel case name
[INFO] [stdout]   --> src/ec/suite_b/ecdsa/verification.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     ECDSA_P256_SHA256_ASN1,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EcdsaP256Sha256Asn1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::arithmetic::montgomery::R`
[INFO] [stdout]  --> src/ec/suite_b/ecies.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::arithmetic::montgomery::R;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/errors.rs:81:44
[INFO] [stdout]    |
[INFO] [stdout] 81 |         ErrorKind::ErrInvalidEntropyLength => ("Entropy length must within [128, 256] and be multiples of 32"),
[INFO] [stdout]    |                                               ^                                                              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 81 -         ErrorKind::ErrInvalidEntropyLength => ("Entropy length must within [128, 256] and be multiples of 32"),
[INFO] [stdout] 81 +         ErrorKind::ErrInvalidEntropyLength => "Entropy length must within [128, 256] and be multiples of 32",
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/errors.rs:84:44
[INFO] [stdout]    |
[INFO] [stdout] 84 |         ErrorKind::ErrStrengthNotSupported => ("This strength has not been supported yet."),
[INFO] [stdout]    |                                               ^                                           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 84 -         ErrorKind::ErrStrengthNotSupported => ("This strength has not been supported yet."),
[INFO] [stdout] 84 +         ErrorKind::ErrStrengthNotSupported => "This strength has not been supported yet.",
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/errors.rs:88:44
[INFO] [stdout]    |
[INFO] [stdout] 88 |         ErrorKind::ErrLanguageNotSupported => ("This language has not been supported yet."),
[INFO] [stdout]    |                                               ^                                           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 88 -         ErrorKind::ErrLanguageNotSupported => ("This language has not been supported yet."),
[INFO] [stdout] 88 +         ErrorKind::ErrLanguageNotSupported => "This language has not been supported yet.",
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/errors.rs:90:43
[INFO] [stdout]    |
[INFO] [stdout] 90 | ...cNumNotValid => ("The number of words in the Mnemonic sentence is not valid. It must be within [12, 15, 18, 21, 24]"),
[INFO] [stdout]    |                    ^                                                                                                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 90 -         ErrorKind::ErrMnemonicNumNotValid => ("The number of words in the Mnemonic sentence is not valid. It must be within [12, 15, 18, 21, 24]"),
[INFO] [stdout] 90 +         ErrorKind::ErrMnemonicNumNotValid => "The number of words in the Mnemonic sentence is not valid. It must be within [12, 15, 18, 21, 24]",
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/errors.rs:92:49
[INFO] [stdout]    |
[INFO] [stdout] 92 |         ErrorKind::ErrMnemonicChecksumIncorrect => ("The checksum within the Mnemonic sentence incorrect"),
[INFO] [stdout]    |                                                    ^                                                     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 92 -         ErrorKind::ErrMnemonicChecksumIncorrect => ("The checksum within the Mnemonic sentence incorrect"),
[INFO] [stdout] 92 +         ErrorKind::ErrMnemonicChecksumIncorrect => "The checksum within the Mnemonic sentence incorrect",
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `entropy` is never read
[INFO] [stdout]   --> src/account/account.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct ECDSAAccount {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 18 |     entropy: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ECDSAAccount` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `uint` is never used
[INFO] [stdout]   --> src/c.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub(crate) type uint = u32;
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `generate_private_key` is never read
[INFO] [stdout]   --> src/ec.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Curve {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     generate_private_key: fn(rng: &[u8], &mut [u8]) -> Result<()>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `generate` is never used
[INFO] [stdout]   --> src/ec/keys.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub(crate) fn generate(curve: &'static Curve, rng: &[u8]) -> Result<Self> {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unary_op_from_binary_op_assign` is never used
[INFO] [stdout]    --> src/ec/suite_b/ops/elem.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn unary_op_from_binary_op_assign<M, E: Encoding>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `PUBLIC_KEY_OPS` is never used
[INFO] [stdout]    --> src/ec/suite_b/ops/p384.rs:157:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub static PUBLIC_KEY_OPS: PublicKeyOps = PublicKeyOps {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `SCALAR_OPS` is never used
[INFO] [stdout]    --> src/ec/suite_b/ops/p384.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub static SCALAR_OPS: ScalarOps = ScalarOps {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `PUBLIC_SCALAR_OPS` is never used
[INFO] [stdout]    --> src/ec/suite_b/ops/p384.rs:167:12
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub static PUBLIC_SCALAR_OPS: PublicScalarOps = PublicScalarOps {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `PRIVATE_SCALAR_OPS` is never used
[INFO] [stdout]    --> src/ec/suite_b/ops/p384.rs:183:12
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub static PRIVATE_SCALAR_OPS: PrivateScalarOps = PrivateScalarOps {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `p384_scalar_inv_to_mont` is never used
[INFO] [stdout]    --> src/ec/suite_b/ops/p384.rs:193:4
[INFO] [stdout]     |
[INFO] [stdout] 193 | fn p384_scalar_inv_to_mont(a: &Scalar<Unencoded>) -> Scalar<R> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_RR_LIMBS` is never used
[INFO] [stdout]    --> src/ec/suite_b/ops/p384.rs:336:7
[INFO] [stdout]     |
[INFO] [stdout] 336 | const N_RR_LIMBS: [Limb; MAX_LIMBS] = p384_limbs![
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `GFp_p384_scalar_mul_mont` is never used
[INFO] [stdout]    --> src/ec/suite_b/ops/p384.rs:365:8
[INFO] [stdout]     |
[INFO] [stdout] 365 |     fn GFp_p384_scalar_mul_mont(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_copy` is never used
[INFO] [stdout]   --> src/io/writer.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn write_copy(accumulator: &mut dyn Accumulator, to_copy: untrusted::Input) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `zero` is never used
[INFO] [stdout]   --> src/io/writer.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn zero() -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_capacity` is never used
[INFO] [stdout]   --> src/io/writer.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub(super) fn with_capacity(capacity: LengthMeasurement) -> Self {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_positive_integer` is never used
[INFO] [stdout]   --> src/io/der_writer.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(crate) fn write_positive_integer(output: &mut dyn Accumulator, value: &Positive) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_all` is never used
[INFO] [stdout]   --> src/io/der_writer.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub(crate) fn write_all(tag: Tag, write_value: &dyn Fn(&mut dyn Accumulator)) -> Box<[u8]> {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_tlv` is never used
[INFO] [stdout]   --> src/io/der_writer.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn write_tlv<F>(output: &mut dyn Accumulator, tag: Tag, write_value: F)
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters are not enforced in type aliases
[INFO] [stdout]   --> src/account/address.rs:31:27
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub type PublicKey<'a, B: AsRef<[u8]>> = crate::sign::ecdsa::UnparsedPublicKey<&'a B>;
[INFO] [stdout]    |                           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(type_alias_bounds)]` on by default
[INFO] [stdout] help: the bound will not be checked when the type alias is used, and should be removed
[INFO] [stdout]    |
[INFO] [stdout] 31 - pub type PublicKey<'a, B: AsRef<[u8]>> = crate::sign::ecdsa::UnparsedPublicKey<&'a B>;
[INFO] [stdout] 31 + pub type PublicKey<'a, B> = crate::sign::ecdsa::UnparsedPublicKey<&'a B>;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `oneRR` should have a snake case name
[INFO] [stdout]    --> src/arithmetic/bigint.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 217 |     oneRR: One<M, RR>,
[INFO] [stdout]     |     ^^^^^ help: convert the identifier to snake case: `one_rr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `oneRR` should have a snake case name
[INFO] [stdout]    --> src/arithmetic/bigint.rs:278:13
[INFO] [stdout]     |
[INFO] [stdout] 278 |         let oneRR = {
[INFO] [stdout]     |             ^^^^^ help: convert the identifier to snake case: `one_rr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `oneRR` should have a snake case name
[INFO] [stdout]    --> src/arithmetic/bigint.rs:317:12
[INFO] [stdout]     |
[INFO] [stdout] 317 |     pub fn oneRR(&self) -> &One<M, RR> {
[INFO] [stdout]     |            ^^^^^ help: convert the identifier to snake case: `one_rr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `newRR` should have a snake case name
[INFO] [stdout]    --> src/arithmetic/bigint.rs:622:8
[INFO] [stdout]     |
[INFO] [stdout] 622 |     fn newRR(m: &PartialModulus<M>, m_bits: bits::BitLength) -> Self {
[INFO] [stdout]     |        ^^^^^ help: convert the identifier to snake case: `new_rr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `RR` should have a snake case name
[INFO] [stdout]    --> src/arithmetic/bigint.rs:652:13
[INFO] [stdout]     |
[INFO] [stdout] 652 |         let RR = elem_exp_vartime_(base, exponent, m);
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `rr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `dP` should have a snake case name
[INFO] [stdout]    --> src/arithmetic/bigint.rs:785:13
[INFO] [stdout]     |
[INFO] [stdout] 785 |         let dP = BoxedLimbs::from_be_bytes_padded_less_than(input, p)?;
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `d_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `GFp_p384_elem_sqr_mont` should have a snake case name
[INFO] [stdout]    --> src/ec/suite_b/ops/p384.rs:328:22
[INFO] [stdout]     |
[INFO] [stdout] 328 | unsafe extern "C" fn GFp_p384_elem_sqr_mont(
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `gfp_p384_elem_sqr_mont`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 44 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling xchain-rust-crypto v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: type `int` should have an upper camel case name
[INFO] [stdout]   --> src/c.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) type int = i32;
[INFO] [stdout]    |                 ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Int`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `uint` should have an upper camel case name
[INFO] [stdout]   --> src/c.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub(crate) type uint = u32;
[INFO] [stdout]    |                 ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Uint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `size_t` should have an upper camel case name
[INFO] [stdout]   --> src/c.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub(crate) type size_t = usize;
[INFO] [stdout]    |                 ^^^^^^ help: convert the identifier to upper camel case: `SizeT`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/hdwallet/languages.rs:10:41
[INFO] [stdout]    |
[INFO] [stdout] 10 |     static ref WORDLIST_S_CH: WordMap = { load_wordlist(include_str!("langs/simplified_chinese.txt")) };
[INFO] [stdout]    |                                         ^^                                                           ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 10 -     static ref WORDLIST_S_CH: WordMap = { load_wordlist(include_str!("langs/simplified_chinese.txt")) };
[INFO] [stdout] 10 +     static ref WORDLIST_S_CH: WordMap = load_wordlist(include_str!("langs/simplified_chinese.txt"));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/hdwallet/languages.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     static ref WORDLIST_EN: WordMap = { load_wordlist(include_str!("langs/english.txt")) };
[INFO] [stdout]    |                                       ^^                                                ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 11 -     static ref WORDLIST_EN: WordMap = { load_wordlist(include_str!("langs/english.txt")) };
[INFO] [stdout] 11 +     static ref WORDLIST_EN: WordMap = load_wordlist(include_str!("langs/english.txt"));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/hdwallet/rand.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |         { num_bigint::BigInt::from_i32(2048).unwrap() };
[INFO] [stdout]    |         ^^                                           ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 11 -         { num_bigint::BigInt::from_i32(2048).unwrap() };
[INFO] [stdout] 11 +         num_bigint::BigInt::from_i32(2048).unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/hdwallet/rand.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |         { num_bigint::BigInt::from_i32(2047).unwrap() };
[INFO] [stdout]    |         ^^                                           ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 13 -         { num_bigint::BigInt::from_i32(2047).unwrap() };
[INFO] [stdout] 13 +         num_bigint::BigInt::from_i32(2047).unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/hdwallet/rand.rs:14:54
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub static ref BIGINT_ZERO: num_bigint::BigInt = { num_traits::Zero::zero() };
[INFO] [stdout]    |                                                      ^^                        ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 14 -     pub static ref BIGINT_ZERO: num_bigint::BigInt = { num_traits::Zero::zero() };
[INFO] [stdout] 14 +     pub static ref BIGINT_ZERO: num_bigint::BigInt = num_traits::Zero::zero();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/hdwallet/rand.rs:15:53
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub static ref BIGINT_ONE: num_bigint::BigInt = { num_traits::One::one() };
[INFO] [stdout]    |                                                     ^^                      ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 15 -     pub static ref BIGINT_ONE: num_bigint::BigInt = { num_traits::One::one() };
[INFO] [stdout] 15 +     pub static ref BIGINT_ONE: num_bigint::BigInt = num_traits::One::one();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/hdwallet/rand.rs:16:53
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub static ref BIGINT_TWO: num_bigint::BigInt = { num_bigint::BigInt::from_i32(2).unwrap() };
[INFO] [stdout]    |                                                     ^^                                        ^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 16 -     pub static ref BIGINT_TWO: num_bigint::BigInt = { num_bigint::BigInt::from_i32(2).unwrap() };
[INFO] [stdout] 16 +     pub static ref BIGINT_TWO: num_bigint::BigInt = num_bigint::BigInt::from_i32(2).unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]    --> src/sign/ecdsa.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |     use std::str::FromStr;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: duplicated attribute
[INFO] [stdout]     --> src/arithmetic/bigint.rs:1309:5
[INFO] [stdout]      |
[INFO] [stdout] 1309 |     #[test]
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(duplicate_macro_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ECDSA_P256_SHA256_ASN1_SIGNING` should have an upper camel case name
[INFO] [stdout]   --> src/ec/suite_b/ecdsa/signing.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     ECDSA_P256_SHA256_ASN1_SIGNING,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EcdsaP256Sha256Asn1Signing`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ECDSA_P256_SHA256_ASN1` should have an upper camel case name
[INFO] [stdout]   --> src/ec/suite_b/ecdsa/verification.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     ECDSA_P256_SHA256_ASN1,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EcdsaP256Sha256Asn1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::arithmetic::montgomery::R`
[INFO] [stdout]  --> src/ec/suite_b/ecies.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::arithmetic::montgomery::R;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]    --> src/ec/suite_b/ecies.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 229 |     use std::str::FromStr;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/errors.rs:81:44
[INFO] [stdout]    |
[INFO] [stdout] 81 |         ErrorKind::ErrInvalidEntropyLength => ("Entropy length must within [128, 256] and be multiples of 32"),
[INFO] [stdout]    |                                               ^                                                              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 81 -         ErrorKind::ErrInvalidEntropyLength => ("Entropy length must within [128, 256] and be multiples of 32"),
[INFO] [stdout] 81 +         ErrorKind::ErrInvalidEntropyLength => "Entropy length must within [128, 256] and be multiples of 32",
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/errors.rs:84:44
[INFO] [stdout]    |
[INFO] [stdout] 84 |         ErrorKind::ErrStrengthNotSupported => ("This strength has not been supported yet."),
[INFO] [stdout]    |                                               ^                                           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 84 -         ErrorKind::ErrStrengthNotSupported => ("This strength has not been supported yet."),
[INFO] [stdout] 84 +         ErrorKind::ErrStrengthNotSupported => "This strength has not been supported yet.",
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/errors.rs:88:44
[INFO] [stdout]    |
[INFO] [stdout] 88 |         ErrorKind::ErrLanguageNotSupported => ("This language has not been supported yet."),
[INFO] [stdout]    |                                               ^                                           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 88 -         ErrorKind::ErrLanguageNotSupported => ("This language has not been supported yet."),
[INFO] [stdout] 88 +         ErrorKind::ErrLanguageNotSupported => "This language has not been supported yet.",
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/errors.rs:90:43
[INFO] [stdout]    |
[INFO] [stdout] 90 | ...cNumNotValid => ("The number of words in the Mnemonic sentence is not valid. It must be within [12, 15, 18, 21, 24]"),
[INFO] [stdout]    |                    ^                                                                                                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 90 -         ErrorKind::ErrMnemonicNumNotValid => ("The number of words in the Mnemonic sentence is not valid. It must be within [12, 15, 18, 21, 24]"),
[INFO] [stdout] 90 +         ErrorKind::ErrMnemonicNumNotValid => "The number of words in the Mnemonic sentence is not valid. It must be within [12, 15, 18, 21, 24]",
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/errors.rs:92:49
[INFO] [stdout]    |
[INFO] [stdout] 92 |         ErrorKind::ErrMnemonicChecksumIncorrect => ("The checksum within the Mnemonic sentence incorrect"),
[INFO] [stdout]    |                                                    ^                                                     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 92 -         ErrorKind::ErrMnemonicChecksumIncorrect => ("The checksum within the Mnemonic sentence incorrect"),
[INFO] [stdout] 92 +         ErrorKind::ErrMnemonicChecksumIncorrect => "The checksum within the Mnemonic sentence incorrect",
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `entropy` is never read
[INFO] [stdout]   --> src/account/account.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct ECDSAAccount {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 18 |     entropy: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ECDSAAccount` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `generate_private_key` is never read
[INFO] [stdout]   --> src/ec.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Curve {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     generate_private_key: fn(rng: &[u8], &mut [u8]) -> Result<()>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `generate` is never used
[INFO] [stdout]   --> src/ec/keys.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub(crate) fn generate(curve: &'static Curve, rng: &[u8]) -> Result<Self> {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `PRIVATE_SCALAR_OPS` is never used
[INFO] [stdout]    --> src/ec/suite_b/ops/p384.rs:183:12
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub static PRIVATE_SCALAR_OPS: PrivateScalarOps = PrivateScalarOps {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_copy` is never used
[INFO] [stdout]   --> src/io/writer.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn write_copy(accumulator: &mut dyn Accumulator, to_copy: untrusted::Input) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `zero` is never used
[INFO] [stdout]   --> src/io/writer.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn zero() -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_capacity` is never used
[INFO] [stdout]   --> src/io/writer.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub(super) fn with_capacity(capacity: LengthMeasurement) -> Self {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_positive_integer` is never used
[INFO] [stdout]   --> src/io/der_writer.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(crate) fn write_positive_integer(output: &mut dyn Accumulator, value: &Positive) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_all` is never used
[INFO] [stdout]   --> src/io/der_writer.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub(crate) fn write_all(tag: Tag, write_value: &dyn Fn(&mut dyn Accumulator)) -> Box<[u8]> {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_tlv` is never used
[INFO] [stdout]   --> src/io/der_writer.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn write_tlv<F>(output: &mut dyn Accumulator, tag: Tag, write_value: F)
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters are not enforced in type aliases
[INFO] [stdout]   --> src/account/address.rs:31:27
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub type PublicKey<'a, B: AsRef<[u8]>> = crate::sign::ecdsa::UnparsedPublicKey<&'a B>;
[INFO] [stdout]    |                           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(type_alias_bounds)]` on by default
[INFO] [stdout] help: the bound will not be checked when the type alias is used, and should be removed
[INFO] [stdout]    |
[INFO] [stdout] 31 - pub type PublicKey<'a, B: AsRef<[u8]>> = crate::sign::ecdsa::UnparsedPublicKey<&'a B>;
[INFO] [stdout] 31 + pub type PublicKey<'a, B> = crate::sign::ecdsa::UnparsedPublicKey<&'a B>;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `oneRR` should have a snake case name
[INFO] [stdout]    --> src/arithmetic/bigint.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 217 |     oneRR: One<M, RR>,
[INFO] [stdout]     |     ^^^^^ help: convert the identifier to snake case: `one_rr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `oneRR` should have a snake case name
[INFO] [stdout]    --> src/arithmetic/bigint.rs:278:13
[INFO] [stdout]     |
[INFO] [stdout] 278 |         let oneRR = {
[INFO] [stdout]     |             ^^^^^ help: convert the identifier to snake case: `one_rr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `oneRR` should have a snake case name
[INFO] [stdout]    --> src/arithmetic/bigint.rs:317:12
[INFO] [stdout]     |
[INFO] [stdout] 317 |     pub fn oneRR(&self) -> &One<M, RR> {
[INFO] [stdout]     |            ^^^^^ help: convert the identifier to snake case: `one_rr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `newRR` should have a snake case name
[INFO] [stdout]    --> src/arithmetic/bigint.rs:622:8
[INFO] [stdout]     |
[INFO] [stdout] 622 |     fn newRR(m: &PartialModulus<M>, m_bits: bits::BitLength) -> Self {
[INFO] [stdout]     |        ^^^^^ help: convert the identifier to snake case: `new_rr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `RR` should have a snake case name
[INFO] [stdout]    --> src/arithmetic/bigint.rs:652:13
[INFO] [stdout]     |
[INFO] [stdout] 652 |         let RR = elem_exp_vartime_(base, exponent, m);
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `rr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `dP` should have a snake case name
[INFO] [stdout]    --> src/arithmetic/bigint.rs:785:13
[INFO] [stdout]     |
[INFO] [stdout] 785 |         let dP = BoxedLimbs::from_be_bytes_padded_less_than(input, p)?;
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `d_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `oneRR` should have a snake case name
[INFO] [stdout]     --> src/arithmetic/bigint.rs:1370:21
[INFO] [stdout]      |
[INFO] [stdout] 1370 |                 let oneRR = m.oneRR();
[INFO] [stdout]      |                     ^^^^^ help: convert the identifier to snake case: `one_rr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `GFp_p384_elem_sqr_mont` should have a snake case name
[INFO] [stdout]    --> src/ec/suite_b/ops/p384.rs:328:22
[INFO] [stdout]     |
[INFO] [stdout] 328 | unsafe extern "C" fn GFp_p384_elem_sqr_mont(
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `gfp_p384_elem_sqr_mont`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 40 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 3.58s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.24
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "2dd1b9cff6ddfb9c3d87d29c4e133d88c4c5a585e53161b4177dccafc2143145", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2dd1b9cff6ddfb9c3d87d29c4e133d88c4c5a585e53161b4177dccafc2143145", kill_on_drop: false }`
[INFO] [stdout] 2dd1b9cff6ddfb9c3d87d29c4e133d88c4c5a585e53161b4177dccafc2143145
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 86f8f1fccd6b08ee5695c4d20ccd523e1bf26f312eb451b242c25ee32530f36c
[INFO] running `Command { std: "docker" "start" "-a" "86f8f1fccd6b08ee5695c4d20ccd523e1bf26f312eb451b242c25ee32530f36c", kill_on_drop: false }`
[INFO] [stderr] warning: type `int` should have an upper camel case name
[INFO] [stderr]   --> src/c.rs:25:17
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub(crate) type int = i32;
[INFO] [stderr]    |                 ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Int`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `uint` should have an upper camel case name
[INFO] [stderr]   --> src/c.rs:26:17
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub(crate) type uint = u32;
[INFO] [stderr]    |                 ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Uint`
[INFO] [stderr] 
[INFO] [stderr] warning: type `size_t` should have an upper camel case name
[INFO] [stderr]   --> src/c.rs:27:17
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub(crate) type size_t = usize;
[INFO] [stderr]    |                 ^^^^^^ help: convert the identifier to upper camel case: `SizeT`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]   --> src/hdwallet/languages.rs:10:41
[INFO] [stderr]    |
[INFO] [stderr] 10 |     static ref WORDLIST_S_CH: WordMap = { load_wordlist(include_str!("langs/simplified_chinese.txt")) };
[INFO] [stderr]    |                                         ^^                                                           ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stderr] help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr] 10 -     static ref WORDLIST_S_CH: WordMap = { load_wordlist(include_str!("langs/simplified_chinese.txt")) };
[INFO] [stderr] 10 +     static ref WORDLIST_S_CH: WordMap = load_wordlist(include_str!("langs/simplified_chinese.txt"));
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]   --> src/hdwallet/languages.rs:11:39
[INFO] [stderr]    |
[INFO] [stderr] 11 |     static ref WORDLIST_EN: WordMap = { load_wordlist(include_str!("langs/english.txt")) };
[INFO] [stderr]    |                                       ^^                                                ^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr] 11 -     static ref WORDLIST_EN: WordMap = { load_wordlist(include_str!("langs/english.txt")) };
[INFO] [stderr] 11 +     static ref WORDLIST_EN: WordMap = load_wordlist(include_str!("langs/english.txt"));
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]   --> src/hdwallet/rand.rs:11:9
[INFO] [stderr]    |
[INFO] [stderr] 11 |         { num_bigint::BigInt::from_i32(2048).unwrap() };
[INFO] [stderr]    |         ^^                                           ^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr] 11 -         { num_bigint::BigInt::from_i32(2048).unwrap() };
[INFO] [stderr] 11 +         num_bigint::BigInt::from_i32(2048).unwrap();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]   --> src/hdwallet/rand.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 13 |         { num_bigint::BigInt::from_i32(2047).unwrap() };
[INFO] [stderr]    |         ^^                                           ^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr] 13 -         { num_bigint::BigInt::from_i32(2047).unwrap() };
[INFO] [stderr] 13 +         num_bigint::BigInt::from_i32(2047).unwrap();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]   --> src/hdwallet/rand.rs:14:54
[INFO] [stderr]    |
[INFO] [stderr] 14 |     pub static ref BIGINT_ZERO: num_bigint::BigInt = { num_traits::Zero::zero() };
[INFO] [stderr]    |                                                      ^^                        ^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr] 14 -     pub static ref BIGINT_ZERO: num_bigint::BigInt = { num_traits::Zero::zero() };
[INFO] [stderr] 14 +     pub static ref BIGINT_ZERO: num_bigint::BigInt = num_traits::Zero::zero();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]   --> src/hdwallet/rand.rs:15:53
[INFO] [stderr]    |
[INFO] [stderr] 15 |     pub static ref BIGINT_ONE: num_bigint::BigInt = { num_traits::One::one() };
[INFO] [stderr]    |                                                     ^^                      ^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr] 15 -     pub static ref BIGINT_ONE: num_bigint::BigInt = { num_traits::One::one() };
[INFO] [stderr] 15 +     pub static ref BIGINT_ONE: num_bigint::BigInt = num_traits::One::one();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]   --> src/hdwallet/rand.rs:16:53
[INFO] [stderr]    |
[INFO] [stderr] 16 |     pub static ref BIGINT_TWO: num_bigint::BigInt = { num_bigint::BigInt::from_i32(2).unwrap() };
[INFO] [stderr]    |                                                     ^^                                        ^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr] 16 -     pub static ref BIGINT_TWO: num_bigint::BigInt = { num_bigint::BigInt::from_i32(2).unwrap() };
[INFO] [stderr] 16 +     pub static ref BIGINT_TWO: num_bigint::BigInt = num_bigint::BigInt::from_i32(2).unwrap();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: variant `ECDSA_P256_SHA256_ASN1_SIGNING` should have an upper camel case name
[INFO] [stderr]   --> src/ec/suite_b/ecdsa/signing.rs:42:5
[INFO] [stderr]    |
[INFO] [stderr] 42 |     ECDSA_P256_SHA256_ASN1_SIGNING,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EcdsaP256Sha256Asn1Signing`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `ECDSA_P256_SHA256_ASN1` should have an upper camel case name
[INFO] [stderr]   --> src/ec/suite_b/ecdsa/verification.rs:42:5
[INFO] [stderr]    |
[INFO] [stderr] 42 |     ECDSA_P256_SHA256_ASN1,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EcdsaP256Sha256Asn1`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::arithmetic::montgomery::R`
[INFO] [stderr]  --> src/ec/suite_b/ecies.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::arithmetic::montgomery::R;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]   --> src/errors.rs:81:44
[INFO] [stderr]    |
[INFO] [stderr] 81 |         ErrorKind::ErrInvalidEntropyLength => ("Entropy length must within [128, 256] and be multiples of 32"),
[INFO] [stderr]    |                                               ^                                                              ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 81 -         ErrorKind::ErrInvalidEntropyLength => ("Entropy length must within [128, 256] and be multiples of 32"),
[INFO] [stderr] 81 +         ErrorKind::ErrInvalidEntropyLength => "Entropy length must within [128, 256] and be multiples of 32",
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]   --> src/errors.rs:84:44
[INFO] [stderr]    |
[INFO] [stderr] 84 |         ErrorKind::ErrStrengthNotSupported => ("This strength has not been supported yet."),
[INFO] [stderr]    |                                               ^                                           ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 84 -         ErrorKind::ErrStrengthNotSupported => ("This strength has not been supported yet."),
[INFO] [stderr] 84 +         ErrorKind::ErrStrengthNotSupported => "This strength has not been supported yet.",
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]   --> src/errors.rs:88:44
[INFO] [stderr]    |
[INFO] [stderr] 88 |         ErrorKind::ErrLanguageNotSupported => ("This language has not been supported yet."),
[INFO] [stderr]    |                                               ^                                           ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 88 -         ErrorKind::ErrLanguageNotSupported => ("This language has not been supported yet."),
[INFO] [stderr] 88 +         ErrorKind::ErrLanguageNotSupported => "This language has not been supported yet.",
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]   --> src/errors.rs:90:43
[INFO] [stderr]    |
[INFO] [stderr] 90 | ...cNumNotValid => ("The number of words in the Mnemonic sentence is not valid. It must be within [12, 15, 18, 21, 24]"),
[INFO] [stderr]    |                    ^                                                                                                   ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 90 -         ErrorKind::ErrMnemonicNumNotValid => ("The number of words in the Mnemonic sentence is not valid. It must be within [12, 15, 18, 21, 24]"),
[INFO] [stderr] 90 +         ErrorKind::ErrMnemonicNumNotValid => "The number of words in the Mnemonic sentence is not valid. It must be within [12, 15, 18, 21, 24]",
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]   --> src/errors.rs:92:49
[INFO] [stderr]    |
[INFO] [stderr] 92 |         ErrorKind::ErrMnemonicChecksumIncorrect => ("The checksum within the Mnemonic sentence incorrect"),
[INFO] [stderr]    |                                                    ^                                                     ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 92 -         ErrorKind::ErrMnemonicChecksumIncorrect => ("The checksum within the Mnemonic sentence incorrect"),
[INFO] [stderr] 92 +         ErrorKind::ErrMnemonicChecksumIncorrect => "The checksum within the Mnemonic sentence incorrect",
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `entropy` is never read
[INFO] [stderr]   --> src/account/account.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub struct ECDSAAccount {
[INFO] [stderr]    |            ------------ field in this struct
[INFO] [stderr] 18 |     entropy: Vec<u8>,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ECDSAAccount` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `uint` is never used
[INFO] [stderr]   --> src/c.rs:26:17
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub(crate) type uint = u32;
[INFO] [stderr]    |                 ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `generate_private_key` is never read
[INFO] [stderr]   --> src/ec.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub struct Curve {
[INFO] [stderr]    |            ----- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 28 |     generate_private_key: fn(rng: &[u8], &mut [u8]) -> Result<()>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `generate` is never used
[INFO] [stderr]   --> src/ec/keys.rs:29:19
[INFO] [stderr]    |
[INFO] [stderr] 29 |     pub(crate) fn generate(curve: &'static Curve, rng: &[u8]) -> Result<Self> {
[INFO] [stderr]    |                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `unary_op_from_binary_op_assign` is never used
[INFO] [stderr]    --> src/ec/suite_b/ops/elem.rs:113:8
[INFO] [stderr]     |
[INFO] [stderr] 113 | pub fn unary_op_from_binary_op_assign<M, E: Encoding>(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `PUBLIC_KEY_OPS` is never used
[INFO] [stderr]    --> src/ec/suite_b/ops/p384.rs:157:12
[INFO] [stderr]     |
[INFO] [stderr] 157 | pub static PUBLIC_KEY_OPS: PublicKeyOps = PublicKeyOps {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `SCALAR_OPS` is never used
[INFO] [stderr]    --> src/ec/suite_b/ops/p384.rs:161:12
[INFO] [stderr]     |
[INFO] [stderr] 161 | pub static SCALAR_OPS: ScalarOps = ScalarOps {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `PUBLIC_SCALAR_OPS` is never used
[INFO] [stderr]    --> src/ec/suite_b/ops/p384.rs:167:12
[INFO] [stderr]     |
[INFO] [stderr] 167 | pub static PUBLIC_SCALAR_OPS: PublicScalarOps = PublicScalarOps {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `PRIVATE_SCALAR_OPS` is never used
[INFO] [stderr]    --> src/ec/suite_b/ops/p384.rs:183:12
[INFO] [stderr]     |
[INFO] [stderr] 183 | pub static PRIVATE_SCALAR_OPS: PrivateScalarOps = PrivateScalarOps {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `p384_scalar_inv_to_mont` is never used
[INFO] [stderr]    --> src/ec/suite_b/ops/p384.rs:193:4
[INFO] [stderr]     |
[INFO] [stderr] 193 | fn p384_scalar_inv_to_mont(a: &Scalar<Unencoded>) -> Scalar<R> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `N_RR_LIMBS` is never used
[INFO] [stderr]    --> src/ec/suite_b/ops/p384.rs:336:7
[INFO] [stderr]     |
[INFO] [stderr] 336 | const N_RR_LIMBS: [Limb; MAX_LIMBS] = p384_limbs![
[INFO] [stderr]     |       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `GFp_p384_scalar_mul_mont` is never used
[INFO] [stderr]    --> src/ec/suite_b/ops/p384.rs:365:8
[INFO] [stderr]     |
[INFO] [stderr] 365 |     fn GFp_p384_scalar_mul_mont(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `write_copy` is never used
[INFO] [stderr]   --> src/io/writer.rs:77:8
[INFO] [stderr]    |
[INFO] [stderr] 77 | pub fn write_copy(accumulator: &mut dyn Accumulator, to_copy: untrusted::Input) {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `zero` is never used
[INFO] [stderr]   --> src/io/writer.rs:33:12
[INFO] [stderr]    |
[INFO] [stderr] 33 |     pub fn zero() -> Self {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `with_capacity` is never used
[INFO] [stderr]   --> src/io/writer.rs:53:19
[INFO] [stderr]    |
[INFO] [stderr] 53 |     pub(super) fn with_capacity(capacity: LengthMeasurement) -> Self {
[INFO] [stderr]    |                   ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `write_positive_integer` is never used
[INFO] [stderr]   --> src/io/der_writer.rs:18:15
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub(crate) fn write_positive_integer(output: &mut dyn Accumulator, value: &Positive) {
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `write_all` is never used
[INFO] [stderr]   --> src/io/der_writer.rs:29:15
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub(crate) fn write_all(tag: Tag, write_value: &dyn Fn(&mut dyn Accumulator)) -> Box<[u8]> {
[INFO] [stderr]    |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `write_tlv` is never used
[INFO] [stderr]   --> src/io/der_writer.rs:42:4
[INFO] [stderr]    |
[INFO] [stderr] 42 | fn write_tlv<F>(output: &mut dyn Accumulator, tag: Tag, write_value: F)
[INFO] [stderr]    |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: bounds on generic parameters are not enforced in type aliases
[INFO] [stderr]   --> src/account/address.rs:31:27
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub type PublicKey<'a, B: AsRef<[u8]>> = crate::sign::ecdsa::UnparsedPublicKey<&'a B>;
[INFO] [stderr]    |                           ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(type_alias_bounds)]` on by default
[INFO] [stderr] help: the bound will not be checked when the type alias is used, and should be removed
[INFO] [stderr]    |
[INFO] [stderr] 31 - pub type PublicKey<'a, B: AsRef<[u8]>> = crate::sign::ecdsa::UnparsedPublicKey<&'a B>;
[INFO] [stderr] 31 + pub type PublicKey<'a, B> = crate::sign::ecdsa::UnparsedPublicKey<&'a B>;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `oneRR` should have a snake case name
[INFO] [stderr]    --> src/arithmetic/bigint.rs:217:5
[INFO] [stderr]     |
[INFO] [stderr] 217 |     oneRR: One<M, RR>,
[INFO] [stderr]     |     ^^^^^ help: convert the identifier to snake case: `one_rr`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `oneRR` should have a snake case name
[INFO] [stderr]    --> src/arithmetic/bigint.rs:278:13
[INFO] [stderr]     |
[INFO] [stderr] 278 |         let oneRR = {
[INFO] [stderr]     |             ^^^^^ help: convert the identifier to snake case: `one_rr`
[INFO] [stderr] 
[INFO] [stderr] warning: method `oneRR` should have a snake case name
[INFO] [stderr]    --> src/arithmetic/bigint.rs:317:12
[INFO] [stderr]     |
[INFO] [stderr] 317 |     pub fn oneRR(&self) -> &One<M, RR> {
[INFO] [stderr]     |            ^^^^^ help: convert the identifier to snake case: `one_rr`
[INFO] [stderr] 
[INFO] [stderr] warning: method `newRR` should have a snake case name
[INFO] [stderr]    --> src/arithmetic/bigint.rs:622:8
[INFO] [stderr]     |
[INFO] [stderr] 622 |     fn newRR(m: &PartialModulus<M>, m_bits: bits::BitLength) -> Self {
[INFO] [stderr]     |        ^^^^^ help: convert the identifier to snake case: `new_rr`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `RR` should have a snake case name
[INFO] [stderr]    --> src/arithmetic/bigint.rs:652:13
[INFO] [stderr]     |
[INFO] [stderr] 652 |         let RR = elem_exp_vartime_(base, exponent, m);
[INFO] [stderr]     |             ^^ help: convert the identifier to snake case: `rr`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `dP` should have a snake case name
[INFO] [stderr]    --> src/arithmetic/bigint.rs:785:13
[INFO] [stderr]     |
[INFO] [stderr] 785 |         let dP = BoxedLimbs::from_be_bytes_padded_less_than(input, p)?;
[INFO] [stderr]     |             ^^ help: convert the identifier to snake case: `d_p`
[INFO] [stderr] 
[INFO] [stderr] warning: function `GFp_p384_elem_sqr_mont` should have a snake case name
[INFO] [stderr]    --> src/ec/suite_b/ops/p384.rs:328:22
[INFO] [stderr]     |
[INFO] [stderr] 328 | unsafe extern "C" fn GFp_p384_elem_sqr_mont(
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `gfp_p384_elem_sqr_mont`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str::FromStr`
[INFO] [stderr]    --> src/sign/ecdsa.rs:134:9
[INFO] [stderr]     |
[INFO] [stderr] 134 |     use std::str::FromStr;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: duplicated attribute
[INFO] [stderr]     --> src/arithmetic/bigint.rs:1309:5
[INFO] [stderr]      |
[INFO] [stderr] 1309 |     #[test]
[INFO] [stderr]      |     ^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(duplicate_macro_attributes)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::arithmetic::montgomery::R`
[INFO] [stderr]  --> src/ec/suite_b/ecies.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::arithmetic::montgomery::R;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str::FromStr`
[INFO] [stderr]    --> src/ec/suite_b/ecies.rs:229:9
[INFO] [stderr]     |
[INFO] [stderr] 229 |     use std::str::FromStr;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable `oneRR` should have a snake case name
[INFO] [stderr]     --> src/arithmetic/bigint.rs:1370:21
[INFO] [stderr]      |
[INFO] [stderr] 1370 |                 let oneRR = m.oneRR();
[INFO] [stderr]      |                     ^^^^^ help: convert the identifier to snake case: `one_rr`
[INFO] [stderr] 
[INFO] [stderr] warning: `xchain-rust-crypto` (lib) generated 44 warnings (run `cargo fix --lib -p xchain-rust-crypto` to apply 14 suggestions)
[INFO] [stderr] warning: `xchain-rust-crypto` (lib test) generated 40 warnings (35 duplicates) (run `cargo fix --lib -p xchain-rust-crypto --tests` to apply 3 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.24
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/xchain_rust_crypto-6aa439f17fcc09de)
[INFO] [stdout] 
[INFO] [stdout] running 67 tests
[INFO] [stdout] test account::json_key::test_json_private ... ok
[INFO] [stdout] test account::json_key::test_json_public ... ok
[INFO] [stdout] test arithmetic::bigint::tests::test_elem_reduced_once ... ok
[INFO] [stdout] test arithmetic::bigint::tests::test_modulus_debug ... ok
[INFO] [stdout] test arithmetic::bigint::tests::test_elem_reduced ... ok
[INFO] [stdout] test account::json_key::test_del_quote ... ok
[INFO] [stdout] test arithmetic::bigint::tests::test_public_exponent_debug ... ok
[INFO] [stdout] test bssl::tests::result::semantics ... ok
[INFO] [stdout] test bssl::tests::result::size_and_alignment ... ok
[INFO] [stdout] test c::tests::test_libc_compatible ... ok
[INFO] [stdout] test ec::suite_b::ecies::tests::test_aes ... ok
[INFO] [stdout] test ec::suite_b::ops::tests::p256_point_mul_serialized_test ... ok
[INFO] [stdout] test ec::suite_b::ecdsa::digest_scalar::tests::test ... ok
[INFO] [stdout] test arithmetic::bigint::tests::test_elem_mul ... ok
[INFO] [stdout] test ec::suite_b::ops::tests::p256_q_minus_n_plus_n_equals_0_test ... ok
[INFO] [stdout] test ec::suite_b::ops::tests::p256_elem_mul_test ... ok
[INFO] [stdout] test ec::suite_b::ops::tests::p256_elem_neg_test ... ok
[INFO] [stdout] test ec::suite_b::ops::tests::p256_scalar_mul_test ... ok
[INFO] [stdout] test arithmetic::bigint::tests::test_elem_exp_consttime ... ok
[INFO] [stdout] test ec::suite_b::ops::tests::p256_point_sum_test ... ok
[INFO] [stdout] test ec::suite_b::ops::tests::p256_scalar_square_test ... ok
[INFO] [stdout] test ec::suite_b::ops::tests::p384_elem_mul_test ... ok
[INFO] [stdout] test ec::suite_b::ops::tests::p384_elem_neg_test ... ok
[INFO] [stdout] test ec::suite_b::ops::tests::p256_point_double_test ... ok
[INFO] [stdout] test ec::suite_b::ops::tests::p384_point_double_test ... ok
[INFO] [stdout] test arithmetic::bigint::tests::test_elem_mul ... ok
[INFO] [stdout] test arithmetic::bigint::tests::test_elem_squared ... ok
[INFO] [stdout] test ec::suite_b::ops::tests::p256_point_sum_mixed_test ... ok
[INFO] [stdout] test ec::suite_b::ops::tests::p384_q_minus_n_plus_n_equals_0_test ... ok
[INFO] [stdout] test ec::suite_b::ops::tests::p384_scalar_mul_test ... ok
[INFO] [stdout] test account::account::tests::test_check_account ... ok
[INFO] [stdout] test account::account::tests::test_open_and_save_account ... ok
[INFO] [stdout] test ec::suite_b::ecies::tests::test_ecies ... ok
[INFO] [stdout] test ec::suite_b::ops::tests::p384_elem_add_test ... ok
[INFO] [stdout] test ec::suite_b::ops::tests::p384_elem_div_by_2_test ... ok
[INFO] [stdout] test ec::suite_b::ops::tests::p384_point_sum_test ... ok
[INFO] [stdout] test limb::tests::test_limbs_less_than_limb_constant_time ... ok
[INFO] [stdout] test limb::tests::test_limbs_minimal_bits ... ok
[INFO] [stdout] test limb::tests::test_parse_big_endian_and_pad_consttime ... ok
[INFO] [stdout] test ec::suite_b::ops::tests::p256_elem_add_test ... ok
[INFO] [stdout] test limb::tests::test_limbs_equal_limb ... ok
[INFO] [stdout] test sign::ecdsa::tests::test_public_sig ... ok
[INFO] [stdout] test sign::ecdsa::tests::test_sign ... ok
[INFO] [stdout] test ec::suite_b::public_key::tests::parse_uncompressed_point_test ... ok
[INFO] [stdout] test sign::ecdsa::tests::test_seed_private_public ... ok
[INFO] [stdout] test ec::suite_b::ops::tests::p256_point_mul_base_test ... ok
[INFO] [stdout] test account::account::tests::test_create_account ... ok
[INFO] [stdout] test limb::tests::test_big_endian_from_limbs_same_length ... ok
[INFO] [stdout] test ec::suite_b::ops::tests::p384_elem_sub_test ... ok
[INFO] [stdout] test limb::tests::test_limbs_are_even ... ok
[INFO] [stdout] test test::tests::one_ok ... ok
[INFO] [stdout] test limb::tests::test_limbs_are_zero ... ok
[INFO] [stdout] test ec::suite_b::ops::tests::p256_scalar_inv_to_mont_zero_panic_test - should panic ... ok
[INFO] [stdout] test ec::suite_b::ops::tests::p384_scalar_inv_to_mont_zero_panic_test - should panic ... ok
[INFO] [stdout] test test::tests::first_panic - should panic ... ok
[INFO] [stdout] test test::tests::last_panic - should panic ... ok
[INFO] [stdout] test test::tests::middle_err - should panic ... ok
[INFO] [stdout] test limb::tests::test_big_endian_from_limbs_fewer_limbs - should panic ... ok
[INFO] [stdout] test test::tests::middle_panic - should panic ... ok
[INFO] [stdout] test test::tests::last_err - should panic ... ok
[INFO] [stdout] test test::tests::one_err - should panic ... ok
[INFO] [stdout] test ec::suite_b::ops::tests::p256_point_mul_test ... ok
[INFO] [stdout] test test::tests::syntax_error - should panic ... ok
[INFO] [stdout] test test::tests::first_err - should panic ... ok
[INFO] [stdout] test test::tests::one_panics - should panic ... ok
[INFO] [stdout] test ec::suite_b::ops::tests::p384_point_mul_test ... ok
[INFO] [stdout] test ec::suite_b::ops::tests::p384_point_mul_base_test ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 67 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.63s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests xchain-rust-crypto
[INFO] [stderr] warning: type `int` should have an upper camel case name
[INFO] [stderr]   --> /opt/rustwide/workdir/src/c.rs:25:17
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub(crate) type int = i32;
[INFO] [stderr]    |                 ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Int`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `uint` should have an upper camel case name
[INFO] [stderr]   --> /opt/rustwide/workdir/src/c.rs:26:17
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub(crate) type uint = u32;
[INFO] [stderr]    |                 ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Uint`
[INFO] [stderr] 
[INFO] [stderr] warning: type `size_t` should have an upper camel case name
[INFO] [stderr]   --> /opt/rustwide/workdir/src/c.rs:27:17
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub(crate) type size_t = usize;
[INFO] [stderr]    |                 ^^^^^^ help: convert the identifier to upper camel case: `SizeT`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]   --> /opt/rustwide/workdir/src/hdwallet/languages.rs:10:41
[INFO] [stderr]    |
[INFO] [stderr] 10 |     static ref WORDLIST_S_CH: WordMap = { load_wordlist(include_str!("langs/simplified_chinese.txt")) };
[INFO] [stderr]    |                                         ^^                                                           ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stderr] help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr] 10 -     static ref WORDLIST_S_CH: WordMap = { load_wordlist(include_str!("langs/simplified_chinese.txt")) };
[INFO] [stderr] 10 +     static ref WORDLIST_S_CH: WordMap = load_wordlist(include_str!("langs/simplified_chinese.txt"));
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]   --> /opt/rustwide/workdir/src/hdwallet/languages.rs:11:39
[INFO] [stderr]    |
[INFO] [stderr] 11 |     static ref WORDLIST_EN: WordMap = { load_wordlist(include_str!("langs/english.txt")) };
[INFO] [stderr]    |                                       ^^                                                ^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr] 11 -     static ref WORDLIST_EN: WordMap = { load_wordlist(include_str!("langs/english.txt")) };
[INFO] [stderr] 11 +     static ref WORDLIST_EN: WordMap = load_wordlist(include_str!("langs/english.txt"));
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]   --> /opt/rustwide/workdir/src/hdwallet/rand.rs:11:9
[INFO] [stderr]    |
[INFO] [stderr] 11 |         { num_bigint::BigInt::from_i32(2048).unwrap() };
[INFO] [stderr]    |         ^^                                           ^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr] 11 -         { num_bigint::BigInt::from_i32(2048).unwrap() };
[INFO] [stderr] 11 +         num_bigint::BigInt::from_i32(2048).unwrap();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]   --> /opt/rustwide/workdir/src/hdwallet/rand.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 13 |         { num_bigint::BigInt::from_i32(2047).unwrap() };
[INFO] [stderr]    |         ^^                                           ^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr] 13 -         { num_bigint::BigInt::from_i32(2047).unwrap() };
[INFO] [stderr] 13 +         num_bigint::BigInt::from_i32(2047).unwrap();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]   --> /opt/rustwide/workdir/src/hdwallet/rand.rs:14:54
[INFO] [stderr]    |
[INFO] [stderr] 14 |     pub static ref BIGINT_ZERO: num_bigint::BigInt = { num_traits::Zero::zero() };
[INFO] [stderr]    |                                                      ^^                        ^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr] 14 -     pub static ref BIGINT_ZERO: num_bigint::BigInt = { num_traits::Zero::zero() };
[INFO] [stderr] 14 +     pub static ref BIGINT_ZERO: num_bigint::BigInt = num_traits::Zero::zero();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]   --> /opt/rustwide/workdir/src/hdwallet/rand.rs:15:53
[INFO] [stderr]    |
[INFO] [stderr] 15 |     pub static ref BIGINT_ONE: num_bigint::BigInt = { num_traits::One::one() };
[INFO] [stderr]    |                                                     ^^                      ^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr] 15 -     pub static ref BIGINT_ONE: num_bigint::BigInt = { num_traits::One::one() };
[INFO] [stderr] 15 +     pub static ref BIGINT_ONE: num_bigint::BigInt = num_traits::One::one();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]   --> /opt/rustwide/workdir/src/hdwallet/rand.rs:16:53
[INFO] [stderr]    |
[INFO] [stderr] 16 |     pub static ref BIGINT_TWO: num_bigint::BigInt = { num_bigint::BigInt::from_i32(2).unwrap() };
[INFO] [stderr]    |                                                     ^^                                        ^^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr] 16 -     pub static ref BIGINT_TWO: num_bigint::BigInt = { num_bigint::BigInt::from_i32(2).unwrap() };
[INFO] [stderr] 16 +     pub static ref BIGINT_TWO: num_bigint::BigInt = num_bigint::BigInt::from_i32(2).unwrap();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: variant `ECDSA_P256_SHA256_ASN1_SIGNING` should have an upper camel case name
[INFO] [stderr]   --> /opt/rustwide/workdir/src/ec/suite_b/ecdsa/signing.rs:42:5
[INFO] [stderr]    |
[INFO] [stderr] 42 |     ECDSA_P256_SHA256_ASN1_SIGNING,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EcdsaP256Sha256Asn1Signing`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `ECDSA_P256_SHA256_ASN1` should have an upper camel case name
[INFO] [stderr]   --> /opt/rustwide/workdir/src/ec/suite_b/ecdsa/verification.rs:42:5
[INFO] [stderr]    |
[INFO] [stderr] 42 |     ECDSA_P256_SHA256_ASN1,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EcdsaP256Sha256Asn1`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]   --> /opt/rustwide/workdir/src/errors.rs:81:44
[INFO] [stderr]    |
[INFO] [stderr] 81 |         ErrorKind::ErrInvalidEntropyLength => ("Entropy length must within [128, 256] and be multiples of 32"),
[INFO] [stderr]    |                                               ^                                                              ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 81 -         ErrorKind::ErrInvalidEntropyLength => ("Entropy length must within [128, 256] and be multiples of 32"),
[INFO] [stderr] 81 +         ErrorKind::ErrInvalidEntropyLength => "Entropy length must within [128, 256] and be multiples of 32",
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]   --> /opt/rustwide/workdir/src/errors.rs:84:44
[INFO] [stderr]    |
[INFO] [stderr] 84 |         ErrorKind::ErrStrengthNotSupported => ("This strength has not been supported yet."),
[INFO] [stderr]    |                                               ^                                           ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 84 -         ErrorKind::ErrStrengthNotSupported => ("This strength has not been supported yet."),
[INFO] [stderr] 84 +         ErrorKind::ErrStrengthNotSupported => "This strength has not been supported yet.",
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]   --> /opt/rustwide/workdir/src/errors.rs:88:44
[INFO] [stderr]    |
[INFO] [stderr] 88 |         ErrorKind::ErrLanguageNotSupported => ("This language has not been supported yet."),
[INFO] [stderr]    |                                               ^                                           ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 88 -         ErrorKind::ErrLanguageNotSupported => ("This language has not been supported yet."),
[INFO] [stderr] 88 +         ErrorKind::ErrLanguageNotSupported => "This language has not been supported yet.",
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]   --> /opt/rustwide/workdir/src/errors.rs:90:43
[INFO] [stderr]    |
[INFO] [stderr] 90 | ...cNumNotValid => ("The number of words in the Mnemonic sentence is not valid. It must be within [12, 15, 18, 21, 24]"),
[INFO] [stderr]    |                    ^                                                                                                   ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 90 -         ErrorKind::ErrMnemonicNumNotValid => ("The number of words in the Mnemonic sentence is not valid. It must be within [12, 15, 18, 21, 24]"),
[INFO] [stderr] 90 +         ErrorKind::ErrMnemonicNumNotValid => "The number of words in the Mnemonic sentence is not valid. It must be within [12, 15, 18, 21, 24]",
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]   --> /opt/rustwide/workdir/src/errors.rs:92:49
[INFO] [stderr]    |
[INFO] [stderr] 92 |         ErrorKind::ErrMnemonicChecksumIncorrect => ("The checksum within the Mnemonic sentence incorrect"),
[INFO] [stderr]    |                                                    ^                                                     ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 92 -         ErrorKind::ErrMnemonicChecksumIncorrect => ("The checksum within the Mnemonic sentence incorrect"),
[INFO] [stderr] 92 +         ErrorKind::ErrMnemonicChecksumIncorrect => "The checksum within the Mnemonic sentence incorrect",
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: 17 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/test.rs - test (line 53) ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "86f8f1fccd6b08ee5695c4d20ccd523e1bf26f312eb451b242c25ee32530f36c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "86f8f1fccd6b08ee5695c4d20ccd523e1bf26f312eb451b242c25ee32530f36c", kill_on_drop: false }`
[INFO] [stdout] 86f8f1fccd6b08ee5695c4d20ccd523e1bf26f312eb451b242c25ee32530f36c
