[INFO] cloning repository https://github.com/vgarleanu/raytracer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/vgarleanu/raytracer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvgarleanu%2Fraytracer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvgarleanu%2Fraytracer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 33454fcfaa355f3bf82719801c6f1c3b4be18e78
[INFO] checking vgarleanu/raytracer against master#4008bbdf34b583ce44a467043aae3703afc0a76f for pr-129249-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvgarleanu%2Fraytracer" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/vgarleanu/raytracer
[INFO] finished tweaking git repo https://github.com/vgarleanu/raytracer
[INFO] tweaked toml for git repo https://github.com/vgarleanu/raytracer written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/vgarleanu/raytracer on toolchain 4008bbdf34b583ce44a467043aae3703afc0a76f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4008bbdf34b583ce44a467043aae3703afc0a76f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/vgarleanu/raytracer 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" "+4008bbdf34b583ce44a467043aae3703afc0a76f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 161 packages to latest compatible versions
[INFO] [stderr]       Adding addr2line v0.25.1
[INFO] [stderr]       Adding adler2 v2.0.1
[INFO] [stderr]       Adding aho-corasick v1.1.4
[INFO] [stderr]       Adding android_system_properties v0.1.5
[INFO] [stderr]       Adding ansi_term v0.12.1
[INFO] [stderr]       Adding autocfg v1.5.1
[INFO] [stderr]       Adding backtrace v0.3.76
[INFO] [stderr]       Adding bitflags v2.13.0
[INFO] [stderr]       Adding block-buffer v0.10.4
[INFO] [stderr]       Adding bumpalo v3.20.3
[INFO] [stderr]       Adding cc v1.2.65
[INFO] [stderr]       Adding cfg-if v1.0.4
[INFO] [stderr]       Adding chrono v0.4.45
[INFO] [stderr]       Adding console v0.16.3
[INFO] [stderr]       Adding core-foundation-sys v0.8.7
[INFO] [stderr]       Adding cpufeatures v0.2.17
[INFO] [stderr]       Adding crypto-common v0.1.7
[INFO] [stderr]       Adding deunicode v1.6.2
[INFO] [stderr]       Adding digest v0.10.7
[INFO] [stderr]       Adding dirs v2.0.2
[INFO] [stderr]       Adding dirs-sys v0.3.7
[INFO] [stderr]       Adding displaydoc v0.2.6
[INFO] [stderr]       Adding doc-comment v0.3.4
[INFO] [stderr]       Adding encode_unicode v1.0.0
[INFO] [stderr]       Adding errno v0.3.14
[INFO] [stderr]       Adding error-chain v0.12.4
[INFO] [stderr]       Adding fastrand v2.4.1
[INFO] [stderr]       Adding find-msvc-tools v0.1.9
[INFO] [stderr]       Adding form_urlencoded v1.2.2
[INFO] [stderr]       Adding futures-core v0.3.32
[INFO] [stderr]       Adding futures-task v0.3.32
[INFO] [stderr]       Adding futures-util v0.3.32
[INFO] [stderr]       Adding generic-array v0.14.7 (available: v0.14.9)
[INFO] [stderr]       Adding getrandom v0.2.17
[INFO] [stderr]       Adding getrandom v0.3.4
[INFO] [stderr]       Adding getrandom v0.4.3
[INFO] [stderr]       Adding gimli v0.32.3
[INFO] [stderr]       Adding git2 v0.10.2
[INFO] [stderr]       Adding glob v0.2.11
[INFO] [stderr]       Adding hashbrown v0.12.3
[INFO] [stderr]       Adding heck v0.3.3
[INFO] [stderr]       Adding humansize v1.1.1
[INFO] [stderr]       Adding iana-time-zone v0.1.65
[INFO] [stderr]       Adding iana-time-zone-haiku v0.1.2
[INFO] [stderr]       Adding icu_collections v2.2.0
[INFO] [stderr]       Adding icu_locale_core v2.2.0
[INFO] [stderr]       Adding icu_normalizer v2.2.0
[INFO] [stderr]       Adding icu_normalizer_data v2.2.0
[INFO] [stderr]       Adding icu_properties v2.2.0
[INFO] [stderr]       Adding icu_properties_data v2.2.0
[INFO] [stderr]       Adding icu_provider v2.2.0
[INFO] [stderr]       Adding idna v0.1.5
[INFO] [stderr]       Adding idna v1.1.0
[INFO] [stderr]       Adding idna_adapter v1.2.2
[INFO] [stderr]       Adding indexmap v1.9.3
[INFO] [stderr]       Adding indicatif v0.12.0
[INFO] [stderr]       Adding jobserver v0.1.34
[INFO] [stderr]       Adding js-sys v0.3.102
[INFO] [stderr]     Updating libc v0.2.66 -> v0.2.186
[INFO] [stderr]       Adding libgit2-sys v0.9.2
[INFO] [stderr]       Adding libredox v0.1.17
[INFO] [stderr]       Adding libssh2-sys v0.2.23
[INFO] [stderr]       Adding libz-sys v1.1.29
[INFO] [stderr]       Adding linked-hash-map v0.5.6
[INFO] [stderr]       Adding linux-raw-sys v0.12.1
[INFO] [stderr]       Adding litemap v0.8.2
[INFO] [stderr]       Adding log v0.4.33
[INFO] [stderr]       Adding matches v0.1.10
[INFO] [stderr]       Adding memchr v2.8.2
[INFO] [stderr]       Adding miniz_oxide v0.8.9
[INFO] [stderr]       Adding number_prefix v0.3.0
[INFO] [stderr]       Adding object v0.37.3
[INFO] [stderr]       Adding once_cell v1.21.4
[INFO] [stderr]       Adding openssl-probe v0.1.6
[INFO] [stderr]       Adding openssl-sys v0.9.117
[INFO] [stderr]       Adding percent-encoding v1.0.1
[INFO] [stderr]       Adding percent-encoding v2.3.2
[INFO] [stderr]       Adding pest v2.8.6
[INFO] [stderr]       Adding pest_derive v2.8.6
[INFO] [stderr]       Adding pest_generator v2.8.6
[INFO] [stderr]       Adding pest_meta v2.8.6
[INFO] [stderr]       Adding pin-project-lite v0.2.17
[INFO] [stderr]       Adding pkg-config v0.3.33
[INFO] [stderr]       Adding potential_utf v0.1.5
[INFO] [stderr]       Adding proc-macro-error v1.0.4
[INFO] [stderr]       Adding proc-macro-error-attr v1.0.4
[INFO] [stderr]     Updating proc-macro2 v1.0.7 -> v1.0.106
[INFO] [stderr]     Updating quote v1.0.2 -> v1.0.46
[INFO] [stderr]       Adding r-efi v5.3.0
[INFO] [stderr]       Adding r-efi v6.0.0
[INFO] [stderr]       Adding redox_users v0.4.6
[INFO] [stderr]       Adding regex v1.12.4
[INFO] [stderr]       Adding regex-automata v0.4.14
[INFO] [stderr]       Adding regex-syntax v0.8.11
[INFO] [stderr]       Adding rustc-demangle v0.1.27
[INFO] [stderr]       Adding rustix v1.1.4
[INFO] [stderr]       Adding rustversion v1.0.22
[INFO] [stderr]       Adding serde_yaml v0.8.26
[INFO] [stderr]       Adding sha2 v0.10.9
[INFO] [stderr]       Adding shellexpand v1.1.1
[INFO] [stderr]       Adding shlex v2.0.1
[INFO] [stderr]       Adding slab v0.4.12
[INFO] [stderr]       Adding slug v0.1.6
[INFO] [stderr]       Adding smallvec v1.15.2
[INFO] [stderr]       Adding snafu v0.5.0
[INFO] [stderr]       Adding snafu-derive v0.5.0
[INFO] [stderr]       Adding src v0.0.5 (available: v0.0.6)
[INFO] [stderr]       Adding stable_deref_trait v1.2.1
[INFO] [stderr]       Adding structopt v0.3.26
[INFO] [stderr]       Adding structopt-derive v0.4.18
[INFO] [stderr]       Adding syn v2.0.118
[INFO] [stderr]       Adding synstructure v0.13.2
[INFO] [stderr]       Adding tempfile v3.27.0
[INFO] [stderr]       Adding tera v0.11.20
[INFO] [stderr]       Adding thiserror v1.0.69
[INFO] [stderr]       Adding thiserror-impl v1.0.69
[INFO] [stderr]       Adding tinystr v0.8.3
[INFO] [stderr]       Adding tinyvec v1.11.0
[INFO] [stderr]       Adding tinyvec_macros v0.1.1
[INFO] [stderr]       Adding typenum v1.20.1
[INFO] [stderr]       Adding ucd-trie v0.1.7
[INFO] [stderr]       Adding unic-char-property v0.7.0
[INFO] [stderr]       Adding unic-char-range v0.7.0
[INFO] [stderr]       Adding unic-common v0.7.0
[INFO] [stderr]       Adding unic-segment v0.7.0
[INFO] [stderr]       Adding unic-ucd-segment v0.7.0
[INFO] [stderr]       Adding unic-ucd-version v0.7.0
[INFO] [stderr]       Adding unicode-bidi v0.3.18
[INFO] [stderr]       Adding unicode-ident v1.0.24
[INFO] [stderr]       Adding unicode-normalization v0.1.25
[INFO] [stderr]       Adding unicode-segmentation v1.13.3
[INFO] [stderr]       Adding unicode-width v0.2.2
[INFO] [stderr]       Adding url v1.7.2
[INFO] [stderr]       Adding url v2.5.8
[INFO] [stderr]       Adding utf8_iter v1.0.4
[INFO] [stderr]       Adding vcpkg v0.2.15
[INFO] [stderr]       Adding version_check v0.9.5
[INFO] [stderr]       Adding wasi v0.11.1+wasi-snapshot-preview1
[INFO] [stderr]       Adding wasip2 v1.0.4+wasi-0.2.12
[INFO] [stderr]       Adding wasm-bindgen v0.2.125
[INFO] [stderr]       Adding wasm-bindgen-macro v0.2.125
[INFO] [stderr]       Adding wasm-bindgen-macro-support v0.2.125
[INFO] [stderr]       Adding wasm-bindgen-shared v0.2.125
[INFO] [stderr]       Adding windows-core v0.62.2
[INFO] [stderr]       Adding windows-implement v0.60.2
[INFO] [stderr]       Adding windows-interface v0.59.3
[INFO] [stderr]       Adding windows-link v0.2.1
[INFO] [stderr]       Adding windows-result v0.4.1
[INFO] [stderr]       Adding windows-strings v0.5.1
[INFO] [stderr]       Adding windows-sys v0.61.2
[INFO] [stderr]       Adding wit-bindgen v0.57.1
[INFO] [stderr]       Adding writeable v0.6.3
[INFO] [stderr]       Adding xdg v2.5.2
[INFO] [stderr]       Adding yaml-rust v0.4.5
[INFO] [stderr]       Adding yoke v0.8.3
[INFO] [stderr]       Adding yoke-derive v0.8.2
[INFO] [stderr]       Adding zerofrom v0.1.8
[INFO] [stderr]       Adding zerofrom-derive v0.1.7
[INFO] [stderr]       Adding zerotrie v0.2.4
[INFO] [stderr]       Adding zerovec v0.11.6
[INFO] [stderr]       Adding zerovec-derive v0.11.3
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded unic-ucd-version v0.7.0
[INFO] [stderr]   Downloaded unic-ucd-segment v0.7.0
[INFO] [stderr]   Downloaded unic-segment v0.7.0
[INFO] [stderr]   Downloaded unic-common v0.7.0
[INFO] [stderr]   Downloaded unic-char-range v0.7.0
[INFO] [stderr]   Downloaded unic-char-property v0.7.0
[INFO] [stderr]   Downloaded snafu-derive v0.5.0
[INFO] [stderr]   Downloaded shellexpand v1.1.1
[INFO] [stderr]   Downloaded tera v0.11.20
[INFO] [stderr]   Downloaded src v0.0.5
[INFO] [stderr]   Downloaded snafu v0.5.0
[INFO] [stderr]   Downloaded indicatif v0.12.0
[INFO] [stderr]   Downloaded syn v1.0.12
[INFO] [stderr]   Downloaded git2 v0.10.2
[INFO] [stderr]   Downloaded dyn-clone v1.0.1
[INFO] [stderr]   Downloaded libssh2-sys v0.2.23
[INFO] [stderr]   Downloaded libgit2-sys v0.9.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 747bd76a6101e2abad9a6e37e6448529873d3e2dfaf25b400e41caa79d32c5dc
[INFO] running `Command { std: "docker" "start" "747bd76a6101e2abad9a6e37e6448529873d3e2dfaf25b400e41caa79d32c5dc", 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" "747bd76a6101e2abad9a6e37e6448529873d3e2dfaf25b400e41caa79d32c5dc" "/opt/rustwide/cargo-home/bin/cargo" "+4008bbdf34b583ce44a467043aae3703afc0a76f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "747bd76a6101e2abad9a6e37e6448529873d3e2dfaf25b400e41caa79d32c5dc", 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" "747bd76a6101e2abad9a6e37e6448529873d3e2dfaf25b400e41caa79d32c5dc" "/opt/rustwide/cargo-home/bin/cargo" "+4008bbdf34b583ce44a467043aae3703afc0a76f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: raytracer v0.1.0 (/opt/rustwide/workdir) ignoring invalid dependency `src` which is missing a lib target
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling getrandom v0.1.13
[INFO] [stderr]    Compiling syn v1.0.12
[INFO] [stderr]     Checking num_cpus v1.11.1
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking inflate v0.3.4
[INFO] [stderr]     Checking num-rational v0.1.42
[INFO] [stderr]     Checking gif v0.9.2
[INFO] [stderr]     Checking png v0.15.2
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking dyn-clone v1.0.1
[INFO] [stderr]     Checking enum_primitive v0.1.1
[INFO] [stderr]     Checking rayon-core v1.7.0
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking rayon v1.3.0
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking rand_chacha v0.2.1
[INFO] [stderr]     Checking png v0.11.0
[INFO] [stderr]     Checking rand v0.7.2
[INFO] [stderr]     Checking jpeg-decoder v0.1.18
[INFO] [stderr]     Checking image v0.18.0
[INFO] [stderr]    Compiling num-derive v0.2.5
[INFO] [stderr]     Checking noise v0.6.0
[INFO] [stderr]    Compiling serde_derive v1.0.104
[INFO] [stderr]     Checking tiff v0.3.1
[INFO] [stderr]     Checking image v0.22.3
[INFO] [stderr]     Checking serde v1.0.104
[INFO] [stderr]     Checking serde_json v1.0.44
[INFO] [stderr]     Checking raytracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/map.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = 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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/map.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: 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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/map.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: 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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/map.rs:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: 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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/map.rs:62:10
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: 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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/map.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: 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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/map.rs:70:10
[INFO] [stdout]    |
[INFO] [stdout] 70 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: 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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/map.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: 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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/map.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = 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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/map.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: 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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/map.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: 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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/map.rs:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: 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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/map.rs:62:10
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: 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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/map.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: 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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/map.rs:70:10
[INFO] [stdout]    |
[INFO] [stdout] 70 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: 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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/map.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: 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: field `uvw` is never read
[INFO] [stdout]   --> src/camera.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct Camera {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     uvw: (Vec3, Vec3, Vec3),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Camera` has a derived impl for the trait `Clone`, but this is 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: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |             std::mem::replace(bounding_box, temp_box.clone());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 133 |             let _ = std::mem::replace(bounding_box, temp_box.clone());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:140:17
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 std::mem::replace(bounding_box, surrounding_box(bounding_box, &temp_box));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 let _ = std::mem::replace(bounding_box, surrounding_box(bounding_box, &temp_box));
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:215:9
[INFO] [stdout]     |
[INFO] [stdout] 215 | /         std::mem::replace(
[INFO] [stdout] 216 | |             bounding_box,
[INFO] [stdout] 217 | |             Aabb::new(
[INFO] [stdout] 218 | |                 self.center - Vec3::with_values(self.radius, self.radius, self.radius),
[INFO] [stdout] 219 | |                 self.center + Vec3::with_values(self.radius, self.radius, self.radius),
[INFO] [stdout] 220 | |             ),
[INFO] [stdout] 221 | |         );
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 215 |         let _ = std::mem::replace(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 300 |         std::mem::replace(bounding_box, surrounding_box(&box0, &box1));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let _ = std::mem::replace(bounding_box, surrounding_box(&box0, &box1));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:415:21
[INFO] [stdout]     |
[INFO] [stdout] 415 |                     std::mem::replace(rec, rec_left);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 415 |                     let _ = std::mem::replace(rec, rec_left);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:418:21
[INFO] [stdout]     |
[INFO] [stdout] 418 |                     std::mem::replace(rec, rec_right);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 418 |                     let _ = std::mem::replace(rec, rec_right);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:422:17
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 std::mem::replace(rec, rec_left);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 let _ = std::mem::replace(rec, rec_left);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:425:17
[INFO] [stdout]     |
[INFO] [stdout] 425 |                 std::mem::replace(rec, rec_right);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 425 |                 let _ = std::mem::replace(rec, rec_right);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:440:9
[INFO] [stdout]     |
[INFO] [stdout] 440 |         std::mem::replace(bounding_box, self.bounding_box.clone());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 440 |         let _ = std::mem::replace(bounding_box, self.bounding_box.clone());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:498:9
[INFO] [stdout]     |
[INFO] [stdout] 498 | /         std::mem::replace(
[INFO] [stdout] 499 | |             bounding_box,
[INFO] [stdout] 500 | |             Aabb::new(
[INFO] [stdout] 501 | |                 Vec3::with_values(self.x0, self.y0, self.k - 0.0001),
[INFO] [stdout] 502 | |                 Vec3::with_values(self.x1, self.y1, self.k + 0.0001),
[INFO] [stdout] 503 | |             ),
[INFO] [stdout] 504 | |         );
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 |         let _ = std::mem::replace(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:562:9
[INFO] [stdout]     |
[INFO] [stdout] 562 | /         std::mem::replace(
[INFO] [stdout] 563 | |             bounding_box,
[INFO] [stdout] 564 | |             Aabb::new(
[INFO] [stdout] 565 | |                 Vec3::with_values(self.x0, self.k - 0.0001, self.z0),
[INFO] [stdout] 566 | |                 Vec3::with_values(self.x1, self.k + 0.0001, self.z1),
[INFO] [stdout] 567 | |             ),
[INFO] [stdout] 568 | |         );
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 562 |         let _ = std::mem::replace(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:626:9
[INFO] [stdout]     |
[INFO] [stdout] 626 | /         std::mem::replace(
[INFO] [stdout] 627 | |             bounding_box,
[INFO] [stdout] 628 | |             Aabb::new(
[INFO] [stdout] 629 | |                 Vec3::with_values(self.k - 0.0001, self.y0, self.z0),
[INFO] [stdout] 630 | |                 Vec3::with_values(self.k + 0.0001, self.y1, self.z1),
[INFO] [stdout] 631 | |             ),
[INFO] [stdout] 632 | |         );
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 626 |         let _ = std::mem::replace(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:722:9
[INFO] [stdout]     |
[INFO] [stdout] 722 |         std::mem::replace(bounding_box, Aabb::new(self.p0, self.p1));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 722 |         let _ = std::mem::replace(bounding_box, Aabb::new(self.p0, self.p1));
[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/map.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_MapFile`
[INFO] [stdout] 16 | pub struct MapFile {
[INFO] [stdout]    |            ------- `MapFile` 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/map.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_MapFile`
[INFO] [stdout] 16 | pub struct MapFile {
[INFO] [stdout]    |            ------- `MapFile` 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/map.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Object`
[INFO] [stdout] 26 | pub enum Object {
[INFO] [stdout]    |          ------ `Object` 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/map.rs:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Object`
[INFO] [stdout] 26 | pub enum Object {
[INFO] [stdout]    |          ------ `Object` 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/map.rs:62:10
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Material`
[INFO] [stdout] 63 | pub enum Material {
[INFO] [stdout]    |          -------- `Material` 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/map.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Material`
[INFO] [stdout] 63 | pub enum Material {
[INFO] [stdout]    |          -------- `Material` 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/map.rs:70:10
[INFO] [stdout]    |
[INFO] [stdout] 70 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Texture`
[INFO] [stdout] 71 | pub enum Texture {
[INFO] [stdout]    |          ------- `Texture` 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/map.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Texture`
[INFO] [stdout] 71 | pub enum Texture {
[INFO] [stdout]    |          ------- `Texture` 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: field `uvw` is never read
[INFO] [stdout]   --> src/camera.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct Camera {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     uvw: (Vec3, Vec3, Vec3),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Camera` has a derived impl for the trait `Clone`, but this is 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: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |             std::mem::replace(bounding_box, temp_box.clone());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 133 |             let _ = std::mem::replace(bounding_box, temp_box.clone());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:140:17
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 std::mem::replace(bounding_box, surrounding_box(bounding_box, &temp_box));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 let _ = std::mem::replace(bounding_box, surrounding_box(bounding_box, &temp_box));
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:215:9
[INFO] [stdout]     |
[INFO] [stdout] 215 | /         std::mem::replace(
[INFO] [stdout] 216 | |             bounding_box,
[INFO] [stdout] 217 | |             Aabb::new(
[INFO] [stdout] 218 | |                 self.center - Vec3::with_values(self.radius, self.radius, self.radius),
[INFO] [stdout] 219 | |                 self.center + Vec3::with_values(self.radius, self.radius, self.radius),
[INFO] [stdout] 220 | |             ),
[INFO] [stdout] 221 | |         );
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 215 |         let _ = std::mem::replace(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 300 |         std::mem::replace(bounding_box, surrounding_box(&box0, &box1));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let _ = std::mem::replace(bounding_box, surrounding_box(&box0, &box1));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:415:21
[INFO] [stdout]     |
[INFO] [stdout] 415 |                     std::mem::replace(rec, rec_left);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 415 |                     let _ = std::mem::replace(rec, rec_left);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:418:21
[INFO] [stdout]     |
[INFO] [stdout] 418 |                     std::mem::replace(rec, rec_right);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 418 |                     let _ = std::mem::replace(rec, rec_right);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:422:17
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 std::mem::replace(rec, rec_left);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 let _ = std::mem::replace(rec, rec_left);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:425:17
[INFO] [stdout]     |
[INFO] [stdout] 425 |                 std::mem::replace(rec, rec_right);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 425 |                 let _ = std::mem::replace(rec, rec_right);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:440:9
[INFO] [stdout]     |
[INFO] [stdout] 440 |         std::mem::replace(bounding_box, self.bounding_box.clone());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 440 |         let _ = std::mem::replace(bounding_box, self.bounding_box.clone());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:498:9
[INFO] [stdout]     |
[INFO] [stdout] 498 | /         std::mem::replace(
[INFO] [stdout] 499 | |             bounding_box,
[INFO] [stdout] 500 | |             Aabb::new(
[INFO] [stdout] 501 | |                 Vec3::with_values(self.x0, self.y0, self.k - 0.0001),
[INFO] [stdout] 502 | |                 Vec3::with_values(self.x1, self.y1, self.k + 0.0001),
[INFO] [stdout] 503 | |             ),
[INFO] [stdout] 504 | |         );
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 |         let _ = std::mem::replace(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:562:9
[INFO] [stdout]     |
[INFO] [stdout] 562 | /         std::mem::replace(
[INFO] [stdout] 563 | |             bounding_box,
[INFO] [stdout] 564 | |             Aabb::new(
[INFO] [stdout] 565 | |                 Vec3::with_values(self.x0, self.k - 0.0001, self.z0),
[INFO] [stdout] 566 | |                 Vec3::with_values(self.x1, self.k + 0.0001, self.z1),
[INFO] [stdout] 567 | |             ),
[INFO] [stdout] 568 | |         );
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 562 |         let _ = std::mem::replace(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:626:9
[INFO] [stdout]     |
[INFO] [stdout] 626 | /         std::mem::replace(
[INFO] [stdout] 627 | |             bounding_box,
[INFO] [stdout] 628 | |             Aabb::new(
[INFO] [stdout] 629 | |                 Vec3::with_values(self.k - 0.0001, self.y0, self.z0),
[INFO] [stdout] 630 | |                 Vec3::with_values(self.k + 0.0001, self.y1, self.z1),
[INFO] [stdout] 631 | |             ),
[INFO] [stdout] 632 | |         );
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 626 |         let _ = std::mem::replace(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/hitable.rs:722:9
[INFO] [stdout]     |
[INFO] [stdout] 722 |         std::mem::replace(bounding_box, Aabb::new(self.p0, self.p1));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 722 |         let _ = std::mem::replace(bounding_box, Aabb::new(self.p0, self.p1));
[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/map.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_MapFile`
[INFO] [stdout] 16 | pub struct MapFile {
[INFO] [stdout]    |            ------- `MapFile` 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/map.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_MapFile`
[INFO] [stdout] 16 | pub struct MapFile {
[INFO] [stdout]    |            ------- `MapFile` 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/map.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Object`
[INFO] [stdout] 26 | pub enum Object {
[INFO] [stdout]    |          ------ `Object` 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/map.rs:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Object`
[INFO] [stdout] 26 | pub enum Object {
[INFO] [stdout]    |          ------ `Object` 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/map.rs:62:10
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Material`
[INFO] [stdout] 63 | pub enum Material {
[INFO] [stdout]    |          -------- `Material` 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/map.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Material`
[INFO] [stdout] 63 | pub enum Material {
[INFO] [stdout]    |          -------- `Material` 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/map.rs:70:10
[INFO] [stdout]    |
[INFO] [stdout] 70 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Texture`
[INFO] [stdout] 71 | pub enum Texture {
[INFO] [stdout]    |          ------- `Texture` 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/map.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 | #[derive(Serialize, Deserialize, Clone, Debug)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Texture`
[INFO] [stdout] 71 | pub enum Texture {
[INFO] [stdout]    |          ------- `Texture` 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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.41s
[INFO] running `Command { std: "docker" "inspect" "747bd76a6101e2abad9a6e37e6448529873d3e2dfaf25b400e41caa79d32c5dc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "747bd76a6101e2abad9a6e37e6448529873d3e2dfaf25b400e41caa79d32c5dc", kill_on_drop: false }`
[INFO] [stdout] 747bd76a6101e2abad9a6e37e6448529873d3e2dfaf25b400e41caa79d32c5dc
