[INFO] fetching crate gemachain-program 1.8.2...
[INFO] testing gemachain-program-1.8.2 against beta-2026-01-20 for beta-1.94-1
[INFO] extracting crate gemachain-program 1.8.2 into /workspace/builds/worker-4-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-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate gemachain-program 1.8.2 on toolchain beta-2026-01-20
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-01-20" "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" "+beta-2026-01-20" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 110 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.10.0)
[INFO] [stderr]       Adding borsh v0.9.3 (available: v1.6.0)
[INFO] [stderr]       Adding borsh-derive v0.9.3 (available: v1.6.0)
[INFO] [stderr]       Adding bs58 v0.4.0 (available: v0.5.1)
[INFO] [stderr]       Adding crypto-common v0.1.6 (available: v0.1.7)
[INFO] [stderr]       Adding curve25519-dalek v3.2.1 (available: v4.1.3)
[INFO] [stderr]       Adding itertools v0.10.5 (available: v0.14.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.9.2)
[INFO] [stderr]       Adding sha2 v0.9.9 (available: v0.10.9)
[INFO] [stderr]       Adding sha3 v0.9.1 (available: v0.10.8)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.18)
[INFO] [stderr]       Adding zeroize v1.3.0 (available: v1.8.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-01-20" "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-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5270f297a97baa17240f3813aa20882ba62b5a01232b35b9aed0af84090b5435
[INFO] running `Command { std: "docker" "start" "-a" "5270f297a97baa17240f3813aa20882ba62b5a01232b35b9aed0af84090b5435", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5270f297a97baa17240f3813aa20882ba62b5a01232b35b9aed0af84090b5435", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5270f297a97baa17240f3813aa20882ba62b5a01232b35b9aed0af84090b5435", kill_on_drop: false }`
[INFO] [stdout] 5270f297a97baa17240f3813aa20882ba62b5a01232b35b9aed0af84090b5435
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 855b3bd67e1ac6835bc70877c62b9c59fe627a0712c19297735b9b22ae426262
[INFO] running `Command { std: "docker" "start" "-a" "855b3bd67e1ac6835bc70877c62b9c59fe627a0712c19297735b9b22ae426262", kill_on_drop: false }`
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]    Compiling block-padding v0.2.1
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling feature-probe v0.1.1
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling gemachain-frozen-abi-macro v1.8.2
[INFO] [stderr]    Compiling humantime v2.3.0
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling blake3 v1.8.3
[INFO] [stderr]    Compiling gemachain-frozen-abi v1.8.2
[INFO] [stderr]    Compiling memmap2 v0.5.10
[INFO] [stderr]    Compiling gemachain-program v1.8.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling base64 v0.12.3
[INFO] [stderr]    Compiling constant_time_eq v0.4.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling bv v0.11.1
[INFO] [stderr]    Compiling zeroize v1.3.0
[INFO] [stderr]    Compiling serde_bytes v0.11.19
[INFO] [stderr]    Compiling hashbrown v0.11.2
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]    Compiling libsecp256k1-core v0.2.2
[INFO] [stderr]    Compiling libsecp256k1-gen-genmult v0.2.1
[INFO] [stderr]    Compiling libsecp256k1-gen-ecmult v0.2.1
[INFO] [stderr]    Compiling libsecp256k1 v0.6.0
[INFO] [stderr]    Compiling proc-macro-crate v0.1.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling env_logger v0.9.3
[INFO] [stderr]    Compiling gemachain-logger v1.8.2
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling borsh-derive-internal v0.9.3
[INFO] [stderr]    Compiling borsh-schema-derive-internal v0.9.3
[INFO] [stderr]    Compiling gemachain-sdk-macro v1.8.2
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling borsh-derive v0.9.3
[INFO] [stderr]    Compiling borsh v0.9.3
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling block-buffer v0.9.0
[INFO] [stderr]    Compiling crypto-mac v0.8.0
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling hmac v0.8.1
[INFO] [stderr]    Compiling curve25519-dalek v3.2.1
[INFO] [stderr]    Compiling hmac-drbg v0.3.0
[INFO] [stderr]    Compiling sha2 v0.9.9
[INFO] [stderr]    Compiling sha3 v0.9.1
[INFO] [stderr]    Compiling digest v0.10.7
[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 31 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: use of deprecated method `sha2::digest::generic_array::GenericArray::<T, N>::as_slice`: please upgrade to generic-array 1.x
[INFO] [stdout]    --> src/message/legacy.rs:293:74
[INFO] [stdout]     |
[INFO] [stdout] 293 |         Hash(<[u8; crate::hash::HASH_BYTES]>::try_from(hasher.finalize().as_slice()).unwrap())
[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/message/versions.rs:96:74
[INFO] [stdout]    |
[INFO] [stdout] 96 |         Hash(<[u8; crate::hash::HASH_BYTES]>::try_from(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 20.95s
[INFO] running `Command { std: "docker" "inspect" "855b3bd67e1ac6835bc70877c62b9c59fe627a0712c19297735b9b22ae426262", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "855b3bd67e1ac6835bc70877c62b9c59fe627a0712c19297735b9b22ae426262", kill_on_drop: false }`
[INFO] [stdout] 855b3bd67e1ac6835bc70877c62b9c59fe627a0712c19297735b9b22ae426262
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bcb61d6ae6580e46eb785d74c787dcc83dbece34300b6ad7fff0818045d6760c
[INFO] running `Command { std: "docker" "start" "-a" "bcb61d6ae6580e46eb785d74c787dcc83dbece34300b6ad7fff0818045d6760c", kill_on_drop: false }`
[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 31 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: use of deprecated method `sha2::digest::generic_array::GenericArray::<T, N>::as_slice`: please upgrade to generic-array 1.x
[INFO] [stdout]    --> src/message/legacy.rs:293:74
[INFO] [stdout]     |
[INFO] [stdout] 293 |         Hash(<[u8; crate::hash::HASH_BYTES]>::try_from(hasher.finalize().as_slice()).unwrap())
[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/message/versions.rs:96:74
[INFO] [stdout]    |
[INFO] [stdout] 96 |         Hash(<[u8; crate::hash::HASH_BYTES]>::try_from(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 31 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: use of deprecated method `sha2::digest::generic_array::GenericArray::<T, N>::as_slice`: please upgrade to generic-array 1.x
[INFO] [stdout]    --> src/message/legacy.rs:293:74
[INFO] [stdout]     |
[INFO] [stdout] 293 |         Hash(<[u8; crate::hash::HASH_BYTES]>::try_from(hasher.finalize().as_slice()).unwrap())
[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/message/versions.rs:96:74
[INFO] [stdout]    |
[INFO] [stdout] 96 |         Hash(<[u8; crate::hash::HASH_BYTES]>::try_from(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 6.02s
[INFO] running `Command { std: "docker" "inspect" "bcb61d6ae6580e46eb785d74c787dcc83dbece34300b6ad7fff0818045d6760c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bcb61d6ae6580e46eb785d74c787dcc83dbece34300b6ad7fff0818045d6760c", kill_on_drop: false }`
[INFO] [stdout] bcb61d6ae6580e46eb785d74c787dcc83dbece34300b6ad7fff0818045d6760c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a6a71765b020d0c2b82d332f11316dea65e31d9304d813aaeb5606144c810c9f
[INFO] running `Command { std: "docker" "start" "-a" "a6a71765b020d0c2b82d332f11316dea65e31d9304d813aaeb5606144c810c9f", 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 31 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: use of deprecated method `sha2::digest::generic_array::GenericArray::<T, N>::as_slice`: please upgrade to generic-array 1.x
[INFO] [stderr]    --> src/message/legacy.rs:293:74
[INFO] [stderr]     |
[INFO] [stderr] 293 |         Hash(<[u8; crate::hash::HASH_BYTES]>::try_from(hasher.finalize().as_slice()).unwrap())
[INFO] [stderr]     |                                                                          ^^^^^^^^
[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/message/versions.rs:96:74
[INFO] [stderr]    |
[INFO] [stderr] 96 |         Hash(<[u8; crate::hash::HASH_BYTES]>::try_from(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] [stdout] 
[INFO] [stderr]    |
[INFO] [stdout] running 153 tests
[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 23 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] [stdout] test account_info::tests::test_next_account_infos ... ok
[INFO] [stderr] 21 |         #[derive(Debug, FromPrimitive, PartialEq)]
[INFO] [stdout] test blake3::tests::test_hash_fromstr ... ok
[INFO] [stderr]    |                         ^------------
[INFO] [stdout] test blake3::tests::test_extend_and_hash ... ok
[INFO] [stderr]    |                         |
[INFO] [stdout] test borsh::tests::instance_packed_len_matches_packed_len ... ok
[INFO] [stderr]    |                         `FromPrimitive` is not local
[INFO] [stdout] test borsh::tests::instance_packed_len_with_vec ... ok
[INFO] [stderr]    |                         move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_TestEnum` and up 2 bodies
[INFO] [stdout] test blake3::tests::test_new_unique ... ok
[INFO] [stderr] 22 |         enum TestEnum {
[INFO] [stdout] test borsh::tests::packed_len ... ok
[INFO] [stderr]    |              -------- `TestEnum` is not local
[INFO] [stdout] test borsh::tests::instance_packed_len_with_varying_sizes_in_hashmap ... ok
[INFO] [stderr]    |
[INFO] [stdout] test bpf_loader::test_id ... ok
[INFO] [stderr]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout] test borsh::tests::unchecked_deserialization ... ok
[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] [stdout] test bpf_loader_upgradeable::test_id ... ok
[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] [stdout] test bpf_loader_upgradeable::tests::test_account_lengths ... ok
[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] [stdout] test bpf_loader_upgradeable::tests::test_is_set_authority_instruction ... ok
[INFO] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout] test bpf_loader_upgradeable::tests::test_is_upgrade_instruction ... ok
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] test entrypoint::test::test_bump_allocator ... ok
[INFO] [stderr] 
[INFO] [stdout] test decode_error::tests::test_decode_custom_error_to_enum ... ok
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout] test fee_calculator::tests::test_fee_calculator_calculate_fee ... ok
[INFO] [stderr]   --> src/pubkey.rs:24:53
[INFO] [stdout] test fee_calculator::tests::test_fee_rate_governor_burn ... ok
[INFO] [stderr]    |
[INFO] [stdout] test hash::tests::test_new_unique ... ok
[INFO] [stderr] 24 | #[derive(Error, Debug, Serialize, Clone, PartialEq, FromPrimitive, ToPrimitive)]
[INFO] [stdout] test fee_calculator::tests::test_fee_calculator_calculate_fee_secp256k1 ... ok
[INFO] [stderr]    |                                                     ^------------
[INFO] [stdout] test incinerator::test_id ... ok
[INFO] [stderr]    |                                                     |
[INFO] [stdout] test fee_calculator::tests::test_fee_rate_governor_derived_default ... ok
[INFO] [stderr]    |                                                     `FromPrimitive` is not local
[INFO] [stdout] test hash::tests::test_hash_fromstr ... ok
[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] [stdout] test ed25519_program::test_id ... ok
[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] [stdout] test feature::test_id ... ok
[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] [stdout] test config::program::test_id ... ok
[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 26 warnings (22 duplicates) (run `cargo fix --lib -p gemachain-program --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gemachain_program-de941b5b3c976595)
[INFO] [stdout] test instruction::test::test_visit_each_account ... ok
[INFO] [stdout] test feature::test::feature_sizeof ... ok
[INFO] [stdout] test message::legacy::tests::test_is_non_loader_key ... ok
[INFO] [stdout] test message::legacy::tests::test_decompile_instructions_out_of_bounds ... 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_message_payer_first ... ok
[INFO] [stdout] test message::legacy::tests::test_message_readonly_keys_last ... ok
[INFO] [stdout] test message::legacy::tests::test_message_kitchen_sink ... ok
[INFO] [stdout] test message::legacy::tests::test_message_signed_keys_first ... ok
[INFO] [stdout] test message::legacy::tests::test_message_signed_keys_len ... ok
[INFO] [stdout] test message::legacy::tests::test_message_unique_keys_both_signed ... ok
[INFO] [stdout] test message::legacy::tests::test_message_header_len_constant ... ok
[INFO] [stdout] test message::legacy::tests::test_message_unique_keys_one_signed ... ok
[INFO] [stdout] test message::legacy::tests::test_decompile_instructions ... 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_order_preserved ... ok
[INFO] [stdout] test message::legacy::tests::test_message_unique_keys_one_readonly_signed ... ok
[INFO] [stdout] test message::legacy::tests::test_message_unique_program_ids_order_preserved ... ok
[INFO] [stdout] test message::legacy::tests::test_program_ids ... 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_not_adjacent ... ok
[INFO] [stdout] test message::non_bpf_modules::mapped::tests::test_account_keys_len ... 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::non_bpf_modules::mapped::tests::test_is_writable ... ok
[INFO] [stdout] test message::non_bpf_modules::mapped::tests::test_is_writable_index ... ok
[INFO] [stdout] test message::legacy::tests::test_message_unique_program_ids ... ok
[INFO] [stdout] test message::legacy::tests::test_message_unique_keys_not_adjacent ... ok
[INFO] [stdout] test message::non_bpf_modules::sanitized::tests::test_calculate_fee ... ok
[INFO] [stdout] test message::legacy::tests::test_program_position ... ok
[INFO] [stdout] test message::legacy::tests::test_is_writable ... ok
[INFO] [stdout] test message::non_bpf_modules::mapped::tests::test_account_keys_iter ... ok
[INFO] [stdout] test message::legacy::tests::test_message_program_last ... 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_try_from_message ... ok
[INFO] [stdout] test message::non_bpf_modules::sanitized::tests::test_is_non_loader_key ... 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_address_map ... ok
[INFO] [stdout] test message::non_bpf_modules::v0::tests::test_serialize ... ok
[INFO] [stdout] test message::non_bpf_modules::v0::tests::test_sanitize_excessive_loaded_accounts ... ok
[INFO] [stdout] test message::non_bpf_modules::sanitized::tests::test_try_compile_instruction ... ok
[INFO] [stdout] test message::non_bpf_modules::v0::tests::test_sanitize_account_indices ... ok
[INFO] [stdout] test message::non_bpf_modules::sanitized::tests::test_serialize_instructions ... ok
[INFO] [stdout] test message::non_bpf_modules::versions::tests::test_legacy_message_serialization ... ok
[INFO] [stdout] test message::non_bpf_modules::sanitized::tests::test_num_readonly_accounts ... ok
[INFO] [stdout] test program_option::test::test_from_rust_option ... ok
[INFO] [stdout] test message::non_bpf_modules::versions::tests::test_versioned_message_serialization ... ok
[INFO] [stdout] test pubkey::tests::pubkey_fromstr ... ok
[INFO] [stdout] test pubkey::tests::test_create_with_seed_rejects_illegal_owner ... ok
[INFO] [stdout] test pubkey::tests::test_create_with_seed ... 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 pubkey::tests::test_create_program_address ... 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_u8 ... ok
[INFO] [stdout] test short_vec::tests::test_short_vec_json ... ok
[INFO] [stdout] test bpf_loader_deprecated::test_id ... ok
[INFO] [stdout] test message::legacy::tests::test_message_unique_keys_signed_and_payer ... ok
[INFO] [stdout] test slot_history::tests::test_older_slot ... ok
[INFO] [stdout] test epoch_schedule::tests::test_epoch_schedule ... 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 nonce::state::current::test::default_is_uninitialized ... ok
[INFO] [stdout] test sysvar::instructions::tests::test_load_store_instruction ... ok
[INFO] [stdout] test sysvar::recent_blockhashes::test_id ... ok
[INFO] [stdout] test slot_hashes::tests::test ... 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 short_vec::tests::test_short_vec_u8_too_long ... ok
[INFO] [stdout] test message::legacy::tests::test_message_hash ... FAILED
[INFO] [stdout] test account_info::tests::test_account_info_as_ref ... 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 sysvar::recent_blockhashes::test_sysvar_id ... ok
[INFO] [stdout] test sysvar::slot_history::test_sysvar_id ... ok
[INFO] [stdout] test sysvar::stake_history::test_id ... ok
[INFO] [stdout] test sysvar::stake_history::test_sysvar_id ... 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 sysvar::stake_history::tests::test_size_of ... ok
[INFO] [stdout] test sysvar::slot_history::tests::test_size_of ... ok
[INFO] [stdout] test sysvar::recent_blockhashes::tests::test_size_of ... ok
[INFO] [stdout] test message::non_bpf_modules::mapped::tests::test_has_duplicates_with_dupe_keys ... ok
[INFO] [stdout] test sysvar::stake_history::tests::test_create_account ... ok
[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::test_oldest ... ok
[INFO] [stdout] test slot_history::tests::slot_history_test_same_index ... 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' (64) 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:     0x55d40d4feb92 - std::backtrace_rs::backtrace::libunwind::trace::hf0bd46b30bc61685
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x55d40d4feb92 - std::backtrace_rs::backtrace::trace_unsynchronized::h1d1fbb72ad89d7b7
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x55d40d4feb92 - std::sys::backtrace::_print_fmt::he38b6f68ca847f47
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x55d40d4feb92 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hb7e843cde1bc81a3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x55d40d50fc0a - core::fmt::rt::Argument::fmt::hc1dd77ac64f2688c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x55d40d50fc0a - core::fmt::write::h952c506e2dbe9cff
[INFO] [stdout]    6:     0x55d40d4cd746 - std::io::default_write_fmt::hd23bd8145c03a23a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x55d40d4cd746 - std::io::Write::write_fmt::hdd3314a2bd8a34bd
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x55d40d4ddd49 - std::sys::backtrace::BacktraceLock::print::h1079b82381c2c252
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x55d40d4ddd49 - std::panicking::default_hook::{{closure}}::h85cb76b8462c00f2
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x55d40d4ddbe1 - std::panicking::default_hook::h0134d220cc034c02
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x55d40d45f88e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hb2e68dca3970e3ca
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x55d40d45f88e - test::test_main_with_exit_callback::{{closure}}::ha7ec2063a2565ec3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x55d40d4ddfc2 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::haebee478d0f56cf4
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x55d40d4ddfc2 - std::panicking::panic_with_hook::h8119b6db1fef734f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x55d40d4dde08 - std::panicking::panic_handler::{{closure}}::h24f5360b91482c0e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x55d40d4d9339 - std::sys::backtrace::__rust_end_short_backtrace::h4e60c5cbd1bd0108
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x55d40d4c22dd - __rustc[e4c6931bd8050421]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x55d40d517fac - core::panicking::panic_fmt::hb1614a3ff6840071
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x55d40d517e33 - core::panicking::assert_failed_inner::h5aabe811ef142622
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x55d40d102ab3 - core::panicking::assert_failed::h51ec0d78b0aea46c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x55d40d0c2f79 - gemachain_program::message::legacy::tests::test_message_hash::h4a5875d409e08586
[INFO] [stdout]                                at /opt/rustwide/workdir/src/message/legacy.rs:1053:9
[INFO] [stdout]   22:     0x55d40d0c2fe7 - gemachain_program::message::legacy::tests::test_message_hash::{{closure}}::h86721d31e5940678
[INFO] [stdout]                                at /opt/rustwide/workdir/src/message/legacy.rs:1028:27
[INFO] [stdout]   23:     0x55d40d0fa6b6 - core::ops::function::FnOnce::call_once::hd037ffd7ad53f3f9
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x55d40d45f68b - core::ops::function::FnOnce::call_once::hefaf63600cd43d2a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x55d40d45f68b - test::__rust_begin_short_backtrace::he30322a73a0e9ea6
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x55d40d47305a - test::run_test_in_process::{{closure}}::hdea3ab8d0243ef36
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x55d40d47305a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h66d192f42498ffce
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x55d40d47305a - std::panicking::catch_unwind::do_call::h822e18e8d3a6bb65
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x55d40d47305a - std::panicking::catch_unwind::h54b1de7ceab578bf
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x55d40d47305a - std::panic::catch_unwind::h60c29b7a9d0246b1
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x55d40d47305a - test::run_test_in_process::h6099b5f871379b13
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x55d40d47305a - test::run_test::{{closure}}::h926ce0a38281a4c8
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x55d40d44d4b4 - test::run_test::{{closure}}::h508de21a9afc7140
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x55d40d44d4b4 - std::sys::backtrace::__rust_begin_short_backtrace::h6e2f5c39ca00735a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x55d40d450d72 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::h133e44f0e5802c14
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x55d40d450d72 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4718c1285283955c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x55d40d450d72 - std::panicking::catch_unwind::do_call::h0bba3937b4892238
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x55d40d450d72 - std::panicking::catch_unwind::h5b31cab5fb8c5d7f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x55d40d450d72 - std::panic::catch_unwind::hb2fa05d52ed0124e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x55d40d450d72 - std::thread::lifecycle::spawn_unchecked::{{closure}}::hf401cf5ff501bd29
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x55d40d450d72 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h160022e94ce3b0bb
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x55d40d4d45cf - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf234e0d1d1d272ba
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x55d40d4d45cf - std::sys::thread::unix::Thread::new::thread_start::h106a295241840d3b
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   44:     0x746f11774aa4 - <unknown>
[INFO] [stdout]   45:     0x746f11801a64 - 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 0.88s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "a6a71765b020d0c2b82d332f11316dea65e31d9304d813aaeb5606144c810c9f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a6a71765b020d0c2b82d332f11316dea65e31d9304d813aaeb5606144c810c9f", kill_on_drop: false }`
[INFO] [stdout] a6a71765b020d0c2b82d332f11316dea65e31d9304d813aaeb5606144c810c9f
