[INFO] cloning repository https://github.com/manueldeval/rust_ray
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/manueldeval/rust_ray" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmanueldeval%2Frust_ray", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmanueldeval%2Frust_ray'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 25e4026a4172f7cd7adcff576d41961fb9af8299
[INFO] checking manueldeval/rust_ray against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmanueldeval%2Frust_ray" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/manueldeval/rust_ray
[INFO] finished tweaking git repo https://github.com/manueldeval/rust_ray
[INFO] tweaked toml for git repo https://github.com/manueldeval/rust_ray written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/manueldeval/rust_ray on toolchain eca445e5ae4a6679cc27d3a09106ce245e13a5a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/manueldeval/rust_ray 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" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded typetag v0.1.7
[INFO] [stderr]   Downloaded serde_yaml v0.8.17
[INFO] [stderr]   Downloaded typetag-impl v0.1.7
[INFO] [stderr]   Downloaded inventory v0.1.10
[INFO] [stderr]   Downloaded inventory-impl v0.1.10
[INFO] [stderr]   Downloaded takeable-option v0.5.0
[INFO] [stderr]   Downloaded xcursor v0.3.3
[INFO] [stderr]   Downloaded calloop v0.6.5
[INFO] [stderr]   Downloaded wayland-cursor v0.28.5
[INFO] [stderr]   Downloaded glutin_egl_sys v0.1.5
[INFO] [stderr]   Downloaded wayland-commons v0.28.5
[INFO] [stderr]   Downloaded wayland-sys v0.28.5
[INFO] [stderr]   Downloaded andrew v0.3.1
[INFO] [stderr]   Downloaded wayland-egl v0.28.5
[INFO] [stderr]   Downloaded glutin_emscripten_sys v0.1.1
[INFO] [stderr]   Downloaded glutin_glx_sys v0.1.7
[INFO] [stderr]   Downloaded wayland-scanner v0.28.5
[INFO] [stderr]   Downloaded pixel-canvas v0.2.2
[INFO] [stderr]   Downloaded rustc-demangle v0.1.19
[INFO] [stderr]   Downloaded smithay-client-toolkit v0.12.3
[INFO] [stderr]   Downloaded cocoa v0.23.0
[INFO] [stderr]   Downloaded glutin v0.25.1
[INFO] [stderr]   Downloaded wayland-client v0.28.5
[INFO] [stderr]   Downloaded backtrace v0.3.58
[INFO] [stderr]   Downloaded wayland-protocols v0.28.5
[INFO] [stderr]   Downloaded nom v6.1.2
[INFO] [stderr]   Downloaded nix v0.20.0
[INFO] [stderr]   Downloaded object v0.23.0
[INFO] [stderr]   Downloaded winit v0.23.0
[INFO] [stderr]   Downloaded glium v0.28.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 4a66d63490fa90cd8d113cbdac71271d800d396ab69ddbe5ea4f41d2d73ac62a
[INFO] running `Command { std: "docker" "start" "4a66d63490fa90cd8d113cbdac71271d800d396ab69ddbe5ea4f41d2d73ac62a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4a66d63490fa90cd8d113cbdac71271d800d396ab69ddbe5ea4f41d2d73ac62a", 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" "4a66d63490fa90cd8d113cbdac71271d800d396ab69ddbe5ea4f41d2d73ac62a" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4a66d63490fa90cd8d113cbdac71271d800d396ab69ddbe5ea4f41d2d73ac62a", 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" "4a66d63490fa90cd8d113cbdac71271d800d396ab69ddbe5ea4f41d2d73ac62a" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.26
[INFO] [stderr]    Compiling libc v0.2.94
[INFO] [stderr]    Compiling xml-rs v0.8.3
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling syn v1.0.72
[INFO] [stderr]    Compiling pkg-config v0.3.19
[INFO] [stderr]     Checking smallvec v1.6.1
[INFO] [stderr]    Compiling serde_derive v1.0.125
[INFO] [stderr]     Checking once_cell v1.7.2
[INFO] [stderr]     Checking libloading v0.7.0
[INFO] [stderr]    Compiling memchr v2.4.0
[INFO] [stderr]    Compiling serde v1.0.125
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]     Checking scoped-tls v1.0.0
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]    Compiling nix v0.18.0
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.4
[INFO] [stderr]     Checking instant v0.1.9
[INFO] [stderr]     Checking dlib v0.5.0
[INFO] [stderr]     Checking libloading v0.6.7
[INFO] [stderr]    Compiling serde_json v1.0.64
[INFO] [stderr]     Checking xdg v2.2.0
[INFO] [stderr]     Checking rusttype v0.9.2
[INFO] [stderr]     Checking slab v0.4.3
[INFO] [stderr]     Checking lock_api v0.4.4
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling nom v6.1.2
[INFO] [stderr]    Compiling winit v0.23.0
[INFO] [stderr]     Checking lazycell v1.3.0
[INFO] [stderr]    Compiling inventory v0.1.10
[INFO] [stderr]     Checking dlib v0.4.2
[INFO] [stderr]     Checking itoa v0.4.7
[INFO] [stderr]    Compiling cc v1.0.67
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]     Checking gimli v0.23.0
[INFO] [stderr]     Checking rustc-demangle v0.1.19
[INFO] [stderr]     Checking object v0.23.0
[INFO] [stderr]     Checking takeable-option v0.5.0
[INFO] [stderr]     Checking linked-hash-map v0.5.4
[INFO] [stderr]     Checking dtoa v0.4.8
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]    Compiling wayland-sys v0.28.5
[INFO] [stderr]    Compiling x11-dl v2.18.5
[INFO] [stderr]     Checking andrew v0.3.1
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling backtrace v0.3.58
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling wayland-scanner v0.28.5
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.5
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.7
[INFO] [stderr]    Compiling glium v0.28.0
[INFO] [stderr]     Checking nix v0.20.0
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking net2 v0.2.37
[INFO] [stderr]     Checking memmap2 v0.1.0
[INFO] [stderr]     Checking parking_lot_core v0.8.3
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking raw-window-handle v0.3.3
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking clap v2.33.3
[INFO] [stderr]     Checking parking_lot v0.11.1
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]     Checking mio-extras v2.0.6
[INFO] [stderr]    Compiling wayland-client v0.28.5
[INFO] [stderr]    Compiling wayland-protocols v0.28.5
[INFO] [stderr]     Checking xcursor v0.3.3
[INFO] [stderr]     Checking addr2line v0.14.1
[INFO] [stderr]     Checking calloop v0.6.5
[INFO] [stderr]     Checking wayland-commons v0.28.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.24
[INFO] [stderr]    Compiling ghost v0.1.2
[INFO] [stderr]    Compiling ctor v0.1.20
[INFO] [stderr]    Compiling inventory-impl v0.1.10
[INFO] [stderr]    Compiling typetag-impl v0.1.7
[INFO] [stderr]     Checking wayland-cursor v0.28.5
[INFO] [stderr]     Checking wayland-egl v0.28.5
[INFO] [stderr]     Checking thiserror v1.0.24
[INFO] [stderr]     Checking erased-serde v0.3.13
[INFO] [stderr]     Checking serde_yaml v0.8.17
[INFO] [stderr]     Checking typetag v0.1.7
[INFO] [stderr]     Checking math v0.1.0 (/opt/rustwide/workdir/src/math)
[INFO] [stderr]     Checking ray v0.1.0 (/opt/rustwide/workdir/src/ray)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/ray/src/things/thing.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_Thing_registry`
[INFO] [stdout] 9 | pub trait Thing {
[INFO] [stdout]   |           ----- `Thing` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/things/thing.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Send` is not local
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_Thing_registry`
[INFO] [stdout] 9 | pub trait Thing {
[INFO] [stdout]   |           ----- `Thing` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/things/thing.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Sync` is not local
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_Thing_registry`
[INFO] [stdout] 9 | pub trait Thing {
[INFO] [stdout]   |           ----- `Thing` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/things/thing.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Send` is not local
[INFO] [stdout]   | `Sync` is not local
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_Thing_registry`
[INFO] [stdout] 9 | pub trait Thing {
[INFO] [stdout]   |           ----- `Thing` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/things/thing.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_Thing_registry`
[INFO] [stdout] 9 | pub trait Thing {
[INFO] [stdout]   |           ----- `Thing` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/things/thing.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Strictest` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_Thing_registry`
[INFO] [stdout] 9 | pub trait Thing {
[INFO] [stdout]   |           ----- `Thing` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/things/thing.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Box` is not local
[INFO] [stdout]   | `Deserialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_Thing_registry`
[INFO] [stdout] 9 | pub trait Thing {
[INFO] [stdout]   |           ----- `Thing` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/surfaces/surface.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_ColorAt_registry`
[INFO] [stdout] 4 | pub trait ColorAt {
[INFO] [stdout]   |           ------- `ColorAt` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/surfaces/surface.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Send` is not local
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_ColorAt_registry`
[INFO] [stdout] 4 | pub trait ColorAt {
[INFO] [stdout]   |           ------- `ColorAt` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/surfaces/surface.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Sync` is not local
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_ColorAt_registry`
[INFO] [stdout] 4 | pub trait ColorAt {
[INFO] [stdout]   |           ------- `ColorAt` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/surfaces/surface.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Send` is not local
[INFO] [stdout]   | `Sync` is not local
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_ColorAt_registry`
[INFO] [stdout] 4 | pub trait ColorAt {
[INFO] [stdout]   |           ------- `ColorAt` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/surfaces/surface.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_ColorAt_registry`
[INFO] [stdout] 4 | pub trait ColorAt {
[INFO] [stdout]   |           ------- `ColorAt` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/surfaces/surface.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Strictest` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_ColorAt_registry`
[INFO] [stdout] 4 | pub trait ColorAt {
[INFO] [stdout]   |           ------- `ColorAt` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/surfaces/surface.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Box` is not local
[INFO] [stdout]   | `Deserialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_ColorAt_registry`
[INFO] [stdout] 4 | pub trait ColorAt {
[INFO] [stdout]   |           ------- `ColorAt` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/things/thing.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_Thing_registry`
[INFO] [stdout] 9 | pub trait Thing {
[INFO] [stdout]   |           ----- `Thing` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/things/thing.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Send` is not local
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_Thing_registry`
[INFO] [stdout] 9 | pub trait Thing {
[INFO] [stdout]   |           ----- `Thing` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/things/thing.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Sync` is not local
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_Thing_registry`
[INFO] [stdout] 9 | pub trait Thing {
[INFO] [stdout]   |           ----- `Thing` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/things/thing.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Send` is not local
[INFO] [stdout]   | `Sync` is not local
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_Thing_registry`
[INFO] [stdout] 9 | pub trait Thing {
[INFO] [stdout]   |           ----- `Thing` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/things/thing.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_Thing_registry`
[INFO] [stdout] 9 | pub trait Thing {
[INFO] [stdout]   |           ----- `Thing` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/things/thing.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Strictest` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_Thing_registry`
[INFO] [stdout] 9 | pub trait Thing {
[INFO] [stdout]   |           ----- `Thing` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/things/thing.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Box` is not local
[INFO] [stdout]   | `Deserialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_Thing_registry`
[INFO] [stdout] 9 | pub trait Thing {
[INFO] [stdout]   |           ----- `Thing` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/surfaces/surface.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_ColorAt_registry`
[INFO] [stdout] 4 | pub trait ColorAt {
[INFO] [stdout]   |           ------- `ColorAt` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/surfaces/surface.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Send` is not local
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_ColorAt_registry`
[INFO] [stdout] 4 | pub trait ColorAt {
[INFO] [stdout]   |           ------- `ColorAt` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/surfaces/surface.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Sync` is not local
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_ColorAt_registry`
[INFO] [stdout] 4 | pub trait ColorAt {
[INFO] [stdout]   |           ------- `ColorAt` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/surfaces/surface.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Send` is not local
[INFO] [stdout]   | `Sync` is not local
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_ColorAt_registry`
[INFO] [stdout] 4 | pub trait ColorAt {
[INFO] [stdout]   |           ------- `ColorAt` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/surfaces/surface.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_ColorAt_registry`
[INFO] [stdout] 4 | pub trait ColorAt {
[INFO] [stdout]   |           ------- `ColorAt` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/surfaces/surface.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Strictest` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_ColorAt_registry`
[INFO] [stdout] 4 | pub trait ColorAt {
[INFO] [stdout]   |           ------- `ColorAt` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (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/ray/src/surfaces/surface.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Box` is not local
[INFO] [stdout]   | `Deserialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_ColorAt_registry`
[INFO] [stdout] 4 | pub trait ColorAt {
[INFO] [stdout]   |           ------- `ColorAt` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[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 attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking smithay-client-toolkit v0.12.3
[INFO] [stderr]     Checking glutin v0.25.1
[INFO] [stderr]     Checking pixel-canvas v0.2.2
[INFO] [stderr]     Checking tracer v0.1.0 (/opt/rustwide/workdir/src/tracer)
[INFO] [stderr] warning: unused dependency `serde_json`
[INFO] [stderr]  --> src/math/Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | serde_json = "1.0"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `serde_json`
[INFO] [stderr] warning: `math` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 54.00s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v6.1.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 14`
[INFO] running `Command { std: "docker" "inspect" "4a66d63490fa90cd8d113cbdac71271d800d396ab69ddbe5ea4f41d2d73ac62a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4a66d63490fa90cd8d113cbdac71271d800d396ab69ddbe5ea4f41d2d73ac62a", kill_on_drop: false }`
[INFO] [stdout] 4a66d63490fa90cd8d113cbdac71271d800d396ab69ddbe5ea4f41d2d73ac62a
