[INFO] fetching crate addon_distributor 0.1.0...
[INFO] checking addon_distributor-0.1.0 against master#3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777 for pr-132289
[INFO] extracting crate addon_distributor 0.1.0 into /workspace/builds/worker-3-tc1/source
[INFO] validating manifest of crates.io crate addon_distributor 0.1.0 on toolchain 3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate addon_distributor 0.1.0
[INFO] finished tweaking crates.io crate addon_distributor 0.1.0
[INFO] tweaked toml for crates.io crate addon_distributor 0.1.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate crates.io crate addon_distributor 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_json v1.0.41
[INFO] [stderr]   Downloaded ryu v1.0.0
[INFO] [stderr]   Downloaded atty v0.2.13
[INFO] [stderr]   Downloaded remove_dir_all v0.5.2
[INFO] [stderr]   Downloaded dialoguer v0.4.0
[INFO] [stderr]   Downloaded clicolors-control v1.0.1
[INFO] [stderr]   Downloaded console v0.9.0
[INFO] [stderr]   Downloaded c2-chacha v0.2.2
[INFO] [stderr]   Downloaded getrandom v0.1.12
[INFO] [stderr]   Downloaded bitflags v1.2.0
[INFO] [stderr]   Downloaded ppv-lite86 v0.2.5
[INFO] [stderr]   Downloaded serde v1.0.101
[INFO] [stderr]   Downloaded wasi v0.7.0
[INFO] [stderr]   Downloaded vec_map v0.8.1
[INFO] [stderr]   Downloaded termios v0.3.1
[INFO] [stderr]   Downloaded unicode-width v0.1.6
[INFO] [stderr]   Downloaded serde_derive v1.0.101
[INFO] [stderr]   Downloaded proc-macro2 v1.0.5
[INFO] [stderr]   Downloaded rand v0.7.2
[INFO] [stderr]   Downloaded syn v1.0.5
[INFO] [stderr]   Downloaded clap v2.33.0
[INFO] [stderr]   Downloaded regex-syntax v0.6.12
[INFO] [stderr]   Downloaded regex v1.3.1
[INFO] [stderr]   Downloaded libc v0.2.62
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 788f0429d549dc9491a7eb6f95f5291eb1715256fcc0f7f411c9a51feab40945
[INFO] running `Command { std: "docker" "start" "-a" "788f0429d549dc9491a7eb6f95f5291eb1715256fcc0f7f411c9a51feab40945", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "788f0429d549dc9491a7eb6f95f5291eb1715256fcc0f7f411c9a51feab40945", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "788f0429d549dc9491a7eb6f95f5291eb1715256fcc0f7f411c9a51feab40945", kill_on_drop: false }`
[INFO] [stdout] 788f0429d549dc9491a7eb6f95f5291eb1715256fcc0f7f411c9a51feab40945
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a3cee72271f40fa659f0de7e704bcb4ab21809995ee71e7d61b0261b1ac9a965
[INFO] running `Command { std: "docker" "start" "-a" "a3cee72271f40fa659f0de7e704bcb4ab21809995ee71e7d61b0261b1ac9a965", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.62
[INFO] [stderr]    Compiling proc-macro2 v1.0.5
[INFO] [stderr]    Compiling getrandom v0.1.12
[INFO] [stderr]    Compiling syn v1.0.5
[INFO] [stderr]     Checking ppv-lite86 v0.2.5
[INFO] [stderr]     Checking unicode-width v0.1.6
[INFO] [stderr]     Checking regex-syntax v0.6.12
[INFO] [stderr]    Compiling bitflags v1.2.0
[INFO] [stderr]    Compiling serde v1.0.101
[INFO] [stderr]    Compiling ryu v1.0.0
[INFO] [stderr]     Checking remove_dir_all v0.5.2
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking itoa v0.4.4
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking c2-chacha v0.2.2
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]     Checking termios v0.3.1
[INFO] [stderr]     Checking clicolors-control v1.0.1
[INFO] [stderr]     Checking atty v0.2.13
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking rand_chacha v0.2.1
[INFO] [stderr]     Checking regex v1.3.1
[INFO] [stderr]     Checking rand v0.7.2
[INFO] [stderr]     Checking console v0.9.0
[INFO] [stderr]     Checking tempfile v3.1.0
[INFO] [stderr]     Checking dialoguer v0.4.0
[INFO] [stderr]    Compiling serde_derive v1.0.101
[INFO] [stderr]     Checking serde_json v1.0.41
[INFO] [stderr]     Checking addon_distributor v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0425]: cannot find function `select_addon` in module `distributor`
[INFO] [stdout]    --> src/lib.rs:241:54
[INFO] [stdout]     |
[INFO] [stdout] 65  |     pub fn upsert_addon(addons: &mut Addons, name: String, addon: Addon) {
[INFO] [stdout]     |     -------------------------------------------------------------------- similarly named function `upsert_addon` defined here
[INFO] [stdout] ...
[INFO] [stdout] 241 |         println!("Choosen addon is {}", distributor::select_addon(addons));
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 241 |         println!("Choosen addon is {}", distributor::upsert_addon(addons));
[INFO] [stdout]     |                                                      ~~~~~~~~~~~~
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 202 +     use crate::tests::select_addon;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `select_addon`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 241 -         println!("Choosen addon is {}", distributor::select_addon(addons));
[INFO] [stdout] 241 +         println!("Choosen addon is {}", select_addon(addons));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/lib.rs:224:56
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let addon_names = distributor::get_addon_names(addons);
[INFO] [stdout]     |                           ---------------------------- ^^^^^^ expected `&Addons`, found `Addons`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/lib.rs:61:12
[INFO] [stdout]     |
[INFO] [stdout] 61  |     pub fn get_addon_names(addons: &Addons) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^ ---------------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let addon_names = distributor::get_addon_names(&addons);
[INFO] [stdout]     |                                                        +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:70:26
[INFO] [stdout]    |
[INFO] [stdout] 70 |         for (addon_name, mut addon) in addons.addons.iter_mut() {
[INFO] [stdout]    |                          ----^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` 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/lib.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Gecko`
[INFO] [stdout] 18 | struct Gecko {
[INFO] [stdout]    |        ----- `Gecko` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/lib.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Gecko`
[INFO] [stdout] 18 | struct Gecko {
[INFO] [stdout]    |        ----- `Gecko` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/lib.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Application`
[INFO] [stdout] 28 | struct Application {
[INFO] [stdout]    |        ----------- `Application` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/lib.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Application`
[INFO] [stdout] 28 | struct Application {
[INFO] [stdout]    |        ----------- `Application` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/lib.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Update`
[INFO] [stdout] 33 | pub struct Update {
[INFO] [stdout]    |            ------ `Update` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/lib.rs:32:21
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Update`
[INFO] [stdout] 33 | pub struct Update {
[INFO] [stdout]    |            ------ `Update` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/lib.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Addon`
[INFO] [stdout] 48 | pub struct Addon {
[INFO] [stdout]    |            ----- `Addon` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/lib.rs:47:21
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Addon`
[INFO] [stdout] 48 | pub struct Addon {
[INFO] [stdout]    |            ----- `Addon` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/lib.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Addons`
[INFO] [stdout] 54 | pub struct Addons {
[INFO] [stdout]    |            ------ `Addons` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/lib.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Addons`
[INFO] [stdout] 54 | pub struct Addons {
[INFO] [stdout]    |            ------ `Addons` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:70:26
[INFO] [stdout]    |
[INFO] [stdout] 70 |         for (addon_name, mut addon) in addons.addons.iter_mut() {
[INFO] [stdout]    |                          ----^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0425.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `addon_distributor` (lib test) due to 2 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "a3cee72271f40fa659f0de7e704bcb4ab21809995ee71e7d61b0261b1ac9a965", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a3cee72271f40fa659f0de7e704bcb4ab21809995ee71e7d61b0261b1ac9a965", kill_on_drop: false }`
[INFO] [stdout] a3cee72271f40fa659f0de7e704bcb4ab21809995ee71e7d61b0261b1ac9a965
