[INFO] fetching crate oceanpkg 0.0.11...
[INFO] checking oceanpkg-0.0.11 against c60b92c03ca8a3b101eb9d57f51e2232690638c7 for pr-164148-crater-rollup
[INFO] extracting crate oceanpkg 0.0.11 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate oceanpkg 0.0.11
[INFO] finished tweaking crates.io crate oceanpkg 0.0.11
[INFO] tweaked toml for crates.io crate oceanpkg 0.0.11 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate oceanpkg 0.0.11 on toolchain c60b92c03ca8a3b101eb9d57f51e2232690638c7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c60b92c03ca8a3b101eb9d57f51e2232690638c7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c60b92c03ca8a3b101eb9d57f51e2232690638c7" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 226 packages to highest compatible versions
[INFO] [stderr]       Adding cfg-if v0.1.10 (available: v1.0.5)
[INFO] [stderr]       Adding dirs v1.0.5 (available: v7.0.0)
[INFO] [stderr]       Adding http v0.1.21 (available: v1.5.0)
[INFO] [stderr]       Adding reqwest v0.9.24 (available: v0.13.5)
[INFO] [stderr]       Adding semver v0.9.0 (available: v1.0.28)
[INFO] [stderr]       Adding toml v0.5.11 (available: v1.1.8+spec-1.1.0)
[INFO] [stderr]       Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c60b92c03ca8a3b101eb9d57f51e2232690638c7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b926fa3e78c09f6efce3ad7ecc1a8dec55e464cf84766c14e4beba2a9d342e1d
[INFO] running `Command { std: "docker" "start" "b926fa3e78c09f6efce3ad7ecc1a8dec55e464cf84766c14e4beba2a9d342e1d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b926fa3e78c09f6efce3ad7ecc1a8dec55e464cf84766c14e4beba2a9d342e1d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b926fa3e78c09f6efce3ad7ecc1a8dec55e464cf84766c14e4beba2a9d342e1d" "/opt/rustwide/cargo-home/bin/cargo" "+c60b92c03ca8a3b101eb9d57f51e2232690638c7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b926fa3e78c09f6efce3ad7ecc1a8dec55e464cf84766c14e4beba2a9d342e1d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b926fa3e78c09f6efce3ad7ecc1a8dec55e464cf84766c14e4beba2a9d342e1d" "/opt/rustwide/cargo-home/bin/cargo" "+c60b92c03ca8a3b101eb9d57f51e2232690638c7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling zerocopy v0.8.63
[INFO] [stderr]    Compiling siphasher v0.3.11
[INFO] [stderr]    Compiling proc-macro-hack v0.5.20+deprecated
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking xattr v1.6.1
[INFO] [stderr]     Checking filetime v0.2.29
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]     Checking semver-parser v0.7.0
[INFO] [stderr]     Checking getrandom v0.4.3
[INFO] [stderr]     Checking dirs v1.0.5
[INFO] [stderr]     Checking oceanpkg-shared v0.1.1
[INFO] [stderr]     Checking lazycell v1.3.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]     Checking tar v0.4.46
[INFO] [stderr]    Compiling phf_shared v0.8.0
[INFO] [stderr]     Checking bytes v0.4.12
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking semver v0.9.0
[INFO] [stderr]    Compiling rand_pcg v0.2.1
[INFO] [stderr]     Checking http v0.1.21
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling phf_generator v0.8.0
[INFO] [stderr]    Compiling phf_macros v0.8.0
[INFO] [stderr]     Checking phf v0.8.0
[INFO] [stderr]     Checking linfo v0.1.3
[INFO] [stderr]     Checking oceanpkg v0.0.11 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `file_name` is never read
[INFO] [stdout]  --> src/drop/kind/app.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct App {
[INFO] [stdout]   |            --- field in this struct
[INFO] [stdout] 6 |     metadata: Metadata,
[INFO] [stdout] 7 |     file_name: String,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `App` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `target` is never read
[INFO] [stdout]   --> src/drop/kind/exe.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct FindError<'a> {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 67 |     target: &'a InstallTarget,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FindError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_name` is never read
[INFO] [stdout]  --> src/drop/kind/font.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Font {
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 6 |     metadata: Metadata,
[INFO] [stdout] 7 |     file_name: String,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Font` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_name` is never read
[INFO] [stdout]  --> src/drop/kind/app.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct App {
[INFO] [stdout]   |            --- field in this struct
[INFO] [stdout] 6 |     metadata: Metadata,
[INFO] [stdout] 7 |     file_name: String,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `App` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `target` is never read
[INFO] [stdout]   --> src/drop/kind/exe.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct FindError<'a> {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 67 |     target: &'a InstallTarget,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FindError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_name` is never read
[INFO] [stdout]  --> src/drop/kind/font.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Font {
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 6 |     metadata: Metadata,
[INFO] [stdout] 7 |     file_name: String,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Font` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/flexible.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout]  5 |    macro_rules! flexible {
[INFO] [stdout] ...
[INFO] [stdout] 25 |            $t_vis struct $t $(<$l>)? {
[INFO] [stdout]    |  ________________________-
[INFO] [stdout] 26 | |              $(#[doc = $s_doc])+
[INFO] [stdout] 27 | |              $s_vis $s: $s_ty,
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |/             fn deserialize<D>(de: D) -> Result<Self, D::Error>
[INFO] [stdout] 38 | ||             where
[INFO] [stdout] 39 | ||                 D: serde::Deserializer<'de>
[INFO] [stdout]    | ||___________________________________________- move the `impl` block outside of this associated function `deserialize`
[INFO] [stdout] ...  |
[INFO] [stdout] 68 | |                  impl $(<$l>)? Detailed for $t $(<$l>)? {
[INFO] [stdout]    | |                  ^^^^^^^^^^^^^^--------^^^^-^^
[INFO] [stdout]    | |________________________________|___________|
[INFO] [stdout]    |                                  |           `DepInfo` is not local
[INFO] [stdout]    |                                  `Detailed` is not local
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/drop/manifest/deps.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | /  flexible! {
[INFO] [stdout] 11 | |      /// The value associated with an element listed in the `dependencies` key in the
[INFO] [stdout] 12 | |      /// manifest.
[INFO] [stdout] 13 | |      ///
[INFO] [stdout] ...  |
[INFO] [stdout] 38 | |  }
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: the macro `flexible` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/flexible.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout]  5 |    macro_rules! flexible {
[INFO] [stdout] ...
[INFO] [stdout] 25 |            $t_vis struct $t $(<$l>)? {
[INFO] [stdout]    |  ________________________-
[INFO] [stdout] 26 | |              $(#[doc = $s_doc])+
[INFO] [stdout] 27 | |              $s_vis $s: $s_ty,
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |/             fn deserialize<D>(de: D) -> Result<Self, D::Error>
[INFO] [stdout] 38 | ||             where
[INFO] [stdout] 39 | ||                 D: serde::Deserializer<'de>
[INFO] [stdout]    | ||___________________________________________- move the `impl` block outside of this associated function `deserialize`
[INFO] [stdout] ...  |
[INFO] [stdout] 68 | |                  impl $(<$l>)? Detailed for $t $(<$l>)? {
[INFO] [stdout]    | |                  ^^^^^^^^^^^^^^--------^^^^-^^
[INFO] [stdout]    | |________________________________|___________|
[INFO] [stdout]    |                                  |           `DepInfo` is not local
[INFO] [stdout]    |                                  `Detailed` is not local
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/drop/manifest/deps.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | /  flexible! {
[INFO] [stdout] 11 | |      /// The value associated with an element listed in the `dependencies` key in the
[INFO] [stdout] 12 | |      /// manifest.
[INFO] [stdout] 13 | |      ///
[INFO] [stdout] ...  |
[INFO] [stdout] 38 | |  }
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: the macro `flexible` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `semver::Version` oceanpkg
[INFO] [stdout]    --> src/drop/manifest/tests.rs:127:22
[INFO] [stdout]     |
[INFO] [stdout] 127 |             version: SemVer::new(0, 1, 0).into(),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 127 -             version: SemVer::new(0, 1, 0).into(),
[INFO] [stdout] 127 +             version: SemVer::new(0, 1, 0),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 127 -             version: SemVer::new(0, 1, 0).into(),
[INFO] [stdout] 127 +             version: <semver::Version as Into<_>>::into(SemVer::new(0, 1, 0)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/flexible.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout]  5 |    macro_rules! flexible {
[INFO] [stdout] ...
[INFO] [stdout] 25 |            $t_vis struct $t $(<$l>)? {
[INFO] [stdout]    |  ________________________-
[INFO] [stdout] 26 | |              $(#[doc = $s_doc])+
[INFO] [stdout] 27 | |              $s_vis $s: $s_ty,
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |/             fn deserialize<D>(de: D) -> Result<Self, D::Error>
[INFO] [stdout] 38 | ||             where
[INFO] [stdout] 39 | ||                 D: serde::Deserializer<'de>
[INFO] [stdout]    | ||___________________________________________- move the `impl` block outside of this associated function `deserialize`
[INFO] [stdout] ...  |
[INFO] [stdout] 68 | |                  impl $(<$l>)? Detailed for $t $(<$l>)? {
[INFO] [stdout]    | |                  ^^^^^^^^^^^^^^--------^^^^-^^
[INFO] [stdout]    | |________________________________|___________|
[INFO] [stdout]    |                                  |           `Git` is not local
[INFO] [stdout]    |                                  `Detailed` is not local
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/drop/source/git.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | /  flexible! {
[INFO] [stdout] 10 | |      /// Information about a git repository where a drop or dependency can be found.
[INFO] [stdout] 11 | |      #[derive(Clone, Debug, PartialEq, Eq, Hash, Serialize)]
[INFO] [stdout] 12 | |      pub struct Git {
[INFO] [stdout] ...  |
[INFO] [stdout] 21 | |  }
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: the macro `flexible` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/flexible.rs:142:17
[INFO] [stdout]     |
[INFO] [stdout]   5 |    macro_rules! flexible {
[INFO] [stdout] ...
[INFO] [stdout]  99 |            $t_vis enum $t $(<$l>)? {
[INFO] [stdout]     |  ______________________-
[INFO] [stdout] 100 | |              $(#[doc = $s_doc])+
[INFO] [stdout] 101 | |              $s($s_ty),
[INFO] [stdout] ...   |
[INFO] [stdout] 111 | |/             fn deserialize<D>(de: D) -> Result<Self, D::Error>
[INFO] [stdout] 112 | ||             where
[INFO] [stdout] 113 | ||                 D: serde::Deserializer<'de>
[INFO] [stdout]     | ||___________________________________________- move the `impl` block outside of this associated function `deserialize`
[INFO] [stdout] ...   |
[INFO] [stdout] 142 | |                  impl $(<$l>)? Detailed for $t $(<$l>)? {
[INFO] [stdout]     | |                  ^^^^^^^^^^^^^^--------^^^^-^^
[INFO] [stdout]     | |________________________________|___________|
[INFO] [stdout]     |                                  |           `Version` is not local
[INFO] [stdout]     |                                  `Detailed` is not local
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/drop/version.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout]   9 | /  flexible! {
[INFO] [stdout]  10 | |      /// A drop version.
[INFO] [stdout]  11 | |      #[derive(Clone, Debug, PartialEq, Eq, Hash)]
[INFO] [stdout]  12 | |      pub enum Version {
[INFO] [stdout] ...   |
[INFO] [stdout]  20 | |  }
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `flexible` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/flexible.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout]  5 |    macro_rules! flexible {
[INFO] [stdout] ...
[INFO] [stdout] 25 |            $t_vis struct $t $(<$l>)? {
[INFO] [stdout]    |  ________________________-
[INFO] [stdout] 26 | |              $(#[doc = $s_doc])+
[INFO] [stdout] 27 | |              $s_vis $s: $s_ty,
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |/             fn deserialize<D>(de: D) -> Result<Self, D::Error>
[INFO] [stdout] 38 | ||             where
[INFO] [stdout] 39 | ||                 D: serde::Deserializer<'de>
[INFO] [stdout]    | ||___________________________________________- move the `impl` block outside of this associated function `deserialize`
[INFO] [stdout] ...  |
[INFO] [stdout] 68 | |                  impl $(<$l>)? Detailed for $t $(<$l>)? {
[INFO] [stdout]    | |                  ^^^^^^^^^^^^^^--------^^^^-^^
[INFO] [stdout]    | |________________________________|___________|
[INFO] [stdout]    |                                  |           `Git` is not local
[INFO] [stdout]    |                                  `Detailed` is not local
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/drop/source/git.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | /  flexible! {
[INFO] [stdout] 10 | |      /// Information about a git repository where a drop or dependency can be found.
[INFO] [stdout] 11 | |      #[derive(Clone, Debug, PartialEq, Eq, Hash, Serialize)]
[INFO] [stdout] 12 | |      pub struct Git {
[INFO] [stdout] ...  |
[INFO] [stdout] 21 | |  }
[INFO] [stdout]    | |__- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: the macro `flexible` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/flexible.rs:142:17
[INFO] [stdout]     |
[INFO] [stdout]   5 |    macro_rules! flexible {
[INFO] [stdout] ...
[INFO] [stdout]  99 |            $t_vis enum $t $(<$l>)? {
[INFO] [stdout]     |  ______________________-
[INFO] [stdout] 100 | |              $(#[doc = $s_doc])+
[INFO] [stdout] 101 | |              $s($s_ty),
[INFO] [stdout] ...   |
[INFO] [stdout] 111 | |/             fn deserialize<D>(de: D) -> Result<Self, D::Error>
[INFO] [stdout] 112 | ||             where
[INFO] [stdout] 113 | ||                 D: serde::Deserializer<'de>
[INFO] [stdout]     | ||___________________________________________- move the `impl` block outside of this associated function `deserialize`
[INFO] [stdout] ...   |
[INFO] [stdout] 142 | |                  impl $(<$l>)? Detailed for $t $(<$l>)? {
[INFO] [stdout]     | |                  ^^^^^^^^^^^^^^--------^^^^-^^
[INFO] [stdout]     | |________________________________|___________|
[INFO] [stdout]     |                                  |           `Version` is not local
[INFO] [stdout]     |                                  `Detailed` is not local
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/drop/version.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout]   9 | /  flexible! {
[INFO] [stdout]  10 | |      /// A drop version.
[INFO] [stdout]  11 | |      #[derive(Clone, Debug, PartialEq, Eq, Hash)]
[INFO] [stdout]  12 | |      pub enum Version {
[INFO] [stdout] ...   |
[INFO] [stdout]  20 | |  }
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `flexible` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `oceanpkg` (lib test) due to 1 previous error; 6 warnings emitted
[INFO] [stderr] warning: unused dependency `http`
[INFO] [stderr]   --> Cargo.toml:10:15
[INFO] [stderr]    |
[INFO] [stderr] 10 | [dependencies.http]
[INFO] [stderr]    |               ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `http`
[INFO] [stderr] warning: `oceanpkg` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "inspect" "b926fa3e78c09f6efce3ad7ecc1a8dec55e464cf84766c14e4beba2a9d342e1d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b926fa3e78c09f6efce3ad7ecc1a8dec55e464cf84766c14e4beba2a9d342e1d", kill_on_drop: false }`
[INFO] [stdout] b926fa3e78c09f6efce3ad7ecc1a8dec55e464cf84766c14e4beba2a9d342e1d
