[INFO] fetching crate tfhe-zk-pok 0.3.0...
[INFO] testing tfhe-zk-pok-0.3.0 against nightly-2024-10-28 for randomize-layout
[INFO] extracting crate tfhe-zk-pok 0.3.0 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate tfhe-zk-pok 0.3.0 on toolchain nightly-2024-10-28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-10-28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate tfhe-zk-pok 0.3.0
[INFO] finished tweaking crates.io crate tfhe-zk-pok 0.3.0
[INFO] tweaked toml for crates.io crate tfhe-zk-pok 0.3.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-10-28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 66 packages to latest compatible versions
[INFO] [stderr]       Adding itertools v0.11.0 (available: v0.13.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-10-28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tfhe-ark-poly v0.4.2
[INFO] [stderr]   Downloaded tfhe-ark-ec v0.4.2
[INFO] [stderr]   Downloaded tfhe-versionable v0.3.1
[INFO] [stderr]   Downloaded tfhe-versionable-derive v0.3.1
[INFO] [stderr]   Downloaded tfhe-ark-ff v0.4.3
[INFO] [stderr]   Downloaded tfhe-ark-bls12-381 v0.4.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-10-28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7a9411196a43467930c4c5a9851b3b284a89b72a144975e5cf8e87bcd5a56e8c
[INFO] running `Command { std: "docker" "start" "-a" "7a9411196a43467930c4c5a9851b3b284a89b72a144975e5cf8e87bcd5a56e8c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7a9411196a43467930c4c5a9851b3b284a89b72a144975e5cf8e87bcd5a56e8c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7a9411196a43467930c4c5a9851b3b284a89b72a144975e5cf8e87bcd5a56e8c", kill_on_drop: false }`
[INFO] [stdout] 7a9411196a43467930c4c5a9851b3b284a89b72a144975e5cf8e87bcd5a56e8c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-10-28" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 880dce38de1ae36a50b18d4d47e67f16834b010b76c15c018832d750347fd834
[INFO] running `Command { std: "docker" "start" "-a" "880dce38de1ae36a50b18d4d47e67f16834b010b76c15c018832d750347fd834", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling libc v0.2.161
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling syn v2.0.86
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling once_cell v1.20.2
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling allocator-api2 v0.2.18
[INFO] [stderr]    Compiling keccak v0.1.5
[INFO] [stderr]    Compiling sha3 v0.10.8
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling serde_derive v1.0.214
[INFO] [stderr]    Compiling tfhe-versionable-derive v0.3.1
[INFO] [stderr]    Compiling ark-serialize-derive v0.4.2
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling ark-ff-macros v0.4.2
[INFO] [stderr]    Compiling ark-ff-asm v0.4.2
[INFO] [stderr]    Compiling zeroize v1.8.1
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling ark-std v0.4.0
[INFO] [stderr]    Compiling ark-serialize v0.4.2
[INFO] [stderr]    Compiling serde v1.0.214
[INFO] [stderr]    Compiling tfhe-ark-ff v0.4.3
[INFO] [stderr]    Compiling aligned-vec v0.5.0
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling tfhe-versionable v0.3.1
[INFO] [stderr]    Compiling tfhe-ark-poly v0.4.2
[INFO] [stderr]    Compiling tfhe-ark-ec v0.4.2
[INFO] [stderr]    Compiling tfhe-ark-bls12-381 v0.4.0
[INFO] [stderr]    Compiling tfhe-zk-pok v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proofs/mod.rs:82:62
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]    |                                                              ^---------
[INFO] [stdout]    |                                                              |
[INFO] [stdout]    |                                                              `Serialize` is not local
[INFO] [stdout]    |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 88 | pub(crate) struct GroupElements<G: Curve> {
[INFO] [stdout]    |                   ------------- `GroupElementsVersionOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/mod.rs:82:62
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]    |                                                              ^---------
[INFO] [stdout]    |                                                              |
[INFO] [stdout]    |                                                              `Deserialize` is not local
[INFO] [stdout]    |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 88 | pub(crate) struct GroupElements<G: Curve> {
[INFO] [stdout]    |                   ------------- `GroupElementsVersionOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/mod.rs:82:62
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]    |                                                              ^---------
[INFO] [stdout]    |                                                              |
[INFO] [stdout]    |                                                              `Serialize` is not local
[INFO] [stdout]    |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 88 | pub(crate) struct GroupElements<G: Curve> {
[INFO] [stdout]    |                   ------------- `GroupElementsVersion` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke.rs:233:62
[INFO] [stdout]     |
[INFO] [stdout] 233 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                              ^---------
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              `Serialize` is not local
[INFO] [stdout]     |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 239 | pub struct Proof<G: Curve> {
[INFO] [stdout]     |            ----- `ProofVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke.rs:233:62
[INFO] [stdout]     |
[INFO] [stdout] 233 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                              ^---------
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              `Deserialize` is not local
[INFO] [stdout]     |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 239 | pub struct Proof<G: Curve> {
[INFO] [stdout]     |            ----- `ProofVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke.rs:233:62
[INFO] [stdout]     |
[INFO] [stdout] 233 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                              ^---------
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              `Serialize` is not local
[INFO] [stdout]     |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 239 | pub struct Proof<G: Curve> {
[INFO] [stdout]     |            ----- `ProofVersion` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke.rs:251:34
[INFO] [stdout]     |
[INFO] [stdout] 251 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 257 | pub struct CompressedProof<G: Curve>
[INFO] [stdout]     |            --------------- `CompressedProofVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke.rs:251:34
[INFO] [stdout]     |
[INFO] [stdout] 251 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Deserialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 257 | pub struct CompressedProof<G: Curve>
[INFO] [stdout]     |            --------------- `CompressedProofVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke.rs:251:34
[INFO] [stdout]     |
[INFO] [stdout] 251 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 257 | pub struct CompressedProof<G: Curve>
[INFO] [stdout]     |            --------------- `CompressedProofVersion` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke_v2.rs:276:62
[INFO] [stdout]     |
[INFO] [stdout] 276 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                              ^---------
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              `Serialize` is not local
[INFO] [stdout]     |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 282 | pub struct Proof<G: Curve> {
[INFO] [stdout]     |            ----- `ProofVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke_v2.rs:276:62
[INFO] [stdout]     |
[INFO] [stdout] 276 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                              ^---------
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              `Deserialize` is not local
[INFO] [stdout]     |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 282 | pub struct Proof<G: Curve> {
[INFO] [stdout]     |            ----- `ProofVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke_v2.rs:276:62
[INFO] [stdout]     |
[INFO] [stdout] 276 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                              ^---------
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              `Serialize` is not local
[INFO] [stdout]     |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 282 | pub struct Proof<G: Curve> {
[INFO] [stdout]     |            ----- `ProofVersion` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke_v2.rs:302:34
[INFO] [stdout]     |
[INFO] [stdout] 302 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 308 | pub struct CompressedProof<G: Curve>
[INFO] [stdout]     |            --------------- `CompressedProofVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke_v2.rs:302:34
[INFO] [stdout]     |
[INFO] [stdout] 302 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Deserialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 308 | pub struct CompressedProof<G: Curve>
[INFO] [stdout]     |            --------------- `CompressedProofVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke_v2.rs:302:34
[INFO] [stdout]     |
[INFO] [stdout] 302 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 308 | pub struct CompressedProof<G: Curve>
[INFO] [stdout]     |            --------------- `CompressedProofVersion` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:58:34
[INFO] [stdout]    |
[INFO] [stdout] 58 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]    |                                  ^---------
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `Serialize` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 59 | #[versionize(SerializableFpVersions)]
[INFO] [stdout] 60 | pub struct SerializableFp {
[INFO] [stdout]    |            -------------- `SerializableFpVersionOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:58:34
[INFO] [stdout]    |
[INFO] [stdout] 58 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]    |                                  ^---------
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `Deserialize` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 59 | #[versionize(SerializableFpVersions)]
[INFO] [stdout] 60 | pub struct SerializableFp {
[INFO] [stdout]    |            -------------- `SerializableFpVersionOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:58:34
[INFO] [stdout]    |
[INFO] [stdout] 58 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]    |                                  ^---------
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `SerializableFpVersion` is not local
[INFO] [stdout]    |                                  `Serialize` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:119:34
[INFO] [stdout]     |
[INFO] [stdout] 119 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 120 | #[versionize(SerializableAffineVersions)]
[INFO] [stdout] 121 | pub enum SerializableAffine<F> {
[INFO] [stdout]     |          ------------------ `SerializableAffineVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:119:34
[INFO] [stdout]     |
[INFO] [stdout] 119 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Deserialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 120 | #[versionize(SerializableAffineVersions)]
[INFO] [stdout] 121 | pub enum SerializableAffine<F> {
[INFO] [stdout]     |          ------------------ `SerializableAffineVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:119:34
[INFO] [stdout]     |
[INFO] [stdout] 119 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 120 | #[versionize(SerializableAffineVersions)]
[INFO] [stdout] 121 | pub enum SerializableAffine<F> {
[INFO] [stdout]     |          ------------------ `SerializableAffineVersion` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:179:34
[INFO] [stdout]     |
[INFO] [stdout] 179 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 180 | #[versionize(SerializableQuadExtFieldVersions)]
[INFO] [stdout] 181 | pub struct SerializableQuadExtField<F> {
[INFO] [stdout]     |            ------------------------ `SerializableQuadExtFieldVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:179:34
[INFO] [stdout]     |
[INFO] [stdout] 179 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Deserialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 180 | #[versionize(SerializableQuadExtFieldVersions)]
[INFO] [stdout] 181 | pub struct SerializableQuadExtField<F> {
[INFO] [stdout]     |            ------------------------ `SerializableQuadExtFieldVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:179:34
[INFO] [stdout]     |
[INFO] [stdout] 179 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 180 | #[versionize(SerializableQuadExtFieldVersions)]
[INFO] [stdout] 181 | pub struct SerializableQuadExtField<F> {
[INFO] [stdout]     |            ------------------------ `SerializableQuadExtFieldVersion` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:215:34
[INFO] [stdout]     |
[INFO] [stdout] 215 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 216 | #[versionize(SerializableCubicExtFieldVersions)]
[INFO] [stdout] 217 | pub struct SerializableCubicExtField<F> {
[INFO] [stdout]     |            ------------------------- `SerializableCubicExtFieldVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:215:34
[INFO] [stdout]     |
[INFO] [stdout] 215 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Deserialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 216 | #[versionize(SerializableCubicExtFieldVersions)]
[INFO] [stdout] 217 | pub struct SerializableCubicExtField<F> {
[INFO] [stdout]     |            ------------------------- `SerializableCubicExtFieldVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:215:34
[INFO] [stdout]     |
[INFO] [stdout] 215 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 216 | #[versionize(SerializableCubicExtFieldVersions)]
[INFO] [stdout] 217 | pub struct SerializableCubicExtField<F> {
[INFO] [stdout]     |            ------------------------- `SerializableCubicExtFieldVersion` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:291:34
[INFO] [stdout]     |
[INFO] [stdout] 291 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 292 | #[versionize(SerializableGroupElementsVersions)]
[INFO] [stdout] 293 | pub(crate) struct SerializableGroupElements {
[INFO] [stdout]     |                   ------------------------- `SerializableGroupElementsVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:291:34
[INFO] [stdout]     |
[INFO] [stdout] 291 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Deserialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 292 | #[versionize(SerializableGroupElementsVersions)]
[INFO] [stdout] 293 | pub(crate) struct SerializableGroupElements {
[INFO] [stdout]     |                   ------------------------- `SerializableGroupElementsVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:291:34
[INFO] [stdout]     |
[INFO] [stdout] 291 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `SerializableGroupElementsVersion` is not local
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:392:48
[INFO] [stdout]     |
[INFO] [stdout] 392 | #[derive(serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                ^---------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `Serialize` is not local
[INFO] [stdout]     |                                                move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 393 | #[versionize(SerializablePKEv2PublicParamsVersions)]
[INFO] [stdout] 394 | pub struct SerializablePKEv2PublicParams {
[INFO] [stdout]     |            ----------------------------- `SerializablePKEv2PublicParamsVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:392:48
[INFO] [stdout]     |
[INFO] [stdout] 392 | #[derive(serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                ^---------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `Deserialize` is not local
[INFO] [stdout]     |                                                move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 393 | #[versionize(SerializablePKEv2PublicParamsVersions)]
[INFO] [stdout] 394 | pub struct SerializablePKEv2PublicParams {
[INFO] [stdout]     |            ----------------------------- `SerializablePKEv2PublicParamsVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:392:48
[INFO] [stdout]     |
[INFO] [stdout] 392 | #[derive(serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                ^---------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `SerializablePKEv2PublicParamsVersion` is not local
[INFO] [stdout]     |                                                `Serialize` is not local
[INFO] [stdout]     |                                                move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:535:48
[INFO] [stdout]     |
[INFO] [stdout] 535 | #[derive(serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                ^---------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `Serialize` is not local
[INFO] [stdout]     |                                                move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 536 | #[versionize(SerializablePKEv1PublicParamsVersions)]
[INFO] [stdout] 537 | pub struct SerializablePKEv1PublicParams {
[INFO] [stdout]     |            ----------------------------- `SerializablePKEv1PublicParamsVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:535:48
[INFO] [stdout]     |
[INFO] [stdout] 535 | #[derive(serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                ^---------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `Deserialize` is not local
[INFO] [stdout]     |                                                move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 536 | #[versionize(SerializablePKEv1PublicParamsVersions)]
[INFO] [stdout] 537 | pub struct SerializablePKEv1PublicParams {
[INFO] [stdout]     |            ----------------------------- `SerializablePKEv1PublicParamsVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:535:48
[INFO] [stdout]     |
[INFO] [stdout] 535 | #[derive(serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                ^---------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `SerializablePKEv1PublicParamsVersion` is not local
[INFO] [stdout]     |                                                `Serialize` is not local
[INFO] [stdout]     |                                                move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/backward_compatibility/mod.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 14 | pub enum SerializableAffineVersions<F> {
[INFO] [stdout]    |          -------------------------- `SerializableAffineVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 14 | pub enum SerializableAffineVersions<F> {
[INFO] [stdout]    |          -------------------------- `SerializableAffineVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 14 | pub enum SerializableAffineVersions<F> {
[INFO] [stdout]    |          -------------------------- `SerializableAffineVersionsDispatch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 19 | pub enum SerializableFpVersions {
[INFO] [stdout]    |          ---------------------- `SerializableFpVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 19 | pub enum SerializableFpVersions {
[INFO] [stdout]    |          ---------------------- `SerializableFpVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `SerializableFpVersionsDispatch` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 24 | pub enum SerializableQuadExtFieldVersions<F> {
[INFO] [stdout]    |          -------------------------------- `SerializableQuadExtFieldVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 24 | pub enum SerializableQuadExtFieldVersions<F> {
[INFO] [stdout]    |          -------------------------------- `SerializableQuadExtFieldVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 24 | pub enum SerializableQuadExtFieldVersions<F> {
[INFO] [stdout]    |          -------------------------------- `SerializableQuadExtFieldVersionsDispatch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 29 | pub enum SerializableCubicExtFieldVersions<F> {
[INFO] [stdout]    |          --------------------------------- `SerializableCubicExtFieldVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 29 | pub enum SerializableCubicExtFieldVersions<F> {
[INFO] [stdout]    |          --------------------------------- `SerializableCubicExtFieldVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 29 | pub enum SerializableCubicExtFieldVersions<F> {
[INFO] [stdout]    |          --------------------------------- `SerializableCubicExtFieldVersionsDispatch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 38 | pub enum PKEv1ProofVersions<G: Curve> {
[INFO] [stdout]    |          ------------------ `PKEv1ProofVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 38 | pub enum PKEv1ProofVersions<G: Curve> {
[INFO] [stdout]    |          ------------------ `PKEv1ProofVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 38 | pub enum PKEv1ProofVersions<G: Curve> {
[INFO] [stdout]    |          ------------------ `PKEv1ProofVersionsDispatch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 43 | pub enum PKEv2ProofVersions<G: Curve> {
[INFO] [stdout]    |          ------------------ `PKEv2ProofVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 43 | pub enum PKEv2ProofVersions<G: Curve> {
[INFO] [stdout]    |          ------------------ `PKEv2ProofVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 43 | pub enum PKEv2ProofVersions<G: Curve> {
[INFO] [stdout]    |          ------------------ `PKEv2ProofVersionsDispatch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 48 | pub enum PKEv1CompressedProofVersions<G: Curve>
[INFO] [stdout]    |          ---------------------------- `PKEv1CompressedProofVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 48 | pub enum PKEv1CompressedProofVersions<G: Curve>
[INFO] [stdout]    |          ---------------------------- `PKEv1CompressedProofVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 48 | pub enum PKEv1CompressedProofVersions<G: Curve>
[INFO] [stdout]    |          ---------------------------- `PKEv1CompressedProofVersionsDispatch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:56:10
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 57 | pub enum PKEv2CompressedProofVersions<G: Curve>
[INFO] [stdout]    |          ---------------------------- `PKEv2CompressedProofVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:56:10
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 57 | pub enum PKEv2CompressedProofVersions<G: Curve>
[INFO] [stdout]    |          ---------------------------- `PKEv2CompressedProofVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:56:10
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 57 | pub enum PKEv2CompressedProofVersions<G: Curve>
[INFO] [stdout]    |          ---------------------------- `PKEv2CompressedProofVersionsDispatch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:65:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 66 | #[allow(dead_code)]
[INFO] [stdout] 67 | pub(crate) enum GroupElementsVersions<G: Curve> {
[INFO] [stdout]    |                 --------------------- `GroupElementsVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:65:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 66 | #[allow(dead_code)]
[INFO] [stdout] 67 | pub(crate) enum GroupElementsVersions<G: Curve> {
[INFO] [stdout]    |                 --------------------- `GroupElementsVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:65:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 66 | #[allow(dead_code)]
[INFO] [stdout] 67 | pub(crate) enum GroupElementsVersions<G: Curve> {
[INFO] [stdout]    |                 --------------------- `GroupElementsVersionsDispatch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:71:10
[INFO] [stdout]    |
[INFO] [stdout] 71 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 72 | #[allow(dead_code)]
[INFO] [stdout] 73 | pub(crate) enum SerializableGroupElementsVersions {
[INFO] [stdout]    |                 --------------------------------- `SerializableGroupElementsVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:71:10
[INFO] [stdout]    |
[INFO] [stdout] 71 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 72 | #[allow(dead_code)]
[INFO] [stdout] 73 | pub(crate) enum SerializableGroupElementsVersions {
[INFO] [stdout]    |                 --------------------------------- `SerializableGroupElementsVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:71:10
[INFO] [stdout]    |
[INFO] [stdout] 71 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `SerializableGroupElementsVersionsDispatch` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:77:10
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 78 | pub enum SerializablePKEv2PublicParamsVersions {
[INFO] [stdout]    |          ------------------------------------- `SerializablePKEv2PublicParamsVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:77:10
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 78 | pub enum SerializablePKEv2PublicParamsVersions {
[INFO] [stdout]    |          ------------------------------------- `SerializablePKEv2PublicParamsVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:77:10
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `SerializablePKEv2PublicParamsVersionsDispatch` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:82:10
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 83 | pub enum SerializablePKEv1PublicParamsVersions {
[INFO] [stdout]    |          ------------------------------------- `SerializablePKEv1PublicParamsVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:82:10
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 83 | pub enum SerializablePKEv1PublicParamsVersions {
[INFO] [stdout]    |          ------------------------------------- `SerializablePKEv1PublicParamsVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:82:10
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `SerializablePKEv1PublicParamsVersionsDispatch` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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 31.69s
[INFO] running `Command { std: "docker" "inspect" "880dce38de1ae36a50b18d4d47e67f16834b010b76c15c018832d750347fd834", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "880dce38de1ae36a50b18d4d47e67f16834b010b76c15c018832d750347fd834", kill_on_drop: false }`
[INFO] [stdout] 880dce38de1ae36a50b18d4d47e67f16834b010b76c15c018832d750347fd834
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-10-28" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 06e1697f7e0d558968bff0c28de35c3de1331388d5681a7d7e1355a5240234e6
[INFO] running `Command { std: "docker" "start" "-a" "06e1697f7e0d558968bff0c28de35c3de1331388d5681a7d7e1355a5240234e6", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_json v1.0.132
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proofs/mod.rs:82:62
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]    |                                                              ^---------
[INFO] [stdout]    |                                                              |
[INFO] [stdout]    |                                                              `Serialize` is not local
[INFO] [stdout]    |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 88 | pub(crate) struct GroupElements<G: Curve> {
[INFO] [stdout]    |                   ------------- `GroupElementsVersionOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/mod.rs:82:62
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]    |                                                              ^---------
[INFO] [stdout]    |                                                              |
[INFO] [stdout]    |                                                              `Deserialize` is not local
[INFO] [stdout]    |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 88 | pub(crate) struct GroupElements<G: Curve> {
[INFO] [stdout]    |                   ------------- `GroupElementsVersionOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/mod.rs:82:62
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]    |                                                              ^---------
[INFO] [stdout]    |                                                              |
[INFO] [stdout]    |                                                              `Serialize` is not local
[INFO] [stdout]    |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 88 | pub(crate) struct GroupElements<G: Curve> {
[INFO] [stdout]    |                   ------------- `GroupElementsVersion` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke.rs:233:62
[INFO] [stdout]     |
[INFO] [stdout] 233 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                              ^---------
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              `Serialize` is not local
[INFO] [stdout]     |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 239 | pub struct Proof<G: Curve> {
[INFO] [stdout]     |            ----- `ProofVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke.rs:233:62
[INFO] [stdout]     |
[INFO] [stdout] 233 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                              ^---------
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              `Deserialize` is not local
[INFO] [stdout]     |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 239 | pub struct Proof<G: Curve> {
[INFO] [stdout]     |            ----- `ProofVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke.rs:233:62
[INFO] [stdout]     |
[INFO] [stdout] 233 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                              ^---------
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              `Serialize` is not local
[INFO] [stdout]     |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 239 | pub struct Proof<G: Curve> {
[INFO] [stdout]     |            ----- `ProofVersion` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke.rs:251:34
[INFO] [stdout]     |
[INFO] [stdout] 251 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 257 | pub struct CompressedProof<G: Curve>
[INFO] [stdout]     |            --------------- `CompressedProofVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke.rs:251:34
[INFO] [stdout]     |
[INFO] [stdout] 251 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Deserialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 257 | pub struct CompressedProof<G: Curve>
[INFO] [stdout]     |            --------------- `CompressedProofVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke.rs:251:34
[INFO] [stdout]     |
[INFO] [stdout] 251 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 257 | pub struct CompressedProof<G: Curve>
[INFO] [stdout]     |            --------------- `CompressedProofVersion` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke_v2.rs:276:62
[INFO] [stdout]     |
[INFO] [stdout] 276 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                              ^---------
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              `Serialize` is not local
[INFO] [stdout]     |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 282 | pub struct Proof<G: Curve> {
[INFO] [stdout]     |            ----- `ProofVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke_v2.rs:276:62
[INFO] [stdout]     |
[INFO] [stdout] 276 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                              ^---------
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              `Deserialize` is not local
[INFO] [stdout]     |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 282 | pub struct Proof<G: Curve> {
[INFO] [stdout]     |            ----- `ProofVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke_v2.rs:276:62
[INFO] [stdout]     |
[INFO] [stdout] 276 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                              ^---------
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              `Serialize` is not local
[INFO] [stdout]     |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 282 | pub struct Proof<G: Curve> {
[INFO] [stdout]     |            ----- `ProofVersion` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke_v2.rs:302:34
[INFO] [stdout]     |
[INFO] [stdout] 302 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 308 | pub struct CompressedProof<G: Curve>
[INFO] [stdout]     |            --------------- `CompressedProofVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke_v2.rs:302:34
[INFO] [stdout]     |
[INFO] [stdout] 302 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Deserialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 308 | pub struct CompressedProof<G: Curve>
[INFO] [stdout]     |            --------------- `CompressedProofVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke_v2.rs:302:34
[INFO] [stdout]     |
[INFO] [stdout] 302 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 308 | pub struct CompressedProof<G: Curve>
[INFO] [stdout]     |            --------------- `CompressedProofVersion` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:58:34
[INFO] [stdout]    |
[INFO] [stdout] 58 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]    |                                  ^---------
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `Serialize` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 59 | #[versionize(SerializableFpVersions)]
[INFO] [stdout] 60 | pub struct SerializableFp {
[INFO] [stdout]    |            -------------- `SerializableFpVersionOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:58:34
[INFO] [stdout]    |
[INFO] [stdout] 58 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]    |                                  ^---------
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `Deserialize` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 59 | #[versionize(SerializableFpVersions)]
[INFO] [stdout] 60 | pub struct SerializableFp {
[INFO] [stdout]    |            -------------- `SerializableFpVersionOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:58:34
[INFO] [stdout]    |
[INFO] [stdout] 58 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]    |                                  ^---------
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `SerializableFpVersion` is not local
[INFO] [stdout]    |                                  `Serialize` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:119:34
[INFO] [stdout]     |
[INFO] [stdout] 119 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 120 | #[versionize(SerializableAffineVersions)]
[INFO] [stdout] 121 | pub enum SerializableAffine<F> {
[INFO] [stdout]     |          ------------------ `SerializableAffineVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:119:34
[INFO] [stdout]     |
[INFO] [stdout] 119 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Deserialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 120 | #[versionize(SerializableAffineVersions)]
[INFO] [stdout] 121 | pub enum SerializableAffine<F> {
[INFO] [stdout]     |          ------------------ `SerializableAffineVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:119:34
[INFO] [stdout]     |
[INFO] [stdout] 119 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 120 | #[versionize(SerializableAffineVersions)]
[INFO] [stdout] 121 | pub enum SerializableAffine<F> {
[INFO] [stdout]     |          ------------------ `SerializableAffineVersion` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:179:34
[INFO] [stdout]     |
[INFO] [stdout] 179 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 180 | #[versionize(SerializableQuadExtFieldVersions)]
[INFO] [stdout] 181 | pub struct SerializableQuadExtField<F> {
[INFO] [stdout]     |            ------------------------ `SerializableQuadExtFieldVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:179:34
[INFO] [stdout]     |
[INFO] [stdout] 179 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Deserialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 180 | #[versionize(SerializableQuadExtFieldVersions)]
[INFO] [stdout] 181 | pub struct SerializableQuadExtField<F> {
[INFO] [stdout]     |            ------------------------ `SerializableQuadExtFieldVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:179:34
[INFO] [stdout]     |
[INFO] [stdout] 179 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 180 | #[versionize(SerializableQuadExtFieldVersions)]
[INFO] [stdout] 181 | pub struct SerializableQuadExtField<F> {
[INFO] [stdout]     |            ------------------------ `SerializableQuadExtFieldVersion` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:215:34
[INFO] [stdout]     |
[INFO] [stdout] 215 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 216 | #[versionize(SerializableCubicExtFieldVersions)]
[INFO] [stdout] 217 | pub struct SerializableCubicExtField<F> {
[INFO] [stdout]     |            ------------------------- `SerializableCubicExtFieldVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:215:34
[INFO] [stdout]     |
[INFO] [stdout] 215 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Deserialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 216 | #[versionize(SerializableCubicExtFieldVersions)]
[INFO] [stdout] 217 | pub struct SerializableCubicExtField<F> {
[INFO] [stdout]     |            ------------------------- `SerializableCubicExtFieldVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:215:34
[INFO] [stdout]     |
[INFO] [stdout] 215 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 216 | #[versionize(SerializableCubicExtFieldVersions)]
[INFO] [stdout] 217 | pub struct SerializableCubicExtField<F> {
[INFO] [stdout]     |            ------------------------- `SerializableCubicExtFieldVersion` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:291:34
[INFO] [stdout]     |
[INFO] [stdout] 291 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 292 | #[versionize(SerializableGroupElementsVersions)]
[INFO] [stdout] 293 | pub(crate) struct SerializableGroupElements {
[INFO] [stdout]     |                   ------------------------- `SerializableGroupElementsVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:291:34
[INFO] [stdout]     |
[INFO] [stdout] 291 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Deserialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 292 | #[versionize(SerializableGroupElementsVersions)]
[INFO] [stdout] 293 | pub(crate) struct SerializableGroupElements {
[INFO] [stdout]     |                   ------------------------- `SerializableGroupElementsVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:291:34
[INFO] [stdout]     |
[INFO] [stdout] 291 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `SerializableGroupElementsVersion` is not local
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:392:48
[INFO] [stdout]     |
[INFO] [stdout] 392 | #[derive(serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                ^---------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `Serialize` is not local
[INFO] [stdout]     |                                                move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 393 | #[versionize(SerializablePKEv2PublicParamsVersions)]
[INFO] [stdout] 394 | pub struct SerializablePKEv2PublicParams {
[INFO] [stdout]     |            ----------------------------- `SerializablePKEv2PublicParamsVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:392:48
[INFO] [stdout]     |
[INFO] [stdout] 392 | #[derive(serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                ^---------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `Deserialize` is not local
[INFO] [stdout]     |                                                move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 393 | #[versionize(SerializablePKEv2PublicParamsVersions)]
[INFO] [stdout] 394 | pub struct SerializablePKEv2PublicParams {
[INFO] [stdout]     |            ----------------------------- `SerializablePKEv2PublicParamsVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:392:48
[INFO] [stdout]     |
[INFO] [stdout] 392 | #[derive(serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                ^---------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `SerializablePKEv2PublicParamsVersion` is not local
[INFO] [stdout]     |                                                `Serialize` is not local
[INFO] [stdout]     |                                                move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:535:48
[INFO] [stdout]     |
[INFO] [stdout] 535 | #[derive(serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                ^---------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `Serialize` is not local
[INFO] [stdout]     |                                                move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 536 | #[versionize(SerializablePKEv1PublicParamsVersions)]
[INFO] [stdout] 537 | pub struct SerializablePKEv1PublicParams {
[INFO] [stdout]     |            ----------------------------- `SerializablePKEv1PublicParamsVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:535:48
[INFO] [stdout]     |
[INFO] [stdout] 535 | #[derive(serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                ^---------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `Deserialize` is not local
[INFO] [stdout]     |                                                move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 536 | #[versionize(SerializablePKEv1PublicParamsVersions)]
[INFO] [stdout] 537 | pub struct SerializablePKEv1PublicParams {
[INFO] [stdout]     |            ----------------------------- `SerializablePKEv1PublicParamsVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:535:48
[INFO] [stdout]     |
[INFO] [stdout] 535 | #[derive(serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                ^---------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `SerializablePKEv1PublicParamsVersion` is not local
[INFO] [stdout]     |                                                `Serialize` is not local
[INFO] [stdout]     |                                                move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/backward_compatibility/mod.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 14 | pub enum SerializableAffineVersions<F> {
[INFO] [stdout]    |          -------------------------- `SerializableAffineVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 14 | pub enum SerializableAffineVersions<F> {
[INFO] [stdout]    |          -------------------------- `SerializableAffineVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 14 | pub enum SerializableAffineVersions<F> {
[INFO] [stdout]    |          -------------------------- `SerializableAffineVersionsDispatch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 19 | pub enum SerializableFpVersions {
[INFO] [stdout]    |          ---------------------- `SerializableFpVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 19 | pub enum SerializableFpVersions {
[INFO] [stdout]    |          ---------------------- `SerializableFpVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `SerializableFpVersionsDispatch` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 24 | pub enum SerializableQuadExtFieldVersions<F> {
[INFO] [stdout]    |          -------------------------------- `SerializableQuadExtFieldVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 24 | pub enum SerializableQuadExtFieldVersions<F> {
[INFO] [stdout]    |          -------------------------------- `SerializableQuadExtFieldVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 24 | pub enum SerializableQuadExtFieldVersions<F> {
[INFO] [stdout]    |          -------------------------------- `SerializableQuadExtFieldVersionsDispatch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 29 | pub enum SerializableCubicExtFieldVersions<F> {
[INFO] [stdout]    |          --------------------------------- `SerializableCubicExtFieldVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 29 | pub enum SerializableCubicExtFieldVersions<F> {
[INFO] [stdout]    |          --------------------------------- `SerializableCubicExtFieldVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 29 | pub enum SerializableCubicExtFieldVersions<F> {
[INFO] [stdout]    |          --------------------------------- `SerializableCubicExtFieldVersionsDispatch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 38 | pub enum PKEv1ProofVersions<G: Curve> {
[INFO] [stdout]    |          ------------------ `PKEv1ProofVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 38 | pub enum PKEv1ProofVersions<G: Curve> {
[INFO] [stdout]    |          ------------------ `PKEv1ProofVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 38 | pub enum PKEv1ProofVersions<G: Curve> {
[INFO] [stdout]    |          ------------------ `PKEv1ProofVersionsDispatch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 43 | pub enum PKEv2ProofVersions<G: Curve> {
[INFO] [stdout]    |          ------------------ `PKEv2ProofVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 43 | pub enum PKEv2ProofVersions<G: Curve> {
[INFO] [stdout]    |          ------------------ `PKEv2ProofVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 43 | pub enum PKEv2ProofVersions<G: Curve> {
[INFO] [stdout]    |          ------------------ `PKEv2ProofVersionsDispatch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 48 | pub enum PKEv1CompressedProofVersions<G: Curve>
[INFO] [stdout]    |          ---------------------------- `PKEv1CompressedProofVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 48 | pub enum PKEv1CompressedProofVersions<G: Curve>
[INFO] [stdout]    |          ---------------------------- `PKEv1CompressedProofVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 48 | pub enum PKEv1CompressedProofVersions<G: Curve>
[INFO] [stdout]    |          ---------------------------- `PKEv1CompressedProofVersionsDispatch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:56:10
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 57 | pub enum PKEv2CompressedProofVersions<G: Curve>
[INFO] [stdout]    |          ---------------------------- `PKEv2CompressedProofVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:56:10
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 57 | pub enum PKEv2CompressedProofVersions<G: Curve>
[INFO] [stdout]    |          ---------------------------- `PKEv2CompressedProofVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:56:10
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 57 | pub enum PKEv2CompressedProofVersions<G: Curve>
[INFO] [stdout]    |          ---------------------------- `PKEv2CompressedProofVersionsDispatch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:65:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 66 | #[allow(dead_code)]
[INFO] [stdout] 67 | pub(crate) enum GroupElementsVersions<G: Curve> {
[INFO] [stdout]    |                 --------------------- `GroupElementsVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:65:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 66 | #[allow(dead_code)]
[INFO] [stdout] 67 | pub(crate) enum GroupElementsVersions<G: Curve> {
[INFO] [stdout]    |                 --------------------- `GroupElementsVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:65:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 66 | #[allow(dead_code)]
[INFO] [stdout] 67 | pub(crate) enum GroupElementsVersions<G: Curve> {
[INFO] [stdout]    |                 --------------------- `GroupElementsVersionsDispatch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:71:10
[INFO] [stdout]    |
[INFO] [stdout] 71 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 72 | #[allow(dead_code)]
[INFO] [stdout] 73 | pub(crate) enum SerializableGroupElementsVersions {
[INFO] [stdout]    |                 --------------------------------- `SerializableGroupElementsVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:71:10
[INFO] [stdout]    |
[INFO] [stdout] 71 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 72 | #[allow(dead_code)]
[INFO] [stdout] 73 | pub(crate) enum SerializableGroupElementsVersions {
[INFO] [stdout]    |                 --------------------------------- `SerializableGroupElementsVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:71:10
[INFO] [stdout]    |
[INFO] [stdout] 71 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `SerializableGroupElementsVersionsDispatch` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:77:10
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 78 | pub enum SerializablePKEv2PublicParamsVersions {
[INFO] [stdout]    |          ------------------------------------- `SerializablePKEv2PublicParamsVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:77:10
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 78 | pub enum SerializablePKEv2PublicParamsVersions {
[INFO] [stdout]    |          ------------------------------------- `SerializablePKEv2PublicParamsVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:77:10
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `SerializablePKEv2PublicParamsVersionsDispatch` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:82:10
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 83 | pub enum SerializablePKEv1PublicParamsVersions {
[INFO] [stdout]    |          ------------------------------------- `SerializablePKEv1PublicParamsVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:82:10
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 83 | pub enum SerializablePKEv1PublicParamsVersions {
[INFO] [stdout]    |          ------------------------------------- `SerializablePKEv1PublicParamsVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:82:10
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `SerializablePKEv1PublicParamsVersionsDispatch` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tfhe-zk-pok v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proofs/mod.rs:82:62
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]    |                                                              ^---------
[INFO] [stdout]    |                                                              |
[INFO] [stdout]    |                                                              `Serialize` is not local
[INFO] [stdout]    |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 88 | pub(crate) struct GroupElements<G: Curve> {
[INFO] [stdout]    |                   ------------- `GroupElementsVersionOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/mod.rs:82:62
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]    |                                                              ^---------
[INFO] [stdout]    |                                                              |
[INFO] [stdout]    |                                                              `Deserialize` is not local
[INFO] [stdout]    |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 88 | pub(crate) struct GroupElements<G: Curve> {
[INFO] [stdout]    |                   ------------- `GroupElementsVersionOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/mod.rs:82:62
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]    |                                                              ^---------
[INFO] [stdout]    |                                                              |
[INFO] [stdout]    |                                                              `Serialize` is not local
[INFO] [stdout]    |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 88 | pub(crate) struct GroupElements<G: Curve> {
[INFO] [stdout]    |                   ------------- `GroupElementsVersion` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke.rs:233:62
[INFO] [stdout]     |
[INFO] [stdout] 233 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                              ^---------
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              `Serialize` is not local
[INFO] [stdout]     |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 239 | pub struct Proof<G: Curve> {
[INFO] [stdout]     |            ----- `ProofVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke.rs:233:62
[INFO] [stdout]     |
[INFO] [stdout] 233 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                              ^---------
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              `Deserialize` is not local
[INFO] [stdout]     |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 239 | pub struct Proof<G: Curve> {
[INFO] [stdout]     |            ----- `ProofVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke.rs:233:62
[INFO] [stdout]     |
[INFO] [stdout] 233 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                              ^---------
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              `Serialize` is not local
[INFO] [stdout]     |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 239 | pub struct Proof<G: Curve> {
[INFO] [stdout]     |            ----- `ProofVersion` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke.rs:251:34
[INFO] [stdout]     |
[INFO] [stdout] 251 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 257 | pub struct CompressedProof<G: Curve>
[INFO] [stdout]     |            --------------- `CompressedProofVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke.rs:251:34
[INFO] [stdout]     |
[INFO] [stdout] 251 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Deserialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 257 | pub struct CompressedProof<G: Curve>
[INFO] [stdout]     |            --------------- `CompressedProofVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke.rs:251:34
[INFO] [stdout]     |
[INFO] [stdout] 251 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 257 | pub struct CompressedProof<G: Curve>
[INFO] [stdout]     |            --------------- `CompressedProofVersion` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke_v2.rs:276:62
[INFO] [stdout]     |
[INFO] [stdout] 276 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                              ^---------
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              `Serialize` is not local
[INFO] [stdout]     |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 282 | pub struct Proof<G: Curve> {
[INFO] [stdout]     |            ----- `ProofVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke_v2.rs:276:62
[INFO] [stdout]     |
[INFO] [stdout] 276 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                              ^---------
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              `Deserialize` is not local
[INFO] [stdout]     |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 282 | pub struct Proof<G: Curve> {
[INFO] [stdout]     |            ----- `ProofVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke_v2.rs:276:62
[INFO] [stdout]     |
[INFO] [stdout] 276 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                              ^---------
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              `Serialize` is not local
[INFO] [stdout]     |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 282 | pub struct Proof<G: Curve> {
[INFO] [stdout]     |            ----- `ProofVersion` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke_v2.rs:302:34
[INFO] [stdout]     |
[INFO] [stdout] 302 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 308 | pub struct CompressedProof<G: Curve>
[INFO] [stdout]     |            --------------- `CompressedProofVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke_v2.rs:302:34
[INFO] [stdout]     |
[INFO] [stdout] 302 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Deserialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 308 | pub struct CompressedProof<G: Curve>
[INFO] [stdout]     |            --------------- `CompressedProofVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke_v2.rs:302:34
[INFO] [stdout]     |
[INFO] [stdout] 302 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] ...
[INFO] [stdout] 308 | pub struct CompressedProof<G: Curve>
[INFO] [stdout]     |            --------------- `CompressedProofVersion` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:58:34
[INFO] [stdout]    |
[INFO] [stdout] 58 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]    |                                  ^---------
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `Serialize` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 59 | #[versionize(SerializableFpVersions)]
[INFO] [stdout] 60 | pub struct SerializableFp {
[INFO] [stdout]    |            -------------- `SerializableFpVersionOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:58:34
[INFO] [stdout]    |
[INFO] [stdout] 58 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]    |                                  ^---------
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `Deserialize` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 59 | #[versionize(SerializableFpVersions)]
[INFO] [stdout] 60 | pub struct SerializableFp {
[INFO] [stdout]    |            -------------- `SerializableFpVersionOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:58:34
[INFO] [stdout]    |
[INFO] [stdout] 58 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]    |                                  ^---------
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `SerializableFpVersion` is not local
[INFO] [stdout]    |                                  `Serialize` is not local
[INFO] [stdout]    |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:119:34
[INFO] [stdout]     |
[INFO] [stdout] 119 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 120 | #[versionize(SerializableAffineVersions)]
[INFO] [stdout] 121 | pub enum SerializableAffine<F> {
[INFO] [stdout]     |          ------------------ `SerializableAffineVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:119:34
[INFO] [stdout]     |
[INFO] [stdout] 119 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Deserialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 120 | #[versionize(SerializableAffineVersions)]
[INFO] [stdout] 121 | pub enum SerializableAffine<F> {
[INFO] [stdout]     |          ------------------ `SerializableAffineVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:119:34
[INFO] [stdout]     |
[INFO] [stdout] 119 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 120 | #[versionize(SerializableAffineVersions)]
[INFO] [stdout] 121 | pub enum SerializableAffine<F> {
[INFO] [stdout]     |          ------------------ `SerializableAffineVersion` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:179:34
[INFO] [stdout]     |
[INFO] [stdout] 179 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 180 | #[versionize(SerializableQuadExtFieldVersions)]
[INFO] [stdout] 181 | pub struct SerializableQuadExtField<F> {
[INFO] [stdout]     |            ------------------------ `SerializableQuadExtFieldVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:179:34
[INFO] [stdout]     |
[INFO] [stdout] 179 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Deserialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 180 | #[versionize(SerializableQuadExtFieldVersions)]
[INFO] [stdout] 181 | pub struct SerializableQuadExtField<F> {
[INFO] [stdout]     |            ------------------------ `SerializableQuadExtFieldVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:179:34
[INFO] [stdout]     |
[INFO] [stdout] 179 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 180 | #[versionize(SerializableQuadExtFieldVersions)]
[INFO] [stdout] 181 | pub struct SerializableQuadExtField<F> {
[INFO] [stdout]     |            ------------------------ `SerializableQuadExtFieldVersion` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:215:34
[INFO] [stdout]     |
[INFO] [stdout] 215 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 216 | #[versionize(SerializableCubicExtFieldVersions)]
[INFO] [stdout] 217 | pub struct SerializableCubicExtField<F> {
[INFO] [stdout]     |            ------------------------- `SerializableCubicExtFieldVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:215:34
[INFO] [stdout]     |
[INFO] [stdout] 215 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Deserialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 216 | #[versionize(SerializableCubicExtFieldVersions)]
[INFO] [stdout] 217 | pub struct SerializableCubicExtField<F> {
[INFO] [stdout]     |            ------------------------- `SerializableCubicExtFieldVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:215:34
[INFO] [stdout]     |
[INFO] [stdout] 215 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 216 | #[versionize(SerializableCubicExtFieldVersions)]
[INFO] [stdout] 217 | pub struct SerializableCubicExtField<F> {
[INFO] [stdout]     |            ------------------------- `SerializableCubicExtFieldVersion` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:291:34
[INFO] [stdout]     |
[INFO] [stdout] 291 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 292 | #[versionize(SerializableGroupElementsVersions)]
[INFO] [stdout] 293 | pub(crate) struct SerializableGroupElements {
[INFO] [stdout]     |                   ------------------------- `SerializableGroupElementsVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:291:34
[INFO] [stdout]     |
[INFO] [stdout] 291 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `Deserialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 292 | #[versionize(SerializableGroupElementsVersions)]
[INFO] [stdout] 293 | pub(crate) struct SerializableGroupElements {
[INFO] [stdout]     |                   ------------------------- `SerializableGroupElementsVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:291:34
[INFO] [stdout]     |
[INFO] [stdout] 291 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stdout]     |                                  ^---------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `SerializableGroupElementsVersion` is not local
[INFO] [stdout]     |                                  `Serialize` is not local
[INFO] [stdout]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:392:48
[INFO] [stdout]     |
[INFO] [stdout] 392 | #[derive(serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                ^---------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `Serialize` is not local
[INFO] [stdout]     |                                                move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 393 | #[versionize(SerializablePKEv2PublicParamsVersions)]
[INFO] [stdout] 394 | pub struct SerializablePKEv2PublicParams {
[INFO] [stdout]     |            ----------------------------- `SerializablePKEv2PublicParamsVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:392:48
[INFO] [stdout]     |
[INFO] [stdout] 392 | #[derive(serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                ^---------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `Deserialize` is not local
[INFO] [stdout]     |                                                move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 393 | #[versionize(SerializablePKEv2PublicParamsVersions)]
[INFO] [stdout] 394 | pub struct SerializablePKEv2PublicParams {
[INFO] [stdout]     |            ----------------------------- `SerializablePKEv2PublicParamsVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:392:48
[INFO] [stdout]     |
[INFO] [stdout] 392 | #[derive(serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                ^---------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `SerializablePKEv2PublicParamsVersion` is not local
[INFO] [stdout]     |                                                `Serialize` is not local
[INFO] [stdout]     |                                                move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:535:48
[INFO] [stdout]     |
[INFO] [stdout] 535 | #[derive(serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                ^---------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `Serialize` is not local
[INFO] [stdout]     |                                                move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 536 | #[versionize(SerializablePKEv1PublicParamsVersions)]
[INFO] [stdout] 537 | pub struct SerializablePKEv1PublicParams {
[INFO] [stdout]     |            ----------------------------- `SerializablePKEv1PublicParamsVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:535:48
[INFO] [stdout]     |
[INFO] [stdout] 535 | #[derive(serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                ^---------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `Deserialize` is not local
[INFO] [stdout]     |                                                move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 536 | #[versionize(SerializablePKEv1PublicParamsVersions)]
[INFO] [stdout] 537 | pub struct SerializablePKEv1PublicParams {
[INFO] [stdout]     |            ----------------------------- `SerializablePKEv1PublicParamsVersionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:535:48
[INFO] [stdout]     |
[INFO] [stdout] 535 | #[derive(serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stdout]     |                                                ^---------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `SerializablePKEv1PublicParamsVersion` is not local
[INFO] [stdout]     |                                                `Serialize` is not local
[INFO] [stdout]     |                                                move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/backward_compatibility/mod.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 14 | pub enum SerializableAffineVersions<F> {
[INFO] [stdout]    |          -------------------------- `SerializableAffineVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 14 | pub enum SerializableAffineVersions<F> {
[INFO] [stdout]    |          -------------------------- `SerializableAffineVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 14 | pub enum SerializableAffineVersions<F> {
[INFO] [stdout]    |          -------------------------- `SerializableAffineVersionsDispatch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 19 | pub enum SerializableFpVersions {
[INFO] [stdout]    |          ---------------------- `SerializableFpVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 19 | pub enum SerializableFpVersions {
[INFO] [stdout]    |          ---------------------- `SerializableFpVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `SerializableFpVersionsDispatch` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 24 | pub enum SerializableQuadExtFieldVersions<F> {
[INFO] [stdout]    |          -------------------------------- `SerializableQuadExtFieldVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 24 | pub enum SerializableQuadExtFieldVersions<F> {
[INFO] [stdout]    |          -------------------------------- `SerializableQuadExtFieldVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 24 | pub enum SerializableQuadExtFieldVersions<F> {
[INFO] [stdout]    |          -------------------------------- `SerializableQuadExtFieldVersionsDispatch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 29 | pub enum SerializableCubicExtFieldVersions<F> {
[INFO] [stdout]    |          --------------------------------- `SerializableCubicExtFieldVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 29 | pub enum SerializableCubicExtFieldVersions<F> {
[INFO] [stdout]    |          --------------------------------- `SerializableCubicExtFieldVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 29 | pub enum SerializableCubicExtFieldVersions<F> {
[INFO] [stdout]    |          --------------------------------- `SerializableCubicExtFieldVersionsDispatch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 38 | pub enum PKEv1ProofVersions<G: Curve> {
[INFO] [stdout]    |          ------------------ `PKEv1ProofVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 38 | pub enum PKEv1ProofVersions<G: Curve> {
[INFO] [stdout]    |          ------------------ `PKEv1ProofVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 38 | pub enum PKEv1ProofVersions<G: Curve> {
[INFO] [stdout]    |          ------------------ `PKEv1ProofVersionsDispatch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 43 | pub enum PKEv2ProofVersions<G: Curve> {
[INFO] [stdout]    |          ------------------ `PKEv2ProofVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 43 | pub enum PKEv2ProofVersions<G: Curve> {
[INFO] [stdout]    |          ------------------ `PKEv2ProofVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 43 | pub enum PKEv2ProofVersions<G: Curve> {
[INFO] [stdout]    |          ------------------ `PKEv2ProofVersionsDispatch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 48 | pub enum PKEv1CompressedProofVersions<G: Curve>
[INFO] [stdout]    |          ---------------------------- `PKEv1CompressedProofVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 48 | pub enum PKEv1CompressedProofVersions<G: Curve>
[INFO] [stdout]    |          ---------------------------- `PKEv1CompressedProofVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 48 | pub enum PKEv1CompressedProofVersions<G: Curve>
[INFO] [stdout]    |          ---------------------------- `PKEv1CompressedProofVersionsDispatch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:56:10
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 57 | pub enum PKEv2CompressedProofVersions<G: Curve>
[INFO] [stdout]    |          ---------------------------- `PKEv2CompressedProofVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:56:10
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 57 | pub enum PKEv2CompressedProofVersions<G: Curve>
[INFO] [stdout]    |          ---------------------------- `PKEv2CompressedProofVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:56:10
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 57 | pub enum PKEv2CompressedProofVersions<G: Curve>
[INFO] [stdout]    |          ---------------------------- `PKEv2CompressedProofVersionsDispatch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:65:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 66 | #[allow(dead_code)]
[INFO] [stdout] 67 | pub(crate) enum GroupElementsVersions<G: Curve> {
[INFO] [stdout]    |                 --------------------- `GroupElementsVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:65:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 66 | #[allow(dead_code)]
[INFO] [stdout] 67 | pub(crate) enum GroupElementsVersions<G: Curve> {
[INFO] [stdout]    |                 --------------------- `GroupElementsVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:65:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 66 | #[allow(dead_code)]
[INFO] [stdout] 67 | pub(crate) enum GroupElementsVersions<G: Curve> {
[INFO] [stdout]    |                 --------------------- `GroupElementsVersionsDispatch` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:71:10
[INFO] [stdout]    |
[INFO] [stdout] 71 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 72 | #[allow(dead_code)]
[INFO] [stdout] 73 | pub(crate) enum SerializableGroupElementsVersions {
[INFO] [stdout]    |                 --------------------------------- `SerializableGroupElementsVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:71:10
[INFO] [stdout]    |
[INFO] [stdout] 71 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 72 | #[allow(dead_code)]
[INFO] [stdout] 73 | pub(crate) enum SerializableGroupElementsVersions {
[INFO] [stdout]    |                 --------------------------------- `SerializableGroupElementsVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:71:10
[INFO] [stdout]    |
[INFO] [stdout] 71 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `SerializableGroupElementsVersionsDispatch` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:77:10
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 78 | pub enum SerializablePKEv2PublicParamsVersions {
[INFO] [stdout]    |          ------------------------------------- `SerializablePKEv2PublicParamsVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:77:10
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 78 | pub enum SerializablePKEv2PublicParamsVersions {
[INFO] [stdout]    |          ------------------------------------- `SerializablePKEv2PublicParamsVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:77:10
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `SerializablePKEv2PublicParamsVersionsDispatch` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:82:10
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 83 | pub enum SerializablePKEv1PublicParamsVersions {
[INFO] [stdout]    |          ------------------------------------- `SerializablePKEv1PublicParamsVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:82:10
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout] 83 | pub enum SerializablePKEv1PublicParamsVersions {
[INFO] [stdout]    |          ------------------------------------- `SerializablePKEv1PublicParamsVersionsDispatchOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:82:10
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(VersionsDispatch)]
[INFO] [stdout]    |          ^---------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `SerializablePKEv1PublicParamsVersionsDispatch` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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.54s
[INFO] running `Command { std: "docker" "inspect" "06e1697f7e0d558968bff0c28de35c3de1331388d5681a7d7e1355a5240234e6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "06e1697f7e0d558968bff0c28de35c3de1331388d5681a7d7e1355a5240234e6", kill_on_drop: false }`
[INFO] [stdout] 06e1697f7e0d558968bff0c28de35c3de1331388d5681a7d7e1355a5240234e6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-10-28" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 59e4025b216e64aaa938d2b630a1b61fd8ac14c8c2a655e43d054441eba5211e
[INFO] running `Command { std: "docker" "start" "-a" "59e4025b216e64aaa938d2b630a1b61fd8ac14c8c2a655e43d054441eba5211e", kill_on_drop: false }`
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proofs/mod.rs:82:62
[INFO] [stderr]    |
[INFO] [stderr] 82 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stderr]    |                                                              ^---------
[INFO] [stderr]    |                                                              |
[INFO] [stderr]    |                                                              `Serialize` is not local
[INFO] [stderr]    |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] ...
[INFO] [stderr] 88 | pub(crate) struct GroupElements<G: Curve> {
[INFO] [stderr]    |                   ------------- `GroupElementsVersionOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/mod.rs:82:62
[INFO] [stderr]    |
[INFO] [stderr] 82 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stderr]    |                                                              ^---------
[INFO] [stderr]    |                                                              |
[INFO] [stderr]    |                                                              `Deserialize` is not local
[INFO] [stderr]    |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] ...
[INFO] [stderr] 88 | pub(crate) struct GroupElements<G: Curve> {
[INFO] [stderr]    |                   ------------- `GroupElementsVersionOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/mod.rs:82:62
[INFO] [stderr]    |
[INFO] [stderr] 82 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stderr]    |                                                              ^---------
[INFO] [stderr]    |                                                              |
[INFO] [stderr]    |                                                              `Serialize` is not local
[INFO] [stderr]    |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] ...
[INFO] [stderr] 88 | pub(crate) struct GroupElements<G: Curve> {
[INFO] [stderr]    |                   ------------- `GroupElementsVersion` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke.rs:233:62
[INFO] [stderr]     |
[INFO] [stderr] 233 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stderr]     |                                                              ^---------
[INFO] [stderr]     |                                                              |
[INFO] [stderr]     |                                                              `Serialize` is not local
[INFO] [stderr]     |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] ...
[INFO] [stderr] 239 | pub struct Proof<G: Curve> {
[INFO] [stderr]     |            ----- `ProofVersionOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke.rs:233:62
[INFO] [stderr]     |
[INFO] [stderr] 233 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stderr]     |                                                              ^---------
[INFO] [stderr]     |                                                              |
[INFO] [stderr]     |                                                              `Deserialize` is not local
[INFO] [stderr]     |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] ...
[INFO] [stderr] 239 | pub struct Proof<G: Curve> {
[INFO] [stderr]     |            ----- `ProofVersionOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke.rs:233:62
[INFO] [stderr]     |
[INFO] [stderr] 233 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stderr]     |                                                              ^---------
[INFO] [stderr]     |                                                              |
[INFO] [stderr]     |                                                              `Serialize` is not local
[INFO] [stderr]     |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] ...
[INFO] [stderr] 239 | pub struct Proof<G: Curve> {
[INFO] [stderr]     |            ----- `ProofVersion` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke.rs:251:34
[INFO] [stderr]     |
[INFO] [stderr] 251 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stderr]     |                                  ^---------
[INFO] [stderr]     |                                  |
[INFO] [stderr]     |                                  `Serialize` is not local
[INFO] [stderr]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] ...
[INFO] [stderr] 257 | pub struct CompressedProof<G: Curve>
[INFO] [stderr]     |            --------------- `CompressedProofVersionOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke.rs:251:34
[INFO] [stderr]     |
[INFO] [stderr] 251 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stderr]     |                                  ^---------
[INFO] [stderr]     |                                  |
[INFO] [stderr]     |                                  `Deserialize` is not local
[INFO] [stderr]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] ...
[INFO] [stderr] 257 | pub struct CompressedProof<G: Curve>
[INFO] [stderr]     |            --------------- `CompressedProofVersionOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke.rs:251:34
[INFO] [stderr]     |
[INFO] [stderr] 251 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stderr]     |                                  ^---------
[INFO] [stderr]     |                                  |
[INFO] [stderr]     |                                  `Serialize` is not local
[INFO] [stderr]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] ...
[INFO] [stderr] 257 | pub struct CompressedProof<G: Curve>
[INFO] [stderr]     |            --------------- `CompressedProofVersion` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke_v2.rs:276:62
[INFO] [stderr]     |
[INFO] [stderr] 276 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stderr]     |                                                              ^---------
[INFO] [stderr]     |                                                              |
[INFO] [stderr]     |                                                              `Serialize` is not local
[INFO] [stderr]     |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] ...
[INFO] [stderr] 282 | pub struct Proof<G: Curve> {
[INFO] [stderr]     |            ----- `ProofVersionOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke_v2.rs:276:62
[INFO] [stderr]     |
[INFO] [stderr] 276 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stderr]     |                                                              ^---------
[INFO] [stderr]     |                                                              |
[INFO] [stderr]     |                                                              `Deserialize` is not local
[INFO] [stderr]     |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] ...
[INFO] [stderr] 282 | pub struct Proof<G: Curve> {
[INFO] [stderr]     |            ----- `ProofVersionOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke_v2.rs:276:62
[INFO] [stderr]     |
[INFO] [stderr] 276 | #[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stderr]     |                                                              ^---------
[INFO] [stderr]     |                                                              |
[INFO] [stderr]     |                                                              `Serialize` is not local
[INFO] [stderr]     |                                                              move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] ...
[INFO] [stderr] 282 | pub struct Proof<G: Curve> {
[INFO] [stderr]     |            ----- `ProofVersion` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke_v2.rs:302:34
[INFO] [stderr]     |
[INFO] [stderr] 302 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stderr]     |                                  ^---------
[INFO] [stderr]     |                                  |
[INFO] [stderr]     |                                  `Serialize` is not local
[INFO] [stderr]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] ...
[INFO] [stderr] 308 | pub struct CompressedProof<G: Curve>
[INFO] [stderr]     |            --------------- `CompressedProofVersionOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke_v2.rs:302:34
[INFO] [stderr]     |
[INFO] [stderr] 302 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stderr]     |                                  ^---------
[INFO] [stderr]     |                                  |
[INFO] [stderr]     |                                  `Deserialize` is not local
[INFO] [stderr]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] ...
[INFO] [stderr] 308 | pub struct CompressedProof<G: Curve>
[INFO] [stderr]     |            --------------- `CompressedProofVersionOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/proofs/pke_v2.rs:302:34
[INFO] [stderr]     |
[INFO] [stderr] 302 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stderr]     |                                  ^---------
[INFO] [stderr]     |                                  |
[INFO] [stderr]     |                                  `Serialize` is not local
[INFO] [stderr]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] ...
[INFO] [stderr] 308 | pub struct CompressedProof<G: Curve>
[INFO] [stderr]     |            --------------- `CompressedProofVersion` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:58:34
[INFO] [stderr]    |
[INFO] [stderr] 58 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stderr]    |                                  ^---------
[INFO] [stderr]    |                                  |
[INFO] [stderr]    |                                  `Serialize` is not local
[INFO] [stderr]    |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 59 | #[versionize(SerializableFpVersions)]
[INFO] [stderr] 60 | pub struct SerializableFp {
[INFO] [stderr]    |            -------------- `SerializableFpVersionOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:58:34
[INFO] [stderr]    |
[INFO] [stderr] 58 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stderr]    |                                  ^---------
[INFO] [stderr]    |                                  |
[INFO] [stderr]    |                                  `Deserialize` is not local
[INFO] [stderr]    |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 59 | #[versionize(SerializableFpVersions)]
[INFO] [stderr] 60 | pub struct SerializableFp {
[INFO] [stderr]    |            -------------- `SerializableFpVersionOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:58:34
[INFO] [stderr]    |
[INFO] [stderr] 58 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stderr]    |                                  ^---------
[INFO] [stderr]    |                                  |
[INFO] [stderr]    |                                  `SerializableFpVersion` is not local
[INFO] [stderr]    |                                  `Serialize` is not local
[INFO] [stderr]    |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:119:34
[INFO] [stderr]     |
[INFO] [stderr] 119 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stderr]     |                                  ^---------
[INFO] [stderr]     |                                  |
[INFO] [stderr]     |                                  `Serialize` is not local
[INFO] [stderr]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 120 | #[versionize(SerializableAffineVersions)]
[INFO] [stderr] 121 | pub enum SerializableAffine<F> {
[INFO] [stderr]     |          ------------------ `SerializableAffineVersionOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:119:34
[INFO] [stderr]     |
[INFO] [stderr] 119 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stderr]     |                                  ^---------
[INFO] [stderr]     |                                  |
[INFO] [stderr]     |                                  `Deserialize` is not local
[INFO] [stderr]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 120 | #[versionize(SerializableAffineVersions)]
[INFO] [stderr] 121 | pub enum SerializableAffine<F> {
[INFO] [stderr]     |          ------------------ `SerializableAffineVersionOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:119:34
[INFO] [stderr]     |
[INFO] [stderr] 119 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stderr]     |                                  ^---------
[INFO] [stderr]     |                                  |
[INFO] [stderr]     |                                  `Serialize` is not local
[INFO] [stderr]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 120 | #[versionize(SerializableAffineVersions)]
[INFO] [stderr] 121 | pub enum SerializableAffine<F> {
[INFO] [stderr]     |          ------------------ `SerializableAffineVersion` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:179:34
[INFO] [stderr]     |
[INFO] [stderr] 179 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stderr]     |                                  ^---------
[INFO] [stderr]     |                                  |
[INFO] [stderr]     |                                  `Serialize` is not local
[INFO] [stderr]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 180 | #[versionize(SerializableQuadExtFieldVersions)]
[INFO] [stderr] 181 | pub struct SerializableQuadExtField<F> {
[INFO] [stderr]     |            ------------------------ `SerializableQuadExtFieldVersionOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:179:34
[INFO] [stderr]     |
[INFO] [stderr] 179 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stderr]     |                                  ^---------
[INFO] [stderr]     |                                  |
[INFO] [stderr]     |                                  `Deserialize` is not local
[INFO] [stderr]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 180 | #[versionize(SerializableQuadExtFieldVersions)]
[INFO] [stderr] 181 | pub struct SerializableQuadExtField<F> {
[INFO] [stderr]     |            ------------------------ `SerializableQuadExtFieldVersionOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:179:34
[INFO] [stderr]     |
[INFO] [stderr] 179 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stderr]     |                                  ^---------
[INFO] [stderr]     |                                  |
[INFO] [stderr]     |                                  `Serialize` is not local
[INFO] [stderr]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 180 | #[versionize(SerializableQuadExtFieldVersions)]
[INFO] [stderr] 181 | pub struct SerializableQuadExtField<F> {
[INFO] [stderr]     |            ------------------------ `SerializableQuadExtFieldVersion` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:215:34
[INFO] [stderr]     |
[INFO] [stderr] 215 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stderr]     |                                  ^---------
[INFO] [stderr]     |                                  |
[INFO] [stderr]     |                                  `Serialize` is not local
[INFO] [stderr]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 216 | #[versionize(SerializableCubicExtFieldVersions)]
[INFO] [stderr] 217 | pub struct SerializableCubicExtField<F> {
[INFO] [stderr]     |            ------------------------- `SerializableCubicExtFieldVersionOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:215:34
[INFO] [stderr]     |
[INFO] [stderr] 215 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stderr]     |                                  ^---------
[INFO] [stderr]     |                                  |
[INFO] [stderr]     |                                  `Deserialize` is not local
[INFO] [stderr]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 216 | #[versionize(SerializableCubicExtFieldVersions)]
[INFO] [stderr] 217 | pub struct SerializableCubicExtField<F> {
[INFO] [stderr]     |            ------------------------- `SerializableCubicExtFieldVersionOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:215:34
[INFO] [stderr]     |
[INFO] [stderr] 215 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stderr]     |                                  ^---------
[INFO] [stderr]     |                                  |
[INFO] [stderr]     |                                  `Serialize` is not local
[INFO] [stderr]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 216 | #[versionize(SerializableCubicExtFieldVersions)]
[INFO] [stderr] 217 | pub struct SerializableCubicExtField<F> {
[INFO] [stderr]     |            ------------------------- `SerializableCubicExtFieldVersion` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:291:34
[INFO] [stderr]     |
[INFO] [stderr] 291 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stderr]     |                                  ^---------
[INFO] [stderr]     |                                  |
[INFO] [stderr]     |                                  `Serialize` is not local
[INFO] [stderr]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 292 | #[versionize(SerializableGroupElementsVersions)]
[INFO] [stderr] 293 | pub(crate) struct SerializableGroupElements {
[INFO] [stderr]     |                   ------------------------- `SerializableGroupElementsVersionOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:291:34
[INFO] [stderr]     |
[INFO] [stderr] 291 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stderr]     |                                  ^---------
[INFO] [stderr]     |                                  |
[INFO] [stderr]     |                                  `Deserialize` is not local
[INFO] [stderr]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 292 | #[versionize(SerializableGroupElementsVersions)]
[INFO] [stderr] 293 | pub(crate) struct SerializableGroupElements {
[INFO] [stderr]     |                   ------------------------- `SerializableGroupElementsVersionOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:291:34
[INFO] [stderr]     |
[INFO] [stderr] 291 | #[derive(Serialize, Deserialize, Versionize)]
[INFO] [stderr]     |                                  ^---------
[INFO] [stderr]     |                                  |
[INFO] [stderr]     |                                  `SerializableGroupElementsVersion` is not local
[INFO] [stderr]     |                                  `Serialize` is not local
[INFO] [stderr]     |                                  move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:392:48
[INFO] [stderr]     |
[INFO] [stderr] 392 | #[derive(serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stderr]     |                                                ^---------
[INFO] [stderr]     |                                                |
[INFO] [stderr]     |                                                `Serialize` is not local
[INFO] [stderr]     |                                                move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 393 | #[versionize(SerializablePKEv2PublicParamsVersions)]
[INFO] [stderr] 394 | pub struct SerializablePKEv2PublicParams {
[INFO] [stderr]     |            ----------------------------- `SerializablePKEv2PublicParamsVersionOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:392:48
[INFO] [stderr]     |
[INFO] [stderr] 392 | #[derive(serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stderr]     |                                                ^---------
[INFO] [stderr]     |                                                |
[INFO] [stderr]     |                                                `Deserialize` is not local
[INFO] [stderr]     |                                                move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 393 | #[versionize(SerializablePKEv2PublicParamsVersions)]
[INFO] [stderr] 394 | pub struct SerializablePKEv2PublicParams {
[INFO] [stderr]     |            ----------------------------- `SerializablePKEv2PublicParamsVersionOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:392:48
[INFO] [stderr]     |
[INFO] [stderr] 392 | #[derive(serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stderr]     |                                                ^---------
[INFO] [stderr]     |                                                |
[INFO] [stderr]     |                                                `SerializablePKEv2PublicParamsVersion` is not local
[INFO] [stderr]     |                                                `Serialize` is not local
[INFO] [stderr]     |                                                move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:535:48
[INFO] [stderr]     |
[INFO] [stderr] 535 | #[derive(serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stderr]     |                                                ^---------
[INFO] [stderr]     |                                                |
[INFO] [stderr]     |                                                `Serialize` is not local
[INFO] [stderr]     |                                                move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 536 | #[versionize(SerializablePKEv1PublicParamsVersions)]
[INFO] [stderr] 537 | pub struct SerializablePKEv1PublicParams {
[INFO] [stderr]     |            ----------------------------- `SerializablePKEv1PublicParamsVersionOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:535:48
[INFO] [stderr]     |
[INFO] [stderr] 535 | #[derive(serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stderr]     |                                                ^---------
[INFO] [stderr]     |                                                |
[INFO] [stderr]     |                                                `Deserialize` is not local
[INFO] [stderr]     |                                                move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 536 | #[versionize(SerializablePKEv1PublicParamsVersions)]
[INFO] [stderr] 537 | pub struct SerializablePKEv1PublicParams {
[INFO] [stderr]     |            ----------------------------- `SerializablePKEv1PublicParamsVersionOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `Versionize` (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/serialization.rs:535:48
[INFO] [stderr]     |
[INFO] [stderr] 535 | #[derive(serde::Serialize, serde::Deserialize, Versionize)]
[INFO] [stderr]     |                                                ^---------
[INFO] [stderr]     |                                                |
[INFO] [stderr]     |                                                `SerializablePKEv1PublicParamsVersion` is not local
[INFO] [stderr]     |                                                `Serialize` is not local
[INFO] [stderr]     |                                                move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `Versionize` (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/backward_compatibility/mod.rs:13:10
[INFO] [stderr]    |
[INFO] [stderr] 13 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 14 | pub enum SerializableAffineVersions<F> {
[INFO] [stderr]    |          -------------------------- `SerializableAffineVersionsDispatchOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:13:10
[INFO] [stderr]    |
[INFO] [stderr] 13 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Deserialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 14 | pub enum SerializableAffineVersions<F> {
[INFO] [stderr]    |          -------------------------- `SerializableAffineVersionsDispatchOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:13:10
[INFO] [stderr]    |
[INFO] [stderr] 13 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 14 | pub enum SerializableAffineVersions<F> {
[INFO] [stderr]    |          -------------------------- `SerializableAffineVersionsDispatch` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:18:10
[INFO] [stderr]    |
[INFO] [stderr] 18 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 19 | pub enum SerializableFpVersions {
[INFO] [stderr]    |          ---------------------- `SerializableFpVersionsDispatchOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:18:10
[INFO] [stderr]    |
[INFO] [stderr] 18 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Deserialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 19 | pub enum SerializableFpVersions {
[INFO] [stderr]    |          ---------------------- `SerializableFpVersionsDispatchOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:18:10
[INFO] [stderr]    |
[INFO] [stderr] 18 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `SerializableFpVersionsDispatch` is not local
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:23:10
[INFO] [stderr]    |
[INFO] [stderr] 23 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 24 | pub enum SerializableQuadExtFieldVersions<F> {
[INFO] [stderr]    |          -------------------------------- `SerializableQuadExtFieldVersionsDispatchOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:23:10
[INFO] [stderr]    |
[INFO] [stderr] 23 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Deserialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 24 | pub enum SerializableQuadExtFieldVersions<F> {
[INFO] [stderr]    |          -------------------------------- `SerializableQuadExtFieldVersionsDispatchOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:23:10
[INFO] [stderr]    |
[INFO] [stderr] 23 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 24 | pub enum SerializableQuadExtFieldVersions<F> {
[INFO] [stderr]    |          -------------------------------- `SerializableQuadExtFieldVersionsDispatch` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:28:10
[INFO] [stderr]    |
[INFO] [stderr] 28 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 29 | pub enum SerializableCubicExtFieldVersions<F> {
[INFO] [stderr]    |          --------------------------------- `SerializableCubicExtFieldVersionsDispatchOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:28:10
[INFO] [stderr]    |
[INFO] [stderr] 28 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Deserialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 29 | pub enum SerializableCubicExtFieldVersions<F> {
[INFO] [stderr]    |          --------------------------------- `SerializableCubicExtFieldVersionsDispatchOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:28:10
[INFO] [stderr]    |
[INFO] [stderr] 28 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 29 | pub enum SerializableCubicExtFieldVersions<F> {
[INFO] [stderr]    |          --------------------------------- `SerializableCubicExtFieldVersionsDispatch` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:37:10
[INFO] [stderr]    |
[INFO] [stderr] 37 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 38 | pub enum PKEv1ProofVersions<G: Curve> {
[INFO] [stderr]    |          ------------------ `PKEv1ProofVersionsDispatchOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:37:10
[INFO] [stderr]    |
[INFO] [stderr] 37 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Deserialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 38 | pub enum PKEv1ProofVersions<G: Curve> {
[INFO] [stderr]    |          ------------------ `PKEv1ProofVersionsDispatchOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:37:10
[INFO] [stderr]    |
[INFO] [stderr] 37 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 38 | pub enum PKEv1ProofVersions<G: Curve> {
[INFO] [stderr]    |          ------------------ `PKEv1ProofVersionsDispatch` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:42:10
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 43 | pub enum PKEv2ProofVersions<G: Curve> {
[INFO] [stderr]    |          ------------------ `PKEv2ProofVersionsDispatchOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:42:10
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Deserialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 43 | pub enum PKEv2ProofVersions<G: Curve> {
[INFO] [stderr]    |          ------------------ `PKEv2ProofVersionsDispatchOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:42:10
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 43 | pub enum PKEv2ProofVersions<G: Curve> {
[INFO] [stderr]    |          ------------------ `PKEv2ProofVersionsDispatch` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:47:10
[INFO] [stderr]    |
[INFO] [stderr] 47 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 48 | pub enum PKEv1CompressedProofVersions<G: Curve>
[INFO] [stderr]    |          ---------------------------- `PKEv1CompressedProofVersionsDispatchOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:47:10
[INFO] [stderr]    |
[INFO] [stderr] 47 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Deserialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 48 | pub enum PKEv1CompressedProofVersions<G: Curve>
[INFO] [stderr]    |          ---------------------------- `PKEv1CompressedProofVersionsDispatchOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:47:10
[INFO] [stderr]    |
[INFO] [stderr] 47 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 48 | pub enum PKEv1CompressedProofVersions<G: Curve>
[INFO] [stderr]    |          ---------------------------- `PKEv1CompressedProofVersionsDispatch` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:56:10
[INFO] [stderr]    |
[INFO] [stderr] 56 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 57 | pub enum PKEv2CompressedProofVersions<G: Curve>
[INFO] [stderr]    |          ---------------------------- `PKEv2CompressedProofVersionsDispatchOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:56:10
[INFO] [stderr]    |
[INFO] [stderr] 56 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Deserialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 57 | pub enum PKEv2CompressedProofVersions<G: Curve>
[INFO] [stderr]    |          ---------------------------- `PKEv2CompressedProofVersionsDispatchOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:56:10
[INFO] [stderr]    |
[INFO] [stderr] 56 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 57 | pub enum PKEv2CompressedProofVersions<G: Curve>
[INFO] [stderr]    |          ---------------------------- `PKEv2CompressedProofVersionsDispatch` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:65:10
[INFO] [stderr]    |
[INFO] [stderr] 65 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 66 | #[allow(dead_code)]
[INFO] [stderr] 67 | pub(crate) enum GroupElementsVersions<G: Curve> {
[INFO] [stderr]    |                 --------------------- `GroupElementsVersionsDispatchOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:65:10
[INFO] [stderr]    |
[INFO] [stderr] 65 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Deserialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 66 | #[allow(dead_code)]
[INFO] [stderr] 67 | pub(crate) enum GroupElementsVersions<G: Curve> {
[INFO] [stderr]    |                 --------------------- `GroupElementsVersionsDispatchOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:65:10
[INFO] [stderr]    |
[INFO] [stderr] 65 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 66 | #[allow(dead_code)]
[INFO] [stderr] 67 | pub(crate) enum GroupElementsVersions<G: Curve> {
[INFO] [stderr]    |                 --------------------- `GroupElementsVersionsDispatch` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:71:10
[INFO] [stderr]    |
[INFO] [stderr] 71 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 72 | #[allow(dead_code)]
[INFO] [stderr] 73 | pub(crate) enum SerializableGroupElementsVersions {
[INFO] [stderr]    |                 --------------------------------- `SerializableGroupElementsVersionsDispatchOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:71:10
[INFO] [stderr]    |
[INFO] [stderr] 71 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Deserialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 72 | #[allow(dead_code)]
[INFO] [stderr] 73 | pub(crate) enum SerializableGroupElementsVersions {
[INFO] [stderr]    |                 --------------------------------- `SerializableGroupElementsVersionsDispatchOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:71:10
[INFO] [stderr]    |
[INFO] [stderr] 71 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `SerializableGroupElementsVersionsDispatch` is not local
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:77:10
[INFO] [stderr]    |
[INFO] [stderr] 77 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 78 | pub enum SerializablePKEv2PublicParamsVersions {
[INFO] [stderr]    |          ------------------------------------- `SerializablePKEv2PublicParamsVersionsDispatchOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:77:10
[INFO] [stderr]    |
[INFO] [stderr] 77 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Deserialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 78 | pub enum SerializablePKEv2PublicParamsVersions {
[INFO] [stderr]    |          ------------------------------------- `SerializablePKEv2PublicParamsVersionsDispatchOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:77:10
[INFO] [stderr]    |
[INFO] [stderr] 77 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `SerializablePKEv2PublicParamsVersionsDispatch` is not local
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:82:10
[INFO] [stderr]    |
[INFO] [stderr] 82 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 83 | pub enum SerializablePKEv1PublicParamsVersions {
[INFO] [stderr]    |          ------------------------------------- `SerializablePKEv1PublicParamsVersionsDispatchOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:82:10
[INFO] [stderr]    |
[INFO] [stderr] 82 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Deserialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr] 83 | pub enum SerializablePKEv1PublicParamsVersions {
[INFO] [stderr]    |          ------------------------------------- `SerializablePKEv1PublicParamsVersionsDispatchOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Deserialize` which comes from the expansion of the derive macro `VersionsDispatch` (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/backward_compatibility/mod.rs:82:10
[INFO] [stderr]    |
[INFO] [stderr] 82 | #[derive(VersionsDispatch)]
[INFO] [stderr]    |          ^---------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `SerializablePKEv1PublicParamsVersionsDispatch` is not local
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_` and up 2 bodies
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `::serde::Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `::serde::Serialize` which comes from the expansion of the derive macro `VersionsDispatch` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `tfhe-zk-pok` (lib) generated 72 warnings
[INFO] [stderr] warning: `tfhe-zk-pok` (lib test) generated 72 warnings (72 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tfhe_zk_pok-c5b076c5c6d05fec)
[INFO] [stdout] 
[INFO] [stdout] running 21 tests
[INFO] [stdout] test curve_api::bls12_381::tests::test_distributivity ... ok
[INFO] [stdout] test curve_api::bls12_446::tests::test_distributivity ... ok
[INFO] [stdout] test curve_api::bls12_381::tests::test_hasher_and_eq ... ok
[INFO] [stdout] test curve_api::bls12_446::tests::test_g1 ... ok
[INFO] [stdout] test curve_api::bls12_446::tests::test_hasher_and_eq ... ok
[INFO] [stdout] test curve_api::bls12_381::tests::test_serialization ... ok
[INFO] [stdout] test curve_api::bls12_381::tests::test_compressed_serialization ... ok
[INFO] [stdout] test curve_api::bls12_446::tests::test_g2 ... ok
[INFO] [stdout] test curve_api::bls12_446::tests::test_compressed_serialization ... ok
[INFO] [stdout] test curve_api::bls12_446::tests::test_serialization ... ok
[INFO] [stdout] test curve_api::bls12_446::tests::test_pairing ... ok
[INFO] [stdout] test curve_api::bls12_446::tests::test_g1_msm has been running for over 60 seconds
[INFO] [stdout] test curve_api::bls12_446::tests::test_g2_msm has been running for over 60 seconds
[INFO] [stdout] test proofs::pke::tests::test_pke has been running for over 60 seconds
[INFO] [stdout] test proofs::pke::tests::test_pke_w_padding_fail_verify has been running for over 60 seconds
[INFO] [stdout] test proofs::pke::tests::test_proof_compression has been running for over 60 seconds
[INFO] [stdout] test proofs::pke_v2::tests::test_pke has been running for over 60 seconds
[INFO] [stdout] test proofs::pke_v2::tests::test_pke_w_padding_fail_verify has been running for over 60 seconds
[INFO] [stdout] test proofs::pke_v2::tests::test_proof_compression has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "59e4025b216e64aaa938d2b630a1b61fd8ac14c8c2a655e43d054441eba5211e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "59e4025b216e64aaa938d2b630a1b61fd8ac14c8c2a655e43d054441eba5211e", kill_on_drop: false }`
[INFO] [stdout] 59e4025b216e64aaa938d2b630a1b61fd8ac14c8c2a655e43d054441eba5211e
