[INFO] fetching crate gemachain-program 1.8.2...
[INFO] testing gemachain-program-1.8.2 against 1.98.0-beta.1 for beta-1.98-1
[INFO] extracting crate gemachain-program 1.8.2 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate gemachain-program 1.8.2
[INFO] finished tweaking crates.io crate gemachain-program 1.8.2
[INFO] tweaked toml for crates.io crate gemachain-program 1.8.2 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate gemachain-program 1.8.2 on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 114 packages to latest compatible versions
[INFO] [stderr]       Adding base64 v0.13.1 (available: v0.22.1)
[INFO] [stderr]       Adding bincode v1.3.3 (available: v3.0.0)
[INFO] [stderr]       Adding bitflags v1.3.2 (available: v2.13.0)
[INFO] [stderr]       Adding borsh v0.9.3 (available: v1.7.0)
[INFO] [stderr]       Adding borsh-derive v0.9.3 (available: v1.7.0)
[INFO] [stderr]       Adding bs58 v0.4.0 (available: v0.5.1)
[INFO] [stderr]       Adding curve25519-dalek v3.2.1 (available: v5.0.0)
[INFO] [stderr]       Adding itertools v0.10.5 (available: v0.15.0)
[INFO] [stderr]       Adding libsecp256k1 v0.6.0 (available: v0.7.2)
[INFO] [stderr]       Adding num-derive v0.3.3 (available: v0.4.2)
[INFO] [stderr]       Adding rand v0.7.3 (available: v0.10.2)
[INFO] [stderr]       Adding sha2 v0.9.9 (available: v0.11.0)
[INFO] [stderr]       Adding sha3 v0.9.1 (available: v0.12.0)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.18)
[INFO] [stderr]       Adding zeroize v1.3.0 (available: v1.9.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9e12646e623714d06a65ad0cee5be8b1c06d63c9927e6210e07f4d6048d6b53b
[INFO] running `Command { std: "docker" "start" "9e12646e623714d06a65ad0cee5be8b1c06d63c9927e6210e07f4d6048d6b53b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9e12646e623714d06a65ad0cee5be8b1c06d63c9927e6210e07f4d6048d6b53b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9e12646e623714d06a65ad0cee5be8b1c06d63c9927e6210e07f4d6048d6b53b" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9e12646e623714d06a65ad0cee5be8b1c06d63c9927e6210e07f4d6048d6b53b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9e12646e623714d06a65ad0cee5be8b1c06d63c9927e6210e07f4d6048d6b53b" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling zerocopy v0.8.54
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling block-padding v0.2.1
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling hybrid-array v0.4.13
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]    Compiling libsecp256k1-core v0.2.2
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]    Compiling opaque-debug v0.3.1
[INFO] [stderr]    Compiling feature-probe v0.1.1
[INFO] [stderr]    Compiling cc v1.2.66
[INFO] [stderr]    Compiling regex-automata v0.4.15
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling libsecp256k1-gen-ecmult v0.2.1
[INFO] [stderr]    Compiling libsecp256k1-gen-genmult v0.2.1
[INFO] [stderr]    Compiling bv v0.11.1
[INFO] [stderr]    Compiling gemachain-frozen-abi-macro v1.8.2
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling cmov v0.5.4
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]    Compiling rustversion v1.0.23
[INFO] [stderr]    Compiling humantime v2.4.0
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling ctutils v0.4.2
[INFO] [stderr]    Compiling borsh-derive-internal v0.9.3
[INFO] [stderr]    Compiling borsh-schema-derive-internal v0.9.3
[INFO] [stderr]    Compiling libsecp256k1 v0.6.0
[INFO] [stderr]    Compiling blake3 v1.8.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling crypto-common v0.2.2
[INFO] [stderr]    Compiling block-buffer v0.12.1
[INFO] [stderr]    Compiling regex v1.13.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling env_logger v0.9.3
[INFO] [stderr]    Compiling proc-macro-crate v0.1.5
[INFO] [stderr]    Compiling gemachain-frozen-abi v1.8.2
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling bs58 v0.4.0
[INFO] [stderr]    Compiling arrayref v0.3.9
[INFO] [stderr]    Compiling gemachain-logger v1.8.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling borsh-derive v0.9.3
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling digest v0.11.3
[INFO] [stderr]    Compiling hashbrown v0.11.2
[INFO] [stderr]    Compiling gemachain-program v1.8.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling memmap2 v0.5.10
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling zeroize v1.3.0
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling arrayvec v0.7.8
[INFO] [stderr]    Compiling constant_time_eq v0.4.2
[INFO] [stderr]    Compiling base64 v0.12.3
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling block-buffer v0.9.0
[INFO] [stderr]    Compiling crypto-mac v0.8.0
[INFO] [stderr]    Compiling sha2 v0.9.9
[INFO] [stderr]    Compiling hmac v0.8.1
[INFO] [stderr]    Compiling sha3 v0.9.1
[INFO] [stderr]    Compiling curve25519-dalek v3.2.1
[INFO] [stderr]    Compiling hmac-drbg v0.3.0
[INFO] [stderr]    Compiling gemachain-sdk-macro v1.8.2
[INFO] [stderr]    Compiling borsh v0.9.3
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling serde_bytes v0.11.19
[INFO] [stderr]    Compiling base64 v0.13.1
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stdout] warning: unexpected `cfg` condition name: `RUSTC_WITH_SPECIALIZATION`
[INFO] [stdout]  --> src/lib.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![cfg_attr(RUSTC_WITH_SPECIALIZATION, feature(specialization))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stdout]   = help: consider using a Cargo feature instead
[INFO] [stdout]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]            [lints.rust]
[INFO] [stdout]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(RUSTC_WITH_SPECIALIZATION)'] }
[INFO] [stdout]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(RUSTC_WITH_SPECIALIZATION)");` to the top of the `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `RUSTC_NEEDS_PROC_MACRO_HYGIENE`
[INFO] [stdout]  --> src/lib.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![cfg_attr(RUSTC_NEEDS_PROC_MACRO_HYGIENE, feature(proc_macro_hygiene))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider using a Cargo feature instead
[INFO] [stdout]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]            [lints.rust]
[INFO] [stdout]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(RUSTC_NEEDS_PROC_MACRO_HYGIENE)'] }
[INFO] [stdout]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(RUSTC_NEEDS_PROC_MACRO_HYGIENE)");` to the top of the `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::*`
[INFO] [stdout]   --> src/stake/instruction.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     log::*,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `sha2::digest::generic_array::GenericArray::<T, N>::as_slice`: please upgrade to generic-array 1.x
[INFO] [stdout]   --> src/hash.rs:48:66
[INFO] [stdout]    |
[INFO] [stdout] 48 |         Hash(<[u8; HASH_BYTES]>::try_from(self.hasher.finalize().as_slice()).unwrap())
[INFO] [stdout]    |                                                                  ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `sha2::digest::generic_array::GenericArray::<T, N>::as_slice`: please upgrade to generic-array 1.x
[INFO] [stdout]   --> src/keccak.rs:46:66
[INFO] [stdout]    |
[INFO] [stdout] 46 |         Hash(<[u8; HASH_BYTES]>::try_from(self.hasher.finalize().as_slice()).unwrap())
[INFO] [stdout]    |                                                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/account_info.rs:93:30
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn try_borrow_carats(&self) -> Result<Ref<&mut u64>, ProgramError> {
[INFO] [stdout]    |                              ^^^^^            ^^^^^^^^^^^^^
[INFO] [stdout]    |                              |                |   |
[INFO] [stdout]    |                              |                |   the same lifetime is elided here
[INFO] [stdout]    |                              |                the same lifetime is hidden here
[INFO] [stdout]    |                              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn try_borrow_carats(&self) -> Result<Ref<'_, &mut u64>, ProgramError> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/account_info.rs:99:34
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn try_borrow_mut_carats(&self) -> Result<RefMut<&'a mut u64>, ProgramError> {
[INFO] [stdout]    |                                  ^^^^^            ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn try_borrow_mut_carats(&self) -> Result<RefMut<'_, &'a mut u64>, ProgramError> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/account_info.rs:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn try_borrow_data(&self) -> Result<Ref<&mut [u8]>, ProgramError> {
[INFO] [stdout]     |                            ^^^^^            ^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |                |   |
[INFO] [stdout]     |                            |                |   the same lifetime is elided here
[INFO] [stdout]     |                            |                the same lifetime is hidden here
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn try_borrow_data(&self) -> Result<Ref<'_, &mut [u8]>, ProgramError> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/account_info.rs:111:32
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn try_borrow_mut_data(&self) -> Result<RefMut<&'a mut [u8]>, ProgramError> {
[INFO] [stdout]     |                                ^^^^^            ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn try_borrow_mut_data(&self) -> Result<RefMut<'_, &'a mut [u8]>, ProgramError> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/pubkey.rs:24:53
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                     ^------------
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     `FromPrimitive` is not local
[INFO] [stdout]    |                                                     move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PubkeyError`
[INFO] [stdout] 25 | pub enum PubkeyError {
[INFO] [stdout]    |          ----------- `PubkeyError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/pubkey.rs:24:68
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                                    ^----------
[INFO] [stdout]    |                                                                    |
[INFO] [stdout]    |                                                                    `ToPrimitive` is not local
[INFO] [stdout]    |                                                                    move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_PubkeyError`
[INFO] [stdout] 25 | pub enum PubkeyError {
[INFO] [stdout]    |          ----------- `PubkeyError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/pubkey.rs:70:53
[INFO] [stdout]    |
[INFO] [stdout] 70 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                     ^------------
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     `FromPrimitive` is not local
[INFO] [stdout]    |                                                     move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ParsePubkeyError`
[INFO] [stdout] 71 | pub enum ParsePubkeyError {
[INFO] [stdout]    |          ---------------- `ParsePubkeyError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/pubkey.rs:70:68
[INFO] [stdout]    |
[INFO] [stdout] 70 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                                    ^----------
[INFO] [stdout]    |                                                                    |
[INFO] [stdout]    |                                                                    `ToPrimitive` is not local
[INFO] [stdout]    |                                                                    move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_ParsePubkeyError`
[INFO] [stdout] 71 | pub enum ParsePubkeyError {
[INFO] [stdout]    |          ---------------- `ParsePubkeyError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/stake/instruction.rs:21:42
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Error, Debug, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                          ^------------
[INFO] [stdout]    |                                          |
[INFO] [stdout]    |                                          `FromPrimitive` is not local
[INFO] [stdout]    |                                          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_StakeError`
[INFO] [stdout] 22 | pub enum StakeError {
[INFO] [stdout]    |          ---------- `StakeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/stake/instruction.rs:21:57
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Error, Debug, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                         ^----------
[INFO] [stdout]    |                                                         |
[INFO] [stdout]    |                                                         `ToPrimitive` is not local
[INFO] [stdout]    |                                                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_StakeError`
[INFO] [stdout] 22 | pub enum StakeError {
[INFO] [stdout]    |          ---------- `StakeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/system_instruction.rs:14:53
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                     ^------------
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     `FromPrimitive` is not local
[INFO] [stdout]    |                                                     move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SystemError`
[INFO] [stdout] 15 | pub enum SystemError {
[INFO] [stdout]    |          ----------- `SystemError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/system_instruction.rs:14:68
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                                    ^----------
[INFO] [stdout]    |                                                                    |
[INFO] [stdout]    |                                                                    `ToPrimitive` is not local
[INFO] [stdout]    |                                                                    move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_SystemError`
[INFO] [stdout] 15 | pub enum SystemError {
[INFO] [stdout]    |          ----------- `SystemError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/system_instruction.rs:42:42
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Error, Debug, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                          ^------------
[INFO] [stdout]    |                                          |
[INFO] [stdout]    |                                          `FromPrimitive` is not local
[INFO] [stdout]    |                                          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_NonceError`
[INFO] [stdout] 43 | pub enum NonceError {
[INFO] [stdout]    |          ---------- `NonceError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/system_instruction.rs:42:57
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Error, Debug, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                         ^----------
[INFO] [stdout]    |                                                         |
[INFO] [stdout]    |                                                         `ToPrimitive` is not local
[INFO] [stdout]    |                                                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_NonceError`
[INFO] [stdout] 43 | pub enum NonceError {
[INFO] [stdout]    |          ---------- `NonceError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/system_instruction.rs:60:42
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[derive(Error, Debug, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                          ^------------
[INFO] [stdout]    |                                          |
[INFO] [stdout]    |                                          `FromPrimitive` is not local
[INFO] [stdout]    |                                          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_NonceErrorAdapter`
[INFO] [stdout] 61 | enum NonceErrorAdapter {
[INFO] [stdout]    |      ----------------- `NonceErrorAdapter` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/system_instruction.rs:60:57
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[derive(Error, Debug, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                         ^----------
[INFO] [stdout]    |                                                         |
[INFO] [stdout]    |                                                         `ToPrimitive` is not local
[INFO] [stdout]    |                                                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_NonceErrorAdapter`
[INFO] [stdout] 61 | enum NonceErrorAdapter {
[INFO] [stdout]    |      ----------------- `NonceErrorAdapter` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 10s
[INFO] running `Command { std: "docker" "inspect" "9e12646e623714d06a65ad0cee5be8b1c06d63c9927e6210e07f4d6048d6b53b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9e12646e623714d06a65ad0cee5be8b1c06d63c9927e6210e07f4d6048d6b53b" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling assert_matches v1.5.0
[INFO] [stdout] warning: unexpected `cfg` condition name: `RUSTC_WITH_SPECIALIZATION`
[INFO] [stdout]  --> src/lib.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![cfg_attr(RUSTC_WITH_SPECIALIZATION, feature(specialization))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stdout]   = help: consider using a Cargo feature instead
[INFO] [stdout]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]            [lints.rust]
[INFO] [stdout]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(RUSTC_WITH_SPECIALIZATION)'] }
[INFO] [stdout]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(RUSTC_WITH_SPECIALIZATION)");` to the top of the `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `RUSTC_NEEDS_PROC_MACRO_HYGIENE`
[INFO] [stdout]  --> src/lib.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![cfg_attr(RUSTC_NEEDS_PROC_MACRO_HYGIENE, feature(proc_macro_hygiene))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider using a Cargo feature instead
[INFO] [stdout]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]            [lints.rust]
[INFO] [stdout]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(RUSTC_NEEDS_PROC_MACRO_HYGIENE)'] }
[INFO] [stdout]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(RUSTC_NEEDS_PROC_MACRO_HYGIENE)");` to the top of the `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::*`
[INFO] [stdout]   --> src/stake/instruction.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     log::*,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `sha2::digest::generic_array::GenericArray::<T, N>::as_slice`: please upgrade to generic-array 1.x
[INFO] [stdout]   --> src/hash.rs:48:66
[INFO] [stdout]    |
[INFO] [stdout] 48 |         Hash(<[u8; HASH_BYTES]>::try_from(self.hasher.finalize().as_slice()).unwrap())
[INFO] [stdout]    |                                                                  ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `sha2::digest::generic_array::GenericArray::<T, N>::as_slice`: please upgrade to generic-array 1.x
[INFO] [stdout]   --> src/keccak.rs:46:66
[INFO] [stdout]    |
[INFO] [stdout] 46 |         Hash(<[u8; HASH_BYTES]>::try_from(self.hasher.finalize().as_slice()).unwrap())
[INFO] [stdout]    |                                                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/account_info.rs:93:30
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn try_borrow_carats(&self) -> Result<Ref<&mut u64>, ProgramError> {
[INFO] [stdout]    |                              ^^^^^            ^^^^^^^^^^^^^
[INFO] [stdout]    |                              |                |   |
[INFO] [stdout]    |                              |                |   the same lifetime is elided here
[INFO] [stdout]    |                              |                the same lifetime is hidden here
[INFO] [stdout]    |                              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn try_borrow_carats(&self) -> Result<Ref<'_, &mut u64>, ProgramError> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/account_info.rs:99:34
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn try_borrow_mut_carats(&self) -> Result<RefMut<&'a mut u64>, ProgramError> {
[INFO] [stdout]    |                                  ^^^^^            ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn try_borrow_mut_carats(&self) -> Result<RefMut<'_, &'a mut u64>, ProgramError> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/account_info.rs:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn try_borrow_data(&self) -> Result<Ref<&mut [u8]>, ProgramError> {
[INFO] [stdout]     |                            ^^^^^            ^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |                |   |
[INFO] [stdout]     |                            |                |   the same lifetime is elided here
[INFO] [stdout]     |                            |                the same lifetime is hidden here
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn try_borrow_data(&self) -> Result<Ref<'_, &mut [u8]>, ProgramError> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/account_info.rs:111:32
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn try_borrow_mut_data(&self) -> Result<RefMut<&'a mut [u8]>, ProgramError> {
[INFO] [stdout]     |                                ^^^^^            ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn try_borrow_mut_data(&self) -> Result<RefMut<'_, &'a mut [u8]>, ProgramError> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/pubkey.rs:24:53
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                     ^------------
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     `FromPrimitive` is not local
[INFO] [stdout]    |                                                     move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PubkeyError`
[INFO] [stdout] 25 | pub enum PubkeyError {
[INFO] [stdout]    |          ----------- `PubkeyError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/pubkey.rs:24:68
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                                    ^----------
[INFO] [stdout]    |                                                                    |
[INFO] [stdout]    |                                                                    `ToPrimitive` is not local
[INFO] [stdout]    |                                                                    move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_PubkeyError`
[INFO] [stdout] 25 | pub enum PubkeyError {
[INFO] [stdout]    |          ----------- `PubkeyError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/pubkey.rs:70:53
[INFO] [stdout]    |
[INFO] [stdout] 70 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                     ^------------
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     `FromPrimitive` is not local
[INFO] [stdout]    |                                                     move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ParsePubkeyError`
[INFO] [stdout] 71 | pub enum ParsePubkeyError {
[INFO] [stdout]    |          ---------------- `ParsePubkeyError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/pubkey.rs:70:68
[INFO] [stdout]    |
[INFO] [stdout] 70 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                                    ^----------
[INFO] [stdout]    |                                                                    |
[INFO] [stdout]    |                                                                    `ToPrimitive` is not local
[INFO] [stdout]    |                                                                    move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_ParsePubkeyError`
[INFO] [stdout] 71 | pub enum ParsePubkeyError {
[INFO] [stdout]    |          ---------------- `ParsePubkeyError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/stake/instruction.rs:21:42
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Error, Debug, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                          ^------------
[INFO] [stdout]    |                                          |
[INFO] [stdout]    |                                          `FromPrimitive` is not local
[INFO] [stdout]    |                                          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_StakeError`
[INFO] [stdout] 22 | pub enum StakeError {
[INFO] [stdout]    |          ---------- `StakeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/stake/instruction.rs:21:57
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Error, Debug, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                         ^----------
[INFO] [stdout]    |                                                         |
[INFO] [stdout]    |                                                         `ToPrimitive` is not local
[INFO] [stdout]    |                                                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_StakeError`
[INFO] [stdout] 22 | pub enum StakeError {
[INFO] [stdout]    |          ---------- `StakeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/system_instruction.rs:14:53
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                     ^------------
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     `FromPrimitive` is not local
[INFO] [stdout]    |                                                     move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SystemError`
[INFO] [stdout] 15 | pub enum SystemError {
[INFO] [stdout]    |          ----------- `SystemError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/system_instruction.rs:14:68
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                                    ^----------
[INFO] [stdout]    |                                                                    |
[INFO] [stdout]    |                                                                    `ToPrimitive` is not local
[INFO] [stdout]    |                                                                    move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_SystemError`
[INFO] [stdout] 15 | pub enum SystemError {
[INFO] [stdout]    |          ----------- `SystemError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/system_instruction.rs:42:42
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Error, Debug, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                          ^------------
[INFO] [stdout]    |                                          |
[INFO] [stdout]    |                                          `FromPrimitive` is not local
[INFO] [stdout]    |                                          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_NonceError`
[INFO] [stdout] 43 | pub enum NonceError {
[INFO] [stdout]    |          ---------- `NonceError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/system_instruction.rs:42:57
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Error, Debug, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                         ^----------
[INFO] [stdout]    |                                                         |
[INFO] [stdout]    |                                                         `ToPrimitive` is not local
[INFO] [stdout]    |                                                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_NonceError`
[INFO] [stdout] 43 | pub enum NonceError {
[INFO] [stdout]    |          ---------- `NonceError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/system_instruction.rs:60:42
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[derive(Error, Debug, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                          ^------------
[INFO] [stdout]    |                                          |
[INFO] [stdout]    |                                          `FromPrimitive` is not local
[INFO] [stdout]    |                                          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_NonceErrorAdapter`
[INFO] [stdout] 61 | enum NonceErrorAdapter {
[INFO] [stdout]    |      ----------------- `NonceErrorAdapter` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/system_instruction.rs:60:57
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[derive(Error, Debug, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                         ^----------
[INFO] [stdout]    |                                                         |
[INFO] [stdout]    |                                                         `ToPrimitive` is not local
[INFO] [stdout]    |                                                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_NonceErrorAdapter`
[INFO] [stdout] 61 | enum NonceErrorAdapter {
[INFO] [stdout]    |      ----------------- `NonceErrorAdapter` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling gemachain-program v1.8.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition name: `RUSTC_WITH_SPECIALIZATION`
[INFO] [stdout]  --> src/lib.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![cfg_attr(RUSTC_WITH_SPECIALIZATION, feature(specialization))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stdout]   = help: consider using a Cargo feature instead
[INFO] [stdout]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]            [lints.rust]
[INFO] [stdout]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(RUSTC_WITH_SPECIALIZATION)'] }
[INFO] [stdout]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(RUSTC_WITH_SPECIALIZATION)");` to the top of the `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `RUSTC_NEEDS_PROC_MACRO_HYGIENE`
[INFO] [stdout]  --> src/lib.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![cfg_attr(RUSTC_NEEDS_PROC_MACRO_HYGIENE, feature(proc_macro_hygiene))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider using a Cargo feature instead
[INFO] [stdout]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]            [lints.rust]
[INFO] [stdout]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(RUSTC_NEEDS_PROC_MACRO_HYGIENE)'] }
[INFO] [stdout]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(RUSTC_NEEDS_PROC_MACRO_HYGIENE)");` to the top of the `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::*`
[INFO] [stdout]   --> src/stake/instruction.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     log::*,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::unchecked_div_by_const`
[INFO] [stdout]    --> src/lib.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |     use super::unchecked_div_by_const;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `sha2::digest::generic_array::GenericArray::<T, N>::as_slice`: please upgrade to generic-array 1.x
[INFO] [stdout]   --> src/hash.rs:48:66
[INFO] [stdout]    |
[INFO] [stdout] 48 |         Hash(<[u8; HASH_BYTES]>::try_from(self.hasher.finalize().as_slice()).unwrap())
[INFO] [stdout]    |                                                                  ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `sha2::digest::generic_array::GenericArray::<T, N>::as_slice`: please upgrade to generic-array 1.x
[INFO] [stdout]   --> src/keccak.rs:46:66
[INFO] [stdout]    |
[INFO] [stdout] 46 |         Hash(<[u8; HASH_BYTES]>::try_from(self.hasher.finalize().as_slice()).unwrap())
[INFO] [stdout]    |                                                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/borsh.rs:123:15
[INFO] [stdout]     |
[INFO] [stdout] 120 |     #[derive(PartialEq, Clone, Debug, BorshSerialize, BorshDeserialize, BorshSchema)]
[INFO] [stdout]     |                                                                         ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 123 |         Value(u32),
[INFO] [stdout]     |               ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/account_info.rs:93:30
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn try_borrow_carats(&self) -> Result<Ref<&mut u64>, ProgramError> {
[INFO] [stdout]    |                              ^^^^^            ^^^^^^^^^^^^^
[INFO] [stdout]    |                              |                |   |
[INFO] [stdout]    |                              |                |   the same lifetime is elided here
[INFO] [stdout]    |                              |                the same lifetime is hidden here
[INFO] [stdout]    |                              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn try_borrow_carats(&self) -> Result<Ref<'_, &mut u64>, ProgramError> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/account_info.rs:99:34
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn try_borrow_mut_carats(&self) -> Result<RefMut<&'a mut u64>, ProgramError> {
[INFO] [stdout]    |                                  ^^^^^            ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn try_borrow_mut_carats(&self) -> Result<RefMut<'_, &'a mut u64>, ProgramError> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/account_info.rs:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn try_borrow_data(&self) -> Result<Ref<&mut [u8]>, ProgramError> {
[INFO] [stdout]     |                            ^^^^^            ^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |                |   |
[INFO] [stdout]     |                            |                |   the same lifetime is elided here
[INFO] [stdout]     |                            |                the same lifetime is hidden here
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn try_borrow_data(&self) -> Result<Ref<'_, &mut [u8]>, ProgramError> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/account_info.rs:111:32
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn try_borrow_mut_data(&self) -> Result<RefMut<&'a mut [u8]>, ProgramError> {
[INFO] [stdout]     |                                ^^^^^            ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn try_borrow_mut_data(&self) -> Result<RefMut<'_, &'a mut [u8]>, ProgramError> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/decode_error.rs:21:25
[INFO] [stdout]    |
[INFO] [stdout] 21 |         #[derive(Debug, FromPrimitive, PartialEq)]
[INFO] [stdout]    |                         ^------------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `FromPrimitive` is not local
[INFO] [stdout]    |                         move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_TestEnum` and up 2 bodies
[INFO] [stdout] 22 |         enum TestEnum {
[INFO] [stdout]    |              -------- `TestEnum` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/pubkey.rs:24:53
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                     ^------------
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     `FromPrimitive` is not local
[INFO] [stdout]    |                                                     move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PubkeyError`
[INFO] [stdout] 25 | pub enum PubkeyError {
[INFO] [stdout]    |          ----------- `PubkeyError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/pubkey.rs:24:68
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                                    ^----------
[INFO] [stdout]    |                                                                    |
[INFO] [stdout]    |                                                                    `ToPrimitive` is not local
[INFO] [stdout]    |                                                                    move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_PubkeyError`
[INFO] [stdout] 25 | pub enum PubkeyError {
[INFO] [stdout]    |          ----------- `PubkeyError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/pubkey.rs:70:53
[INFO] [stdout]    |
[INFO] [stdout] 70 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                     ^------------
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     `FromPrimitive` is not local
[INFO] [stdout]    |                                                     move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ParsePubkeyError`
[INFO] [stdout] 71 | pub enum ParsePubkeyError {
[INFO] [stdout]    |          ---------------- `ParsePubkeyError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/pubkey.rs:70:68
[INFO] [stdout]    |
[INFO] [stdout] 70 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                                    ^----------
[INFO] [stdout]    |                                                                    |
[INFO] [stdout]    |                                                                    `ToPrimitive` is not local
[INFO] [stdout]    |                                                                    move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_ParsePubkeyError`
[INFO] [stdout] 71 | pub enum ParsePubkeyError {
[INFO] [stdout]    |          ---------------- `ParsePubkeyError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/stake/instruction.rs:21:42
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Error, Debug, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                          ^------------
[INFO] [stdout]    |                                          |
[INFO] [stdout]    |                                          `FromPrimitive` is not local
[INFO] [stdout]    |                                          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_StakeError`
[INFO] [stdout] 22 | pub enum StakeError {
[INFO] [stdout]    |          ---------- `StakeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/stake/instruction.rs:21:57
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Error, Debug, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                         ^----------
[INFO] [stdout]    |                                                         |
[INFO] [stdout]    |                                                         `ToPrimitive` is not local
[INFO] [stdout]    |                                                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_StakeError`
[INFO] [stdout] 22 | pub enum StakeError {
[INFO] [stdout]    |          ---------- `StakeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/system_instruction.rs:14:53
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                     ^------------
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     `FromPrimitive` is not local
[INFO] [stdout]    |                                                     move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SystemError`
[INFO] [stdout] 15 | pub enum SystemError {
[INFO] [stdout]    |          ----------- `SystemError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/system_instruction.rs:14:68
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                                    ^----------
[INFO] [stdout]    |                                                                    |
[INFO] [stdout]    |                                                                    `ToPrimitive` is not local
[INFO] [stdout]    |                                                                    move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_SystemError`
[INFO] [stdout] 15 | pub enum SystemError {
[INFO] [stdout]    |          ----------- `SystemError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/system_instruction.rs:42:42
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Error, Debug, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                          ^------------
[INFO] [stdout]    |                                          |
[INFO] [stdout]    |                                          `FromPrimitive` is not local
[INFO] [stdout]    |                                          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_NonceError`
[INFO] [stdout] 43 | pub enum NonceError {
[INFO] [stdout]    |          ---------- `NonceError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/system_instruction.rs:42:57
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Error, Debug, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                         ^----------
[INFO] [stdout]    |                                                         |
[INFO] [stdout]    |                                                         `ToPrimitive` is not local
[INFO] [stdout]    |                                                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_NonceError`
[INFO] [stdout] 43 | pub enum NonceError {
[INFO] [stdout]    |          ---------- `NonceError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/system_instruction.rs:60:42
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[derive(Error, Debug, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                          ^------------
[INFO] [stdout]    |                                          |
[INFO] [stdout]    |                                          `FromPrimitive` is not local
[INFO] [stdout]    |                                          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_NonceErrorAdapter`
[INFO] [stdout] 61 | enum NonceErrorAdapter {
[INFO] [stdout]    |      ----------------- `NonceErrorAdapter` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/system_instruction.rs:60:57
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[derive(Error, Debug, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                         ^----------
[INFO] [stdout]    |                                                         |
[INFO] [stdout]    |                                                         `ToPrimitive` is not local
[INFO] [stdout]    |                                                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_NonceErrorAdapter`
[INFO] [stdout] 61 | enum NonceErrorAdapter {
[INFO] [stdout]    |      ----------------- `NonceErrorAdapter` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 8.41s
[INFO] running `Command { std: "docker" "inspect" "9e12646e623714d06a65ad0cee5be8b1c06d63c9927e6210e07f4d6048d6b53b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9e12646e623714d06a65ad0cee5be8b1c06d63c9927e6210e07f4d6048d6b53b" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unexpected `cfg` condition name: `RUSTC_WITH_SPECIALIZATION`
[INFO] [stderr]  --> src/lib.rs:2:13
[INFO] [stderr]   |
[INFO] [stderr] 2 | #![cfg_attr(RUSTC_WITH_SPECIALIZATION, feature(specialization))]
[INFO] [stderr]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stderr]   = help: consider using a Cargo feature instead
[INFO] [stderr]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]            [lints.rust]
[INFO] [stderr]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(RUSTC_WITH_SPECIALIZATION)'] }
[INFO] [stderr]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(RUSTC_WITH_SPECIALIZATION)");` to the top of the `build.rs`
[INFO] [stderr]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `RUSTC_NEEDS_PROC_MACRO_HYGIENE`
[INFO] [stderr]  --> src/lib.rs:3:13
[INFO] [stderr]   |
[INFO] [stderr] 3 | #![cfg_attr(RUSTC_NEEDS_PROC_MACRO_HYGIENE, feature(proc_macro_hygiene))]
[INFO] [stderr]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = help: consider using a Cargo feature instead
[INFO] [stderr]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]            [lints.rust]
[INFO] [stderr]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(RUSTC_NEEDS_PROC_MACRO_HYGIENE)'] }
[INFO] [stderr]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(RUSTC_NEEDS_PROC_MACRO_HYGIENE)");` to the top of the `build.rs`
[INFO] [stderr]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `log::*`
[INFO] [stderr]   --> src/stake/instruction.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     log::*,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `sha2::digest::generic_array::GenericArray::<T, N>::as_slice`: please upgrade to generic-array 1.x
[INFO] [stderr]   --> src/hash.rs:48:66
[INFO] [stderr]    |
[INFO] [stderr] 48 |         Hash(<[u8; HASH_BYTES]>::try_from(self.hasher.finalize().as_slice()).unwrap())
[INFO] [stderr]    |                                                                  ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `sha2::digest::generic_array::GenericArray::<T, N>::as_slice`: please upgrade to generic-array 1.x
[INFO] [stderr]   --> src/keccak.rs:46:66
[INFO] [stderr]    |
[INFO] [stderr] 46 |         Hash(<[u8; HASH_BYTES]>::try_from(self.hasher.finalize().as_slice()).unwrap())
[INFO] [stderr]    |                                                                  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/account_info.rs:93:30
[INFO] [stderr]    |
[INFO] [stderr] 93 |     pub fn try_borrow_carats(&self) -> Result<Ref<&mut u64>, ProgramError> {
[INFO] [stderr]    |                              ^^^^^            ^^^^^^^^^^^^^
[INFO] [stderr]    |                              |                |   |
[INFO] [stderr]    |                              |                |   the same lifetime is elided here
[INFO] [stderr]    |                              |                the same lifetime is hidden here
[INFO] [stderr]    |                              the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 93 |     pub fn try_borrow_carats(&self) -> Result<Ref<'_, &mut u64>, ProgramError> {
[INFO] [stderr]    |                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/account_info.rs:99:34
[INFO] [stderr]    |
[INFO] [stderr] 99 |     pub fn try_borrow_mut_carats(&self) -> Result<RefMut<&'a mut u64>, ProgramError> {
[INFO] [stderr]    |                                  ^^^^^            ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                                  |
[INFO] [stderr]    |                                  the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 99 |     pub fn try_borrow_mut_carats(&self) -> Result<RefMut<'_, &'a mut u64>, ProgramError> {
[INFO] [stderr]    |                                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/account_info.rs:105:28
[INFO] [stderr]     |
[INFO] [stderr] 105 |     pub fn try_borrow_data(&self) -> Result<Ref<&mut [u8]>, ProgramError> {
[INFO] [stderr]     |                            ^^^^^            ^^^^^^^^^^^^^^
[INFO] [stderr]     |                            |                |   |
[INFO] [stderr]     |                            |                |   the same lifetime is elided here
[INFO] [stderr]     |                            |                the same lifetime is hidden here
[INFO] [stderr]     |                            the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 105 |     pub fn try_borrow_data(&self) -> Result<Ref<'_, &mut [u8]>, ProgramError> {
[INFO] [stderr]     |                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/account_info.rs:111:32
[INFO] [stderr]     |
[INFO] [stderr] 111 |     pub fn try_borrow_mut_data(&self) -> Result<RefMut<&'a mut [u8]>, ProgramError> {
[INFO] [stderr]     |                                ^^^^^            ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                                |
[INFO] [stderr]     |                                the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 111 |     pub fn try_borrow_mut_data(&self) -> Result<RefMut<'_, &'a mut [u8]>, ProgramError> {
[INFO] [stderr]     |                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/pubkey.rs:24:53
[INFO] [stderr]    |
[INFO] [stderr] 24 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stderr]    |                                                     ^------------
[INFO] [stderr]    |                                                     |
[INFO] [stderr]    |                                                     `FromPrimitive` is not local
[INFO] [stderr]    |                                                     move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PubkeyError`
[INFO] [stderr] 25 | pub enum PubkeyError {
[INFO] [stderr]    |          ----------- `PubkeyError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/pubkey.rs:24:68
[INFO] [stderr]    |
[INFO] [stderr] 24 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stderr]    |                                                                    ^----------
[INFO] [stderr]    |                                                                    |
[INFO] [stderr]    |                                                                    `ToPrimitive` is not local
[INFO] [stderr]    |                                                                    move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_PubkeyError`
[INFO] [stderr] 25 | pub enum PubkeyError {
[INFO] [stderr]    |          ----------- `PubkeyError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/pubkey.rs:70:53
[INFO] [stderr]    |
[INFO] [stderr] 70 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stderr]    |                                                     ^------------
[INFO] [stderr]    |                                                     |
[INFO] [stderr]    |                                                     `FromPrimitive` is not local
[INFO] [stderr]    |                                                     move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ParsePubkeyError`
[INFO] [stderr] 71 | pub enum ParsePubkeyError {
[INFO] [stderr]    |          ---------------- `ParsePubkeyError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/pubkey.rs:70:68
[INFO] [stderr]    |
[INFO] [stderr] 70 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stderr]    |                                                                    ^----------
[INFO] [stderr]    |                                                                    |
[INFO] [stderr]    |                                                                    `ToPrimitive` is not local
[INFO] [stderr]    |                                                                    move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_ParsePubkeyError`
[INFO] [stderr] 71 | pub enum ParsePubkeyError {
[INFO] [stderr]    |          ---------------- `ParsePubkeyError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/stake/instruction.rs:21:42
[INFO] [stderr]    |
[INFO] [stderr] 21 | #[derive(Error, Debug, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stderr]    |                                          ^------------
[INFO] [stderr]    |                                          |
[INFO] [stderr]    |                                          `FromPrimitive` is not local
[INFO] [stderr]    |                                          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_StakeError`
[INFO] [stderr] 22 | pub enum StakeError {
[INFO] [stderr]    |          ---------- `StakeError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/stake/instruction.rs:21:57
[INFO] [stderr]    |
[INFO] [stderr] 21 | #[derive(Error, Debug, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stderr]    |                                                         ^----------
[INFO] [stderr]    |                                                         |
[INFO] [stderr]    |                                                         `ToPrimitive` is not local
[INFO] [stderr]    |                                                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_StakeError`
[INFO] [stderr] 22 | pub enum StakeError {
[INFO] [stderr]    |          ---------- `StakeError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/system_instruction.rs:14:53
[INFO] [stderr]    |
[INFO] [stderr] 14 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stderr]    |                                                     ^------------
[INFO] [stderr]    |                                                     |
[INFO] [stderr]    |                                                     `FromPrimitive` is not local
[INFO] [stderr]    |                                                     move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SystemError`
[INFO] [stderr] 15 | pub enum SystemError {
[INFO] [stderr]    |          ----------- `SystemError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/system_instruction.rs:14:68
[INFO] [stderr]    |
[INFO] [stderr] 14 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stderr]    |                                                                    ^----------
[INFO] [stderr]    |                                                                    |
[INFO] [stderr]    |                                                                    `ToPrimitive` is not local
[INFO] [stderr]    |                                                                    move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_SystemError`
[INFO] [stderr] 15 | pub enum SystemError {
[INFO] [stderr]    |          ----------- `SystemError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/system_instruction.rs:42:42
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[derive(Error, Debug, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stderr]    |                                          ^------------
[INFO] [stderr]    |                                          |
[INFO] [stderr]    |                                          `FromPrimitive` is not local
[INFO] [stderr]    |                                          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_NonceError`
[INFO] [stderr] 43 | pub enum NonceError {
[INFO] [stderr]    |          ---------- `NonceError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/system_instruction.rs:42:57
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[derive(Error, Debug, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stderr]    |                                                         ^----------
[INFO] [stderr]    |                                                         |
[INFO] [stderr]    |                                                         `ToPrimitive` is not local
[INFO] [stderr]    |                                                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_NonceError`
[INFO] [stderr] 43 | pub enum NonceError {
[INFO] [stderr]    |          ---------- `NonceError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/system_instruction.rs:60:42
[INFO] [stderr]    |
[INFO] [stderr] 60 | #[derive(Error, Debug, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stderr]    |                                          ^------------
[INFO] [stderr]    |                                          |
[INFO] [stderr]    |                                          `FromPrimitive` is not local
[INFO] [stderr]    |                                          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_NonceErrorAdapter`
[INFO] [stderr] 61 | enum NonceErrorAdapter {
[INFO] [stderr]    |      ----------------- `NonceErrorAdapter` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/system_instruction.rs:60:57
[INFO] [stderr]    |
[INFO] [stderr] 60 | #[derive(Error, Debug, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stderr]    |                                                         ^----------
[INFO] [stderr]    |                                                         |
[INFO] [stderr]    |                                                         `ToPrimitive` is not local
[INFO] [stderr]    |                                                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_NonceErrorAdapter`
[INFO] [stderr] 61 | enum NonceErrorAdapter {
[INFO] [stderr]    |      ----------------- `NonceErrorAdapter` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `gemachain-program` (lib) generated 21 warnings (run `cargo fix --lib -p gemachain-program` to apply 5 suggestions)
[INFO] [stderr] warning: unused import: `super::unchecked_div_by_const`
[INFO] [stderr]    --> src/lib.rs:205:9
[INFO] [stderr]     |
[INFO] [stderr] 205 |     use super::unchecked_div_by_const;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/borsh.rs:123:15
[INFO] [stderr]     |
[INFO] [stderr] 120 |     #[derive(PartialEq, Clone, Debug, BorshSerialize, BorshDeserialize, BorshSchema)]
[INFO] [stderr]     |                                                                         ----------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 123 |         Value(u32),
[INFO] [stderr]     |               ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider removing this field
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/decode_error.rs:21:25
[INFO] [stderr]    |
[INFO] [stderr] 21 |         #[derive(Debug, FromPrimitive, PartialEq)]
[INFO] [stderr]    |                         ^------------
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         `FromPrimitive` is not local
[INFO] [stderr]    |                         move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_TestEnum` and up 2 bodies
[INFO] [stderr] 22 |         enum TestEnum {
[INFO] [stderr]    |              -------- `TestEnum` is not local
[INFO] [stdout] 
[INFO] [stderr]    |
[INFO] [stdout] running 153 tests
[INFO] [stderr]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/pubkey.rs:24:53
[INFO] [stderr]    |
[INFO] [stderr] 24 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stderr]    |                                                     ^------------
[INFO] [stderr]    |                                                     |
[INFO] [stderr]    |                                                     `FromPrimitive` is not local
[INFO] [stderr]    |                                                     move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PubkeyError`
[INFO] [stderr] 25 | pub enum PubkeyError {
[INFO] [stderr]    |          ----------- `PubkeyError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `gemachain-program` (lib test) generated 24 warnings (20 duplicates) (run `cargo fix --lib -p gemachain-program --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.20s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gemachain_program-4386cb572c8bef35)
[INFO] [stdout] test account_info::tests::test_account_info_as_ref ... ok
[INFO] [stdout] test blake3::tests::test_extend_and_hash ... ok
[INFO] [stdout] test blake3::tests::test_hash_fromstr ... ok
[INFO] [stdout] test borsh::tests::instance_packed_len_with_varying_sizes_in_hashmap ... ok
[INFO] [stdout] test account_info::tests::test_next_account_infos ... ok
[INFO] [stdout] test borsh::tests::instance_packed_len_matches_packed_len ... ok
[INFO] [stdout] test borsh::tests::instance_packed_len_with_vec ... ok
[INFO] [stdout] test blake3::tests::test_new_unique ... ok
[INFO] [stdout] test borsh::tests::unchecked_deserialization ... ok
[INFO] [stdout] test borsh::tests::packed_len ... ok
[INFO] [stdout] test bpf_loader_upgradeable::test_id ... ok
[INFO] [stdout] test bpf_loader_upgradeable::tests::test_account_lengths ... ok
[INFO] [stdout] test config::program::test_id ... ok
[INFO] [stdout] test bpf_loader::test_id ... ok
[INFO] [stdout] test bpf_loader_upgradeable::tests::test_is_set_authority_instruction ... ok
[INFO] [stdout] test bpf_loader_upgradeable::tests::test_is_upgrade_instruction ... ok
[INFO] [stdout] test bpf_loader_deprecated::test_id ... ok
[INFO] [stdout] test decode_error::tests::test_decode_custom_error_to_enum ... ok
[INFO] [stdout] test ed25519_program::test_id ... ok
[INFO] [stdout] test entrypoint::test::test_bump_allocator ... ok
[INFO] [stdout] test feature::test::feature_sizeof ... ok
[INFO] [stdout] test fee_calculator::tests::test_fee_calculator_calculate_fee_secp256k1 ... ok
[INFO] [stdout] test fee_calculator::tests::test_fee_calculator_calculate_fee ... ok
[INFO] [stdout] test incinerator::test_id ... ok
[INFO] [stdout] test feature::test_id ... ok
[INFO] [stdout] test fee_calculator::tests::test_fee_rate_governor_burn ... ok
[INFO] [stdout] test instruction::test::test_visit_each_account ... ok
[INFO] [stdout] test message::legacy::tests::test_builtin_program_keys ... ok
[INFO] [stdout] test message::legacy::tests::test_builtin_program_keys_abi_freeze ... ok
[INFO] [stdout] test message::legacy::tests::test_decompile_instructions ... ok
[INFO] [stdout] test message::legacy::tests::test_decompile_instructions_out_of_bounds ... ok
[INFO] [stdout] test fee_calculator::tests::test_fee_rate_governor_derived_adjust ... ok
[INFO] [stdout] test message::legacy::tests::test_get_account_keys_by_lock_type ... ok
[INFO] [stdout] test message::legacy::tests::test_is_key_passed_to_program ... ok
[INFO] [stdout] test fee_calculator::tests::test_fee_rate_governor_derived_default ... ok
[INFO] [stdout] test hash::tests::test_new_unique ... ok
[INFO] [stdout] test hash::tests::test_hash_fromstr ... ok
[INFO] [stdout] test message::legacy::tests::test_is_non_loader_key ... ok
[INFO] [stdout] test message::legacy::tests::test_is_writable ... ok
[INFO] [stdout] test message::legacy::tests::test_message_header_len_constant ... ok
[INFO] [stdout] test message::legacy::tests::test_message_kitchen_sink ... ok
[INFO] [stdout] test message::legacy::tests::test_message_program_last ... ok
[INFO] [stdout] test message::legacy::tests::test_message_signed_keys_first ... ok
[INFO] [stdout] test message::legacy::tests::test_message_payer_first ... ok
[INFO] [stdout] test message::legacy::tests::test_message_unique_keys_both_signed ... ok
[INFO] [stdout] test message::legacy::tests::test_message_readonly_keys_last ... ok
[INFO] [stdout] test message::legacy::tests::test_message_unique_keys_not_adjacent ... ok
[INFO] [stdout] test message::legacy::tests::test_message_signed_keys_len ... ok
[INFO] [stdout] test message::legacy::tests::test_message_unique_keys_one_readonly_signed ... ok
[INFO] [stdout] test message::legacy::tests::test_message_unique_keys_one_signed ... ok
[INFO] [stdout] test message::legacy::tests::test_message_unique_keys_order_preserved ... ok
[INFO] [stdout] test message::legacy::tests::test_message_unique_keys_unsigned_and_payer ... ok
[INFO] [stdout] test message::legacy::tests::test_message_unique_program_ids ... ok
[INFO] [stdout] test message::legacy::tests::test_message_unique_program_ids_not_adjacent ... ok
[INFO] [stdout] test message::legacy::tests::test_message_unique_keys_one_readonly_unsigned ... ok
[INFO] [stdout] test message::legacy::tests::test_message_unique_keys_signed_and_payer ... ok
[INFO] [stdout] test message::non_bpf_modules::mapped::tests::test_account_keys_iter ... ok
[INFO] [stdout] test message::non_bpf_modules::mapped::tests::test_account_keys_len ... ok
[INFO] [stdout] test message::legacy::tests::test_message_unique_program_ids_order_preserved ... ok
[INFO] [stdout] test message::non_bpf_modules::mapped::tests::test_account_keys_segment_iter ... ok
[INFO] [stdout] test message::non_bpf_modules::mapped::tests::test_demote_writable_program ... ok
[INFO] [stdout] test message::non_bpf_modules::mapped::tests::test_get_account_key ... ok
[INFO] [stdout] test message::non_bpf_modules::mapped::tests::test_has_duplicates ... ok
[INFO] [stdout] test message::legacy::tests::test_program_ids ... ok
[INFO] [stdout] test message::non_bpf_modules::mapped::tests::test_is_writable ... ok
[INFO] [stdout] test message::legacy::tests::test_program_position ... ok
[INFO] [stdout] test message::non_bpf_modules::mapped::tests::test_is_writable_index ... ok
[INFO] [stdout] test message::non_bpf_modules::sanitized::tests::test_calculate_fee ... ok
[INFO] [stdout] test message::non_bpf_modules::sanitized::tests::test_calculate_fee_secp256k1 ... ok
[INFO] [stdout] test message::non_bpf_modules::sanitized::tests::test_is_non_loader_key ... ok
[INFO] [stdout] test message::non_bpf_modules::sanitized::tests::test_num_readonly_accounts ... ok
[INFO] [stdout] test message::non_bpf_modules::sanitized::tests::test_try_compile_instruction ... ok
[INFO] [stdout] test message::non_bpf_modules::sanitized::tests::test_serialize_instructions ... ok
[INFO] [stdout] test message::non_bpf_modules::sanitized::tests::test_try_from_message ... ok
[INFO] [stdout] test message::non_bpf_modules::v0::tests::test_sanitize_excessive_maps ... ok
[INFO] [stdout] test message::non_bpf_modules::v0::tests::test_sanitize_account_indices ... ok
[INFO] [stdout] test message::non_bpf_modules::v0::tests::test_sanitize_address_map ... ok
[INFO] [stdout] test message::non_bpf_modules::v0::tests::test_serialize ... ok
[INFO] [stdout] test message::non_bpf_modules::versions::tests::test_versioned_message_serialization ... ok
[INFO] [stdout] test message::non_bpf_modules::versions::tests::test_legacy_message_serialization ... ok
[INFO] [stdout] test program_option::test::test_from_rust_option ... ok
[INFO] [stdout] test message::non_bpf_modules::v0::tests::test_sanitize_excessive_loaded_accounts ... ok
[INFO] [stdout] test pubkey::tests::pubkey_fromstr ... ok
[INFO] [stdout] test pubkey::tests::test_create_with_seed ... ok
[INFO] [stdout] test pubkey::tests::test_create_program_address ... ok
[INFO] [stdout] test pubkey::tests::test_create_with_seed_rejects_illegal_owner ... ok
[INFO] [stdout] test rent::tests::show_rent_model ... ignored
[INFO] [stdout] test pubkey::tests::test_new_unique ... ok
[INFO] [stdout] test rent::tests::test_due ... ok
[INFO] [stdout] test secp256k1_program::test_id ... ok
[INFO] [stdout] test short_vec::tests::test_deserialize ... ok
[INFO] [stdout] test short_vec::tests::test_short_vec_aliased_length ... ok
[INFO] [stdout] test short_vec::tests::test_short_vec_encode_len ... ok
[INFO] [stdout] test short_vec::tests::test_short_vec_json ... ok
[INFO] [stdout] test short_vec::tests::test_short_vec_u8 ... ok
[INFO] [stdout] test message::non_bpf_modules::mapped::tests::test_has_duplicates_with_dupe_keys ... ok
[INFO] [stdout] test nonce::state::current::test::default_is_uninitialized ... ok
[INFO] [stdout] test slot_hashes::tests::test ... ok
[INFO] [stdout] test epoch_schedule::tests::test_epoch_schedule ... ok
[INFO] [stdout] test slot_history::tests::test_older_slot ... ok
[INFO] [stdout] test short_vec::tests::test_short_vec_u8_too_long ... ok
[INFO] [stdout] test stake::config::test_id ... ok
[INFO] [stdout] test stake::instruction::tests::test_custom_error_decode ... ok
[INFO] [stdout] test stake::program::test_id ... ok
[INFO] [stdout] test stake::state::test::bincode_vs_borsh ... ok
[INFO] [stdout] test stake::state::test::borsh_deserialization_live_data ... ok
[INFO] [stdout] test stake_history::tests::test_stake_history ... ok
[INFO] [stdout] test system_instruction::tests::test_create_nonce_account ... ok
[INFO] [stdout] test system_instruction::tests::test_instruction_to_nonce_error ... ok
[INFO] [stdout] test system_instruction::tests::test_move_many ... ok
[INFO] [stdout] test system_instruction::tests::test_nonce_error_adapter_compat ... ok
[INFO] [stdout] test system_instruction::tests::test_nonce_error_decode ... ok
[INFO] [stdout] test system_instruction::tests::test_nonce_to_instruction_error ... ok
[INFO] [stdout] test system_program::test_id ... ok
[INFO] [stdout] test sysvar::clock::test_id ... ok
[INFO] [stdout] test sysvar::clock::test_sysvar_id ... ok
[INFO] [stdout] test sysvar::epoch_schedule::test_id ... ok
[INFO] [stdout] test sysvar::epoch_schedule::test_sysvar_id ... ok
[INFO] [stdout] test sysvar::fees::test_id ... ok
[INFO] [stdout] test sysvar::fees::test_sysvar_id ... ok
[INFO] [stdout] test sysvar::instructions::test_id ... ok
[INFO] [stdout] test sysvar::instructions::test_sysvar_id ... ok
[INFO] [stdout] test sysvar::instructions::tests::test_load_store_instruction ... ok
[INFO] [stdout] test sysvar::recent_blockhashes::test_id ... ok
[INFO] [stdout] test sysvar::recent_blockhashes::test_sysvar_id ... ok
[INFO] [stdout] test sysvar::recent_blockhashes::tests::test_size_of ... ok
[INFO] [stdout] test sysvar::recent_blockhashes::tests::test_sysvar_can_hold_all_active_blockhashes ... ok
[INFO] [stdout] test sysvar::rent::test_id ... ok
[INFO] [stdout] test sysvar::rent::test_sysvar_id ... ok
[INFO] [stdout] test sysvar::rewards::test_id ... ok
[INFO] [stdout] test sysvar::rewards::test_sysvar_id ... ok
[INFO] [stdout] test sysvar::slot_hashes::test_id ... ok
[INFO] [stdout] test sysvar::slot_hashes::test_sysvar_id ... ok
[INFO] [stdout] test sysvar::slot_hashes::tests::test_size_of ... ok
[INFO] [stdout] test sysvar::slot_history::test_id ... ok
[INFO] [stdout] test sysvar::slot_history::test_sysvar_id ... ok
[INFO] [stdout] test sysvar::slot_history::tests::test_size_of ... ok
[INFO] [stdout] test sysvar::stake_history::test_id ... ok
[INFO] [stdout] test sysvar::stake_history::test_sysvar_id ... ok
[INFO] [stdout] test sysvar::stake_history::tests::test_create_account ... ok
[INFO] [stdout] test sysvar::stake_history::tests::test_size_of ... ok
[INFO] [stdout] test sysvar::test_id ... ok
[INFO] [stdout] test sysvar::tests::test_id ... ok
[INFO] [stdout] test sysvar::tests::test_sysvar_account_info_to_from ... ok
[INFO] [stdout] test tests::test_unchecked_div_by_const ... ok
[INFO] [stdout] test vote::program::test_id ... ok
[INFO] [stdout] test message::legacy::tests::test_message_hash ... FAILED
[INFO] [stdout] test pubkey::tests::test_pubkey_off_curve ... ok
[INFO] [stdout] test pubkey::tests::test_find_program_address ... ok
[INFO] [stdout] test slot_history::tests::slot_history_test_same_index ... ok
[INFO] [stdout] test slot_history::tests::test_oldest ... ok
[INFO] [stdout] test slot_history::tests::slot_history_test_wrap ... ok
[INFO] [stdout] test slot_history::tests::slot_history_test1 ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- message::legacy::tests::test_message_hash stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'message::legacy::tests::test_message_hash' (1668) panicked at src/message/legacy.rs:1053:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: EZgunxLN1npfFVcSHEm7DL4cfvUj6WgaBUjpmafJWWfL
[INFO] [stdout]  right: CXRH7GHLieaQZRUjH1mpnNnUZQtU4V4RpJpAFgy77i3z
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x582f16f1e6a1 - std[73adb7dc35730857]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x582f16f1e6a1 - std[73adb7dc35730857]::backtrace_rs::backtrace::trace_unsynchronized::<std[73adb7dc35730857]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x582f16f1e6a1 - std[73adb7dc35730857]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x582f16f1e6a1 - <<std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6883ba1bc0fe4ed1]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x582f16f3425a - <core[6883ba1bc0fe4ed1]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x582f16f3425a - core[6883ba1bc0fe4ed1]::fmt::write
[INFO] [stdout]    6:     0x582f16f22f1c - std[73adb7dc35730857]::io::default_write_fmt::<alloc[55a36b64bcbf2c0d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:626:11
[INFO] [stdout]    7:     0x582f16f22f1c - <alloc[55a36b64bcbf2c0d]::vec::Vec<u8> as std[73adb7dc35730857]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:1730:13
[INFO] [stdout]    8:     0x582f16efcdd6 - <std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x582f16efcdd6 - std[73adb7dc35730857]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x582f16f168c9 - std[73adb7dc35730857]::panicking::default_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x582f16e6b860 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   12:     0x582f16e6b860 - test[980ffaebd391d06d]::test_main_inner::<test[980ffaebd391d06d]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x582f16f16a82 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   14:     0x582f16f16a82 - std[73adb7dc35730857]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x582f16efce82 - std[73adb7dc35730857]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:688:13
[INFO] [stdout]   16:     0x582f16ef47b9 - std[73adb7dc35730857]::sys::backtrace::__rust_end_short_backtrace::<std[73adb7dc35730857]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x582f16efda7d - __rustc[a7b7b02e776dd976]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x582f16f34b0c - core[6883ba1bc0fe4ed1]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x582f16f34993 - core[6883ba1bc0fe4ed1]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x582f16b7edc0 - core[6883ba1bc0fe4ed1]::panicking::assert_failed::<gemachain_program[b5fd4f359cd73c03]::hash::Hash, gemachain_program[b5fd4f359cd73c03]::hash::Hash>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x582f16b4bfcc - gemachain_program[b5fd4f359cd73c03]::message::legacy::tests::test_message_hash
[INFO] [stdout]                                at /opt/rustwide/workdir/src/message/legacy.rs:1053:9
[INFO] [stdout]   22:     0x582f16b490e7 - gemachain_program[b5fd4f359cd73c03]::message::legacy::tests::test_message_hash::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/message/legacy.rs:1028:27
[INFO] [stdout]   23:     0x582f16b85636 - <gemachain_program[b5fd4f359cd73c03]::message::legacy::tests::test_message_hash::{closure#0} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x582f16e5eb9b - <fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x582f16e5eb9b - test[980ffaebd391d06d]::__rust_begin_short_backtrace::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x582f16e6c1e5 - test[980ffaebd391d06d]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x582f16e6c1e5 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x582f16e6c1e5 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   29:     0x582f16e6c1e5 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x582f16e6c1e5 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x582f16e6c1e5 - test[980ffaebd391d06d]::run_test_in_process
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x582f16e6c1e5 - test[980ffaebd391d06d]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x582f16e66c94 - test[980ffaebd391d06d]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x582f16e66c94 - std[73adb7dc35730857]::sys::backtrace::__rust_begin_short_backtrace::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x582f16e6f332 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x582f16e6f332 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x582f16e6f332 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   38:     0x582f16e6f332 - std[73adb7dc35730857]::panicking::catch_unwind::<(), core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x582f16e6f332 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x582f16e6f332 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x582f16e6f332 - <std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x582f16f1df2f - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2319:9
[INFO] [stdout]   43:     0x582f16f1df2f - <std[73adb7dc35730857]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   44:     0x752f4775aaa4 - <unknown>
[INFO] [stdout]   45:     0x752f477e7a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     message::legacy::tests::test_message_hash
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 151 passed; 1 failed; 1 ignored; 0 measured; 0 filtered out; finished in 1.22s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "9e12646e623714d06a65ad0cee5be8b1c06d63c9927e6210e07f4d6048d6b53b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9e12646e623714d06a65ad0cee5be8b1c06d63c9927e6210e07f4d6048d6b53b", kill_on_drop: false }`
[INFO] [stdout] 9e12646e623714d06a65ad0cee5be8b1c06d63c9927e6210e07f4d6048d6b53b
