[INFO] fetching crate safecoin-vote-program 1.14.17... [INFO] building safecoin-vote-program-1.14.17 against master#c7f6aa2869acdbf014d094c6e427e554e160b6db for pr-146237-2 [INFO] extracting crate safecoin-vote-program 1.14.17 into /workspace/builds/worker-3-tc1/source [INFO] started tweaking crates.io crate safecoin-vote-program 1.14.17 [INFO] finished tweaking crates.io crate safecoin-vote-program 1.14.17 [INFO] tweaked toml for crates.io crate safecoin-vote-program 1.14.17 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate safecoin-vote-program 1.14.17 on toolchain c7f6aa2869acdbf014d094c6e427e554e160b6db [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "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" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 295 packages to latest compatible versions [INFO] [stderr] Adding bincode v1.3.3 (available: v2.0.1) [INFO] [stderr] Adding itertools v0.10.5 (available: v0.14.0) [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 test-case v2.2.2 (available: v3.3.1) [INFO] [stderr] Adding thiserror v1.0.69 (available: v2.0.17) [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" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded test-case v2.2.2 [INFO] [stderr] Downloaded safecoin-logger v1.14.17 [INFO] [stderr] Downloaded safecoin-frozen-abi-macro v1.14.17 [INFO] [stderr] Downloaded enum-iterator v0.8.1 [INFO] [stderr] Downloaded safecoin-sdk-macro v1.14.17 [INFO] [stderr] Downloaded enum-iterator-derive v0.8.1 [INFO] [stderr] Downloaded safecoin-measure v1.14.17 [INFO] [stderr] Downloaded safecoin-frozen-abi v1.14.17 [INFO] [stderr] Downloaded safecoin-program-runtime v1.14.17 [INFO] [stderr] Downloaded test-case-macros v2.2.2 [INFO] [stderr] Downloaded safecoin-metrics v1.14.17 [INFO] [stderr] Downloaded safecoin-sdk v1.14.17 [INFO] [stderr] Downloaded safecoin-program v1.14.17 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d31f3cdb9749e52b8650c7cb30dbca03822a63c8ff011117747d213f1e3ee4a7 [INFO] running `Command { std: "docker" "start" "-a" "d31f3cdb9749e52b8650c7cb30dbca03822a63c8ff011117747d213f1e3ee4a7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d31f3cdb9749e52b8650c7cb30dbca03822a63c8ff011117747d213f1e3ee4a7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d31f3cdb9749e52b8650c7cb30dbca03822a63c8ff011117747d213f1e3ee4a7", kill_on_drop: false }` [INFO] [stdout] d31f3cdb9749e52b8650c7cb30dbca03822a63c8ff011117747d213f1e3ee4a7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d559e4643276831c3ea0e8995ec1bce787809a48464916e71f76caff2754b472 [INFO] running `Command { std: "docker" "start" "-a" "d559e4643276831c3ea0e8995ec1bce787809a48464916e71f76caff2754b472", kill_on_drop: false }` [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling find-msvc-tools v0.1.2 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Compiling ahash v0.7.8 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling digest v0.9.0 [INFO] [stderr] Compiling zeroize_derive v1.4.2 [INFO] [stderr] Compiling libsecp256k1-core v0.2.2 [INFO] [stderr] Compiling cc v1.2.39 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling tokio v1.47.1 [INFO] [stderr] Compiling zeroize v1.3.0 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling feature-probe v0.1.1 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling bv v0.11.1 [INFO] [stderr] Compiling libsecp256k1-gen-ecmult v0.2.1 [INFO] [stderr] Compiling libsecp256k1-gen-genmult v0.2.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling safecoin-frozen-abi-macro v1.14.17 [INFO] [stderr] Compiling bitmaps v2.1.0 [INFO] [stderr] Compiling im v15.1.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling regex-automata v0.4.11 [INFO] [stderr] Compiling sized-chunks v0.6.5 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling blake3 v1.8.2 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling block-buffer v0.9.0 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling crypto-mac v0.8.0 [INFO] [stderr] Compiling sha2 v0.9.9 [INFO] [stderr] Compiling hmac v0.8.1 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling borsh-derive-internal v0.9.3 [INFO] [stderr] Compiling borsh-schema-derive-internal v0.9.3 [INFO] [stderr] Compiling curve25519-dalek v3.2.1 [INFO] [stderr] Compiling proc-macro-crate v0.1.5 [INFO] [stderr] Compiling rand_xoshiro v0.6.0 [INFO] [stderr] Compiling libsecp256k1 v0.6.0 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling safecoin-frozen-abi v1.14.17 [INFO] [stderr] Compiling signature v1.6.4 [INFO] [stderr] Compiling bs58 v0.4.0 [INFO] [stderr] Compiling tokio-util v0.7.16 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Compiling ed25519 v1.5.3 [INFO] [stderr] Compiling borsh-derive v0.9.3 [INFO] [stderr] Compiling regex v1.11.3 [INFO] [stderr] Compiling hmac-drbg v0.3.0 [INFO] [stderr] Compiling pbkdf2 v0.4.0 [INFO] [stderr] Compiling safecoin-program v1.14.17 [INFO] [stderr] Compiling serde_bytes v0.11.19 [INFO] [stderr] Compiling sct v0.7.1 [INFO] [stderr] Compiling rustls-webpki v0.101.7 [INFO] [stderr] Compiling brotli-decompressor v5.0.0 [INFO] [stderr] Compiling hashbrown v0.11.2 [INFO] [stderr] Compiling hashbrown v0.12.3 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling memmap2 v0.5.10 [INFO] [stderr] Compiling bytemuck_derive v1.10.1 [INFO] [stderr] Compiling base64 v0.12.3 [INFO] [stderr] Compiling sha3 v0.10.8 [INFO] [stderr] Compiling tiny-bip39 v0.8.2 [INFO] [stderr] Compiling brotli v8.0.2 [INFO] [stderr] Compiling env_logger v0.9.3 [INFO] [stderr] Compiling borsh v0.9.3 [INFO] [stderr] Compiling h2 v0.3.27 [INFO] [stderr] Compiling bytemuck v1.23.2 [INFO] [stderr] Compiling safecoin-sdk-macro v1.14.17 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Compiling ed25519-dalek v1.0.1 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling safecoin-sdk v1.14.17 [INFO] [stderr] Compiling base64 v0.13.1 [INFO] [stderr] Compiling compression-core v0.4.29 [INFO] [stderr] Compiling derivation-path v0.2.0 [INFO] [stderr] Compiling safecoin-logger v1.14.17 [INFO] [stderr] Compiling ed25519-dalek-bip32 v0.2.0 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling pbkdf2 v0.11.0 [INFO] [stderr] Compiling uriparse v0.6.4 [INFO] [stderr] Compiling qstring v0.7.2 [INFO] [stderr] Compiling tokio-rustls v0.24.1 [INFO] [stderr] Compiling assert_matches v1.5.0 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling enum-iterator-derive v0.8.1 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling hyper v0.14.32 [INFO] [stderr] Compiling compression-codecs v0.4.31 [INFO] [stderr] Compiling safecoin-program-runtime v1.14.17 [INFO] [stderr] Compiling gethostname v0.2.3 [INFO] [stderr] Compiling enum-iterator v0.8.1 [INFO] [stderr] Compiling safecoin-vote-program v1.14.17 (/opt/rustwide/workdir) [INFO] [stderr] Compiling eager v0.1.0 [INFO] [stderr] Compiling async-compression v0.4.32 [INFO] [stderr] Compiling hyper-rustls v0.24.2 [INFO] [stderr] Compiling reqwest v0.11.27 [INFO] [stderr] Compiling safecoin-metrics v1.14.17 [INFO] [stderr] Compiling safecoin-measure v1.14.17 [INFO] [stdout] warning: unexpected `cfg` condition name: `RUSTC_WITH_SPECIALIZATION` [INFO] [stdout] --> src/lib.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | #![cfg_attr(RUSTC_WITH_SPECIALIZATION, feature(min_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 for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::*` [INFO] [stdout] --> src/vote_error.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | 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 doc comment [INFO] [stdout] --> src/vote_state/vote_state_versions.rs:23:21 [INFO] [stdout] | [INFO] [stdout] 23 | /// the signer for withdrawals [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | authorized_withdrawer: state.authorized_withdrawer, [INFO] [stdout] | -------------------------------------------------- rustdoc does not generate documentation for expression fields [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vote_state/vote_state_versions.rs:26:21 [INFO] [stdout] | [INFO] [stdout] 26 | / /// percentage (0-100) that represents what part of a rewards [INFO] [stdout] 27 | | /// payout should be given to this VoteAccount [INFO] [stdout] | |___________________________________________________________________^ [INFO] [stdout] 28 | commission: state.commission, [INFO] [stdout] | ---------------------------- rustdoc does not generate documentation for expression fields [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vote_state/vote_state_versions.rs:34:21 [INFO] [stdout] | [INFO] [stdout] 34 | /// the signer for vote transactions [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 35 | authorized_voters, [INFO] [stdout] | ----------------- rustdoc does not generate documentation for expression fields [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vote_state/vote_state_versions.rs:37:21 [INFO] [stdout] | [INFO] [stdout] 37 | / /// history of prior authorized voters and the epochs for which [INFO] [stdout] 38 | | /// they were set, the bottom end of the range is inclusive, [INFO] [stdout] 39 | | /// the top of the range is exclusive [INFO] [stdout] | |_________________________________________________________^ [INFO] [stdout] 40 | prior_voters: CircBuf::default(), [INFO] [stdout] | -------------------------------- rustdoc does not generate documentation for expression fields [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vote_state/vote_state_versions.rs:42:21 [INFO] [stdout] | [INFO] [stdout] 42 | / /// history of how many credits earned by the end of each epoch [INFO] [stdout] 43 | | /// each tuple is (Epoch, credits, prev_credits) [INFO] [stdout] | |_____________________________________________________________________^ [INFO] [stdout] 44 | epoch_credits: state.epoch_credits.clone(), [INFO] [stdout] | ------------------------------------------ rustdoc does not generate documentation for expression fields [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vote_state/vote_state_versions.rs:46:21 [INFO] [stdout] | [INFO] [stdout] 46 | /// most recent timestamp submitted with a vote [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 47 | last_timestamp: state.last_timestamp.clone(), [INFO] [stdout] | -------------------------------------------- rustdoc does not generate documentation for expression fields [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vote_state/mod.rs:1593:5 [INFO] [stdout] | [INFO] [stdout] 1593 | let mut slot_hash_int = ( (slot_hashes[0].1.to_string().chars().nth(0).unwrap() as usize ) % 10 ) as usize; [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vote_state/mod.rs:1594:5 [INFO] [stdout] | [INFO] [stdout] 1594 | let mut mixed_int = ( ( ( (slot_hashes[0].1.to_string().chars().nth(0).unwrap() as usize ) % 9 + 1 ) as usize [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/authorized_voters.rs:81:17 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn iter(&self) -> std::collections::btree_map::Iter { [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] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 81 | pub fn iter(&self) -> std::collections::btree_map::Iter<'_, Epoch, Pubkey> { [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/vote_error.rs:11:46 [INFO] [stdout] | [INFO] [stdout] 11 | #[derive(Error, Debug, Clone, PartialEq, Eq, 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_VoteError` [INFO] [stdout] 12 | pub enum VoteError { [INFO] [stdout] | --------- `VoteError` 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/vote_error.rs:11:61 [INFO] [stdout] | [INFO] [stdout] 11 | #[derive(Error, Debug, Clone, PartialEq, Eq, 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_VoteError` [INFO] [stdout] 12 | pub enum VoteError { [INFO] [stdout] | --------- `VoteError` 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 2m 15s [INFO] running `Command { std: "docker" "inspect" "d559e4643276831c3ea0e8995ec1bce787809a48464916e71f76caff2754b472", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d559e4643276831c3ea0e8995ec1bce787809a48464916e71f76caff2754b472", kill_on_drop: false }` [INFO] [stdout] d559e4643276831c3ea0e8995ec1bce787809a48464916e71f76caff2754b472 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 898571e1648922b37a78e0652fe3a222ae21ae2906d260b8763f1007473e6f73 [INFO] running `Command { std: "docker" "start" "-a" "898571e1648922b37a78e0652fe3a222ae21ae2906d260b8763f1007473e6f73", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stdout] warning: unexpected `cfg` condition name: `RUSTC_WITH_SPECIALIZATION` [INFO] [stdout] --> src/lib.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | #![cfg_attr(RUSTC_WITH_SPECIALIZATION, feature(min_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 for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::*` [INFO] [stdout] --> src/vote_error.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | 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 doc comment [INFO] [stdout] --> src/vote_state/vote_state_versions.rs:23:21 [INFO] [stdout] | [INFO] [stdout] 23 | /// the signer for withdrawals [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | authorized_withdrawer: state.authorized_withdrawer, [INFO] [stdout] | -------------------------------------------------- rustdoc does not generate documentation for expression fields [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vote_state/vote_state_versions.rs:26:21 [INFO] [stdout] | [INFO] [stdout] 26 | / /// percentage (0-100) that represents what part of a rewards [INFO] [stdout] 27 | | /// payout should be given to this VoteAccount [INFO] [stdout] | |___________________________________________________________________^ [INFO] [stdout] 28 | commission: state.commission, [INFO] [stdout] | ---------------------------- rustdoc does not generate documentation for expression fields [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vote_state/vote_state_versions.rs:34:21 [INFO] [stdout] | [INFO] [stdout] 34 | /// the signer for vote transactions [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 35 | authorized_voters, [INFO] [stdout] | ----------------- rustdoc does not generate documentation for expression fields [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vote_state/vote_state_versions.rs:37:21 [INFO] [stdout] | [INFO] [stdout] 37 | / /// history of prior authorized voters and the epochs for which [INFO] [stdout] 38 | | /// they were set, the bottom end of the range is inclusive, [INFO] [stdout] 39 | | /// the top of the range is exclusive [INFO] [stdout] | |_________________________________________________________^ [INFO] [stdout] 40 | prior_voters: CircBuf::default(), [INFO] [stdout] | -------------------------------- rustdoc does not generate documentation for expression fields [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vote_state/vote_state_versions.rs:42:21 [INFO] [stdout] | [INFO] [stdout] 42 | / /// history of how many credits earned by the end of each epoch [INFO] [stdout] 43 | | /// each tuple is (Epoch, credits, prev_credits) [INFO] [stdout] | |_____________________________________________________________________^ [INFO] [stdout] 44 | epoch_credits: state.epoch_credits.clone(), [INFO] [stdout] | ------------------------------------------ rustdoc does not generate documentation for expression fields [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vote_state/vote_state_versions.rs:46:21 [INFO] [stdout] | [INFO] [stdout] 46 | /// most recent timestamp submitted with a vote [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 47 | last_timestamp: state.last_timestamp.clone(), [INFO] [stdout] | -------------------------------------------- rustdoc does not generate documentation for expression fields [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vote_state/mod.rs:1593:5 [INFO] [stdout] | [INFO] [stdout] 1593 | let mut slot_hash_int = ( (slot_hashes[0].1.to_string().chars().nth(0).unwrap() as usize ) % 10 ) as usize; [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vote_state/mod.rs:1594:5 [INFO] [stdout] | [INFO] [stdout] 1594 | let mut mixed_int = ( ( ( (slot_hashes[0].1.to_string().chars().nth(0).unwrap() as usize ) % 9 + 1 ) as usize [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/authorized_voters.rs:81:17 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn iter(&self) -> std::collections::btree_map::Iter { [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] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 81 | pub fn iter(&self) -> std::collections::btree_map::Iter<'_, Epoch, Pubkey> { [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/vote_error.rs:11:46 [INFO] [stdout] | [INFO] [stdout] 11 | #[derive(Error, Debug, Clone, PartialEq, Eq, 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_VoteError` [INFO] [stdout] 12 | pub enum VoteError { [INFO] [stdout] | --------- `VoteError` 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/vote_error.rs:11:61 [INFO] [stdout] | [INFO] [stdout] 11 | #[derive(Error, Debug, Clone, PartialEq, Eq, 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_VoteError` [INFO] [stdout] 12 | pub enum VoteError { [INFO] [stdout] | --------- `VoteError` 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 test-case-macros v2.2.2 [INFO] [stderr] Compiling test-case v2.2.2 [INFO] [stderr] Compiling safecoin-vote-program v1.14.17 (/opt/rustwide/workdir) [INFO] [stdout] warning: unexpected `cfg` condition name: `RUSTC_WITH_SPECIALIZATION` [INFO] [stdout] --> src/lib.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | #![cfg_attr(RUSTC_WITH_SPECIALIZATION, feature(min_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 for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::*` [INFO] [stdout] --> src/vote_error.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | 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 doc comment [INFO] [stdout] --> src/vote_state/vote_state_versions.rs:23:21 [INFO] [stdout] | [INFO] [stdout] 23 | /// the signer for withdrawals [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | authorized_withdrawer: state.authorized_withdrawer, [INFO] [stdout] | -------------------------------------------------- rustdoc does not generate documentation for expression fields [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vote_state/vote_state_versions.rs:26:21 [INFO] [stdout] | [INFO] [stdout] 26 | / /// percentage (0-100) that represents what part of a rewards [INFO] [stdout] 27 | | /// payout should be given to this VoteAccount [INFO] [stdout] | |___________________________________________________________________^ [INFO] [stdout] 28 | commission: state.commission, [INFO] [stdout] | ---------------------------- rustdoc does not generate documentation for expression fields [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vote_state/vote_state_versions.rs:34:21 [INFO] [stdout] | [INFO] [stdout] 34 | /// the signer for vote transactions [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 35 | authorized_voters, [INFO] [stdout] | ----------------- rustdoc does not generate documentation for expression fields [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vote_state/vote_state_versions.rs:37:21 [INFO] [stdout] | [INFO] [stdout] 37 | / /// history of prior authorized voters and the epochs for which [INFO] [stdout] 38 | | /// they were set, the bottom end of the range is inclusive, [INFO] [stdout] 39 | | /// the top of the range is exclusive [INFO] [stdout] | |_________________________________________________________^ [INFO] [stdout] 40 | prior_voters: CircBuf::default(), [INFO] [stdout] | -------------------------------- rustdoc does not generate documentation for expression fields [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vote_state/vote_state_versions.rs:42:21 [INFO] [stdout] | [INFO] [stdout] 42 | / /// history of how many credits earned by the end of each epoch [INFO] [stdout] 43 | | /// each tuple is (Epoch, credits, prev_credits) [INFO] [stdout] | |_____________________________________________________________________^ [INFO] [stdout] 44 | epoch_credits: state.epoch_credits.clone(), [INFO] [stdout] | ------------------------------------------ rustdoc does not generate documentation for expression fields [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vote_state/vote_state_versions.rs:46:21 [INFO] [stdout] | [INFO] [stdout] 46 | /// most recent timestamp submitted with a vote [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 47 | last_timestamp: state.last_timestamp.clone(), [INFO] [stdout] | -------------------------------------------- rustdoc does not generate documentation for expression fields [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vote_state/mod.rs:1593:5 [INFO] [stdout] | [INFO] [stdout] 1593 | let mut slot_hash_int = ( (slot_hashes[0].1.to_string().chars().nth(0).unwrap() as usize ) % 10 ) as usize; [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vote_state/mod.rs:1594:5 [INFO] [stdout] | [INFO] [stdout] 1594 | let mut mixed_int = ( ( ( (slot_hashes[0].1.to_string().chars().nth(0).unwrap() as usize ) % 9 + 1 ) as usize [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/authorized_voters.rs:81:17 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn iter(&self) -> std::collections::btree_map::Iter { [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] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 81 | pub fn iter(&self) -> std::collections::btree_map::Iter<'_, Epoch, Pubkey> { [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/vote_error.rs:11:46 [INFO] [stdout] | [INFO] [stdout] 11 | #[derive(Error, Debug, Clone, PartialEq, Eq, 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_VoteError` [INFO] [stdout] 12 | pub enum VoteError { [INFO] [stdout] | --------- `VoteError` 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/vote_error.rs:11:61 [INFO] [stdout] | [INFO] [stdout] 11 | #[derive(Error, Debug, Clone, PartialEq, Eq, 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_VoteError` [INFO] [stdout] 12 | pub enum VoteError { [INFO] [stdout] | --------- `VoteError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 8.71s [INFO] running `Command { std: "docker" "inspect" "898571e1648922b37a78e0652fe3a222ae21ae2906d260b8763f1007473e6f73", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "898571e1648922b37a78e0652fe3a222ae21ae2906d260b8763f1007473e6f73", kill_on_drop: false }` [INFO] [stdout] 898571e1648922b37a78e0652fe3a222ae21ae2906d260b8763f1007473e6f73