[INFO] cloning repository https://github.com/albertsgarde/flexblock
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/albertsgarde/flexblock" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falbertsgarde%2Fflexblock", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falbertsgarde%2Fflexblock'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 83f0ecbff0f7cec51022fe4429c0e3d647932cfe
[INFO] testing albertsgarde/flexblock against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falbertsgarde%2Fflexblock" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/albertsgarde/flexblock
[INFO] finished tweaking git repo https://github.com/albertsgarde/flexblock
[INFO] tweaked toml for git repo https://github.com/albertsgarde/flexblock written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/albertsgarde/flexblock on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/albertsgarde/flexblock 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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded typenum v1.14.0
[INFO] [stderr]   Downloaded nalgebra-glm v0.11.0
[INFO] [stderr]   Downloaded gl v0.10.0
[INFO] [stderr]   Downloaded matrixmultiply v0.3.1
[INFO] [stderr]   Downloaded gl_generator v0.9.0
[INFO] [stderr]   Downloaded paste v1.0.5
[INFO] [stderr]   Downloaded simba v0.4.0
[INFO] [stderr]   Downloaded enum-map-derive v0.6.0
[INFO] [stderr]   Downloaded array-init v2.0.0
[INFO] [stderr]   Downloaded simplelog v0.10.2
[INFO] [stderr]   Downloaded alsa v0.5.0
[INFO] [stderr]   Downloaded num_enum_derive v0.5.4
[INFO] [stderr]   Downloaded oboe v0.4.4
[INFO] [stderr]   Downloaded ndk v0.4.0
[INFO] [stderr]   Downloaded nom v5.1.2
[INFO] [stderr]   Downloaded bindgen v0.56.0
[INFO] [stderr]   Downloaded smithay-client-toolkit v0.12.3
[INFO] [stderr]   Downloaded bumpalo v3.7.1
[INFO] [stderr]   Downloaded ttf-parser v0.6.2
[INFO] [stderr]   Downloaded oboe-sys v0.4.4
[INFO] [stderr]   Downloaded cpal v0.13.4
[INFO] [stderr]   Downloaded winit v0.24.0
[INFO] [stderr]   Downloaded combine v4.6.1
[INFO] [stderr]   Downloaded nix v0.18.0
[INFO] [stderr]   Downloaded nix v0.20.2
[INFO] [stderr]   Downloaded regex v1.4.6
[INFO] [stderr]   Downloaded num-bigint v0.4.2
[INFO] [stderr]   Downloaded konst v0.2.13
[INFO] [stderr]   Downloaded ndk-sys v0.2.1
[INFO] [stderr]   Downloaded hound v3.4.0
[INFO] [stderr]   Downloaded num-complex v0.4.0
[INFO] [stderr]   Downloaded typetag v0.1.7
[INFO] [stderr]   Downloaded cocoa v0.23.0
[INFO] [stderr]   Downloaded rusttype v0.9.2
[INFO] [stderr]   Downloaded glutin v0.26.0
[INFO] [stderr]   Downloaded rand_distr v0.4.2
[INFO] [stderr]   Downloaded text_io v0.1.9
[INFO] [stderr]   Downloaded konst_proc_macros v0.2.11
[INFO] [stderr]   Downloaded erased-serde v0.3.16
[INFO] [stderr]   Downloaded glutin_emscripten_sys v0.1.1
[INFO] [stderr]   Downloaded calloop v0.6.5
[INFO] [stderr]   Downloaded ndk-glue v0.4.0
[INFO] [stderr]   Downloaded ctor v0.1.21
[INFO] [stderr]   Downloaded ghost v0.1.2
[INFO] [stderr]   Downloaded android_glue v0.2.3
[INFO] [stderr]   Downloaded mio-extras v2.0.6
[INFO] [stderr]   Downloaded andrew v0.3.1
[INFO] [stderr]   Downloaded num_enum v0.5.4
[INFO] [stderr]   Downloaded konst_macro_rules v0.2.13
[INFO] [stderr]   Downloaded inventory v0.1.10
[INFO] [stderr]   Downloaded typetag-impl v0.1.7
[INFO] [stderr]   Downloaded core-graphics v0.22.2
[INFO] [stderr]   Downloaded num_enum v0.4.3
[INFO] [stderr]   Downloaded xdg v2.2.0
[INFO] [stderr]   Downloaded clang-sys v1.2.2
[INFO] [stderr]   Downloaded coreaudio-sys v0.2.8
[INFO] [stderr]   Downloaded proc-macro-crate v1.1.0
[INFO] [stderr]   Downloaded inventory-impl v0.1.10
[INFO] [stderr]   Downloaded glutin_egl_sys v0.1.5
[INFO] [stderr]   Downloaded glutin_glx_sys v0.1.7
[INFO] [stderr]   Downloaded wayland-egl v0.28.6
[INFO] [stderr]   Downloaded num_enum_derive v0.4.3
[INFO] [stderr]   Downloaded ndk v0.2.1
[INFO] [stderr]   Downloaded ndk-macro v0.2.0
[INFO] [stderr]   Downloaded ndk-glue v0.2.1
[INFO] [stderr]   Downloaded instant v0.1.11
[INFO] [stderr]   Downloaded owned_ttf_parser v0.6.0
[INFO] [stderr]   Downloaded ndk v0.3.0
[INFO] [stderr]   Downloaded ndk-glue v0.3.0
[INFO] [stderr]   Downloaded net2 v0.2.37
[INFO] [stderr]   Downloaded strum_macros v0.20.1
[INFO] [stderr]   Downloaded bytepack v0.4.1
[INFO] [stderr]   Downloaded bytepack_derive v0.2.0
[INFO] [stderr]   Downloaded nalgebra v0.25.4
[INFO] [stderr]   Downloaded enum-map v1.1.1
[INFO] [stderr]   Downloaded cexpr v0.4.0
[INFO] [stderr]   Downloaded midi v0.1.0
[INFO] [stderr]   Downloaded ab_glyph_rasterizer v0.1.4
[INFO] [stderr]   Downloaded dlib v0.4.2
[INFO] [stderr]   Downloaded strum v0.20.0
[INFO] [stderr]   Downloaded khronos_api v2.2.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 640cfe2b952e82438fa7974873ba25f4253ee80e726afd24b71d2f42c483e7ec
[INFO] running `Command { std: "docker" "start" "-a" "640cfe2b952e82438fa7974873ba25f4253ee80e726afd24b71d2f42c483e7ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "640cfe2b952e82438fa7974873ba25f4253ee80e726afd24b71d2f42c483e7ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "640cfe2b952e82438fa7974873ba25f4253ee80e726afd24b71d2f42c483e7ec", kill_on_drop: false }`
[INFO] [stdout] 640cfe2b952e82438fa7974873ba25f4253ee80e726afd24b71d2f42c483e7ec
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0ebd6f59e9643fa9448e5fce25a608e5f9ac21ad199c37b61eb1075fb4507500
[INFO] running `Command { std: "docker" "start" "-a" "0ebd6f59e9643fa9448e5fce25a608e5f9ac21ad199c37b61eb1075fb4507500", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling proc-macro2 v1.0.29
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling libc v0.2.103
[INFO] [stderr]    Compiling syn v1.0.80
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling libm v0.2.1
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling pkg-config v0.3.20
[INFO] [stderr]    Compiling xml-rs v0.8.4
[INFO] [stderr]    Compiling serde_derive v1.0.130
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling serde v1.0.130
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling memoffset v0.6.4
[INFO] [stderr]    Compiling smallvec v1.7.0
[INFO] [stderr]    Compiling khronos_api v2.2.0
[INFO] [stderr]    Compiling libloading v0.7.0
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling typenum v1.14.0
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling dlib v0.5.0
[INFO] [stderr]    Compiling xml-rs v0.7.0
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling instant v0.1.11
[INFO] [stderr]    Compiling wayland-sys v0.28.6
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]    Compiling once_cell v1.8.0
[INFO] [stderr]    Compiling paste v1.0.5
[INFO] [stderr]    Compiling adler32 v1.2.0
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]    Compiling lock_api v0.4.5
[INFO] [stderr]    Compiling nom v7.0.0
[INFO] [stderr]    Compiling matrixmultiply v0.3.1
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling num-bigint v0.4.2
[INFO] [stderr]    Compiling scoped-tls v1.0.0
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling downcast-rs v1.2.0
[INFO] [stderr]    Compiling miniz_oxide v0.3.7
[INFO] [stderr]    Compiling gl_generator v0.9.0
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]    Compiling quote v1.0.10
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling deflate v0.8.6
[INFO] [stderr]    Compiling num-rational v0.4.0
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]    Compiling nix v0.18.0
[INFO] [stderr]    Compiling wayland-scanner v0.28.6
[INFO] [stderr]    Compiling ttf-parser v0.6.2
[INFO] [stderr]    Compiling minimal-lexical v0.1.4
[INFO] [stderr]    Compiling thiserror v1.0.38
[INFO] [stderr]    Compiling x11-dl v2.19.1
[INFO] [stderr]    Compiling inventory v0.1.10
[INFO] [stderr]    Compiling ab_glyph_rasterizer v0.1.4
[INFO] [stderr]    Compiling approx v0.4.0
[INFO] [stderr]    Compiling png v0.16.8
[INFO] [stderr]    Compiling erased-serde v0.3.16
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling nix v0.20.2
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling gl v0.10.0
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling ppv-lite86 v0.2.10
[INFO] [stderr]    Compiling walkdir v2.3.2
[INFO] [stderr]    Compiling iovec v0.1.4
[INFO] [stderr]    Compiling owned_ttf_parser v0.6.0
[INFO] [stderr]    Compiling bytepack_derive v0.2.0
[INFO] [stderr]    Compiling rusttype v0.9.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling wayland-client v0.28.6
[INFO] [stderr]    Compiling wayland-protocols v0.28.6
[INFO] [stderr]    Compiling net2 v0.2.37
[INFO] [stderr]    Compiling num-complex v0.4.0
[INFO] [stderr]    Compiling libloading v0.6.7
[INFO] [stderr]    Compiling xdg v2.2.0
[INFO] [stderr]    Compiling bytepack v0.4.1
[INFO] [stderr]    Compiling cpal v0.13.4
[INFO] [stderr]    Compiling slab v0.4.4
[INFO] [stderr]    Compiling andrew v0.3.1
[INFO] [stderr]    Compiling dlib v0.4.2
[INFO] [stderr]    Compiling rand v0.8.4
[INFO] [stderr]    Compiling memmap2 v0.1.0
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.7
[INFO] [stderr]    Compiling mio v0.6.23
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.5
[INFO] [stderr]    Compiling konst_proc_macros v0.2.11
[INFO] [stderr]    Compiling unicode-segmentation v1.8.0
[INFO] [stderr]    Compiling xcursor v0.3.4
[INFO] [stderr]    Compiling konst_macro_rules v0.2.13
[INFO] [stderr]    Compiling lazycell v1.3.0
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling konst v0.2.13
[INFO] [stderr]    Compiling shared_library v0.1.9
[INFO] [stderr]    Compiling raw-window-handle v0.3.3
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling hound v3.4.0
[INFO] [stderr]    Compiling mio-extras v2.0.6
[INFO] [stderr]    Compiling text_io v0.1.9
[INFO] [stderr]    Compiling rand_distr v0.4.2
[INFO] [stderr]    Compiling serde_json v1.0.68
[INFO] [stderr]    Compiling array-init v2.0.0
[INFO] [stderr]    Compiling wayland-commons v0.28.6
[INFO] [stderr]    Compiling alsa v0.5.0
[INFO] [stderr]    Compiling osmesa-sys v0.1.2
[INFO] [stderr]    Compiling time v0.1.43
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling num v0.4.0
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling midi v0.1.0
[INFO] [stderr]    Compiling regex-syntax v0.6.25
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling itoa v0.4.8
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]    Compiling itertools v0.10.1
[INFO] [stderr]    Compiling dyn-clone v1.0.4
[INFO] [stderr]    Compiling calloop v0.6.5
[INFO] [stderr]    Compiling flate2 v1.0.22
[INFO] [stderr]    Compiling simplelog v0.10.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.38
[INFO] [stderr]    Compiling ghost v0.1.2
[INFO] [stderr]    Compiling ctor v0.1.21
[INFO] [stderr]    Compiling inventory-impl v0.1.10
[INFO] [stderr]    Compiling typetag-impl v0.1.7
[INFO] [stderr]    Compiling synth-derive v0.1.0 (/opt/rustwide/workdir/crates/synth/synth-derive)
[INFO] [stderr]    Compiling strum_macros v0.20.1
[INFO] [stderr]    Compiling enum-map-derive v0.6.0
[INFO] [stderr]    Compiling macros v0.1.0 (/opt/rustwide/workdir/crates/graphics/macros)
[INFO] [stderr]    Compiling enum-map v1.1.1
[INFO] [stderr]    Compiling wayland-cursor v0.28.6
[INFO] [stderr]    Compiling wayland-egl v0.28.6
[INFO] [stderr]    Compiling regex v1.4.6
[INFO] [stderr]    Compiling strum v0.20.0
[INFO] [stderr]    Compiling synth v0.1.0 (/opt/rustwide/workdir/crates/synth)
[INFO] [stdout] warning: unused import: `midi_player::MidiPlayer`
[INFO] [stdout]  --> crates/synth/src/midi/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use midi_player::MidiPlayer;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `MonoSampleProvider` is never used
[INFO] [stdout]  --> crates/synth/src/sample_provider.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub trait MonoSampleProvider {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `MidiPlayer` is never used
[INFO] [stdout]  --> crates/synth/src/midi/midi_player.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait MidiPlayer {
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> crates/synth/src/utils/rotating_array.rs:135:44
[INFO] [stdout]     |
[INFO] [stdout] 135 |     fn new(array: &'a RotatingArray<T>) -> RotatingArrayIterator<T> {
[INFO] [stdout]     |                    --                      ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 135 |     fn new(array: &'a RotatingArray<T>) -> RotatingArrayIterator<'a, T> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling num-complex v0.3.1
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]    Compiling simba v0.4.0
[INFO] [stderr]    Compiling typetag v0.1.7
[INFO] [stderr]    Compiling nalgebra v0.25.4
[INFO] [stderr]    Compiling smithay-client-toolkit v0.12.3
[INFO] [stderr]    Compiling winit v0.24.0
[INFO] [stderr]    Compiling glutin v0.26.0
[INFO] [stderr]    Compiling nalgebra-glm v0.11.0
[INFO] [stderr]    Compiling utils v0.0.0 (/opt/rustwide/workdir/crates/utils)
[INFO] [stderr]    Compiling world v0.0.0 (/opt/rustwide/workdir/crates/world)
[INFO] [stderr]    Compiling graphics v0.1.0 (/opt/rustwide/workdir/crates/graphics)
[INFO] [stderr]    Compiling world-generation v0.0.0 (/opt/rustwide/workdir/crates/world-generation)
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> crates/graphics/src/model/model_manager.rs:44:22
[INFO] [stdout]    |
[INFO] [stdout] 44 |             .map(|x| (x.model_name()))
[INFO] [stdout]    |                      ^              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 44 -             .map(|x| (x.model_name()))
[INFO] [stdout] 44 +             .map(|x| x.model_name() )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/world/src/terrain.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 170 |     ) -> VoxelTypeBoxIterator {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 170 |     ) -> VoxelTypeBoxIterator<'_> {
[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]   --> crates/world/src/voxel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[typetag::serde(tag = "type")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `Serialize` is not local
[INFO] [stdout]    | move the `impl` block outside of this constant `_Voxel_registry`
[INFO] [stdout] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stdout]    |           ----- `Voxel` 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]   --> crates/world/src/voxel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[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 `_Voxel_registry`
[INFO] [stdout] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stdout]    |           ----- `Voxel` 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]   --> crates/world/src/voxel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[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 `_Voxel_registry`
[INFO] [stdout] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stdout]    |           ----- `Voxel` 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]   --> crates/world/src/voxel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[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 `_Voxel_registry`
[INFO] [stdout] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stdout]    |           ----- `Voxel` 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]   --> crates/world/src/voxel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[typetag::serde(tag = "type")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_Voxel_registry`
[INFO] [stdout] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stdout]    |           ----- `Voxel` 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]   --> crates/world/src/voxel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[typetag::serde(tag = "type")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `Strictest` is not local
[INFO] [stdout]    | move the `impl` block outside of this constant `_Voxel_registry`
[INFO] [stdout] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stdout]    |           ----- `Voxel` 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]   --> crates/world/src/voxel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[typetag::serde(tag = "type")]
[INFO] [stdout]    | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `Box` is not local
[INFO] [stdout]    | `Send` is not local
[INFO] [stdout]    | `Deserialize` is not local
[INFO] [stdout]    | move the `impl` block outside of this constant `_Voxel_registry`
[INFO] [stdout] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stdout]    |           ----- `Voxel` 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]   --> crates/world/src/voxel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[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 `_Voxel_registry`
[INFO] [stdout] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stdout]    |           ----- `Voxel` 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]    Compiling audio v0.0.0 (/opt/rustwide/workdir/crates/audio)
[INFO] [stderr]    Compiling game v0.0.0 (/opt/rustwide/workdir/crates/game)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_ViewDirection_registry`
[INFO] [stdout] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stdout]   |           ------------- `ViewDirection` 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]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[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 `_ViewDirection_registry`
[INFO] [stdout] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stdout]   |           ------------- `ViewDirection` 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]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[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 `_ViewDirection_registry`
[INFO] [stdout] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stdout]   |           ------------- `ViewDirection` 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]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[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 `_ViewDirection_registry`
[INFO] [stdout] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stdout]   |           ------------- `ViewDirection` 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]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_ViewDirection_registry`
[INFO] [stdout] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stdout]   |           ------------- `ViewDirection` 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]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Strictest` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_ViewDirection_registry`
[INFO] [stdout] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stdout]   |           ------------- `ViewDirection` 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]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Box` is not local
[INFO] [stdout]   | `Send` is not local
[INFO] [stdout]   | `Deserialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_ViewDirection_registry`
[INFO] [stdout] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stdout]   |           ------------- `ViewDirection` 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]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[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 `_ViewDirection_registry`
[INFO] [stdout] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stdout]   |           ------------- `ViewDirection` 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]    Compiling flexblock v0.1.0 (/opt/rustwide/workdir/crates/flexblock-app)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 23s
[INFO] running `Command { std: "docker" "inspect" "0ebd6f59e9643fa9448e5fce25a608e5f9ac21ad199c37b61eb1075fb4507500", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0ebd6f59e9643fa9448e5fce25a608e5f9ac21ad199c37b61eb1075fb4507500", kill_on_drop: false }`
[INFO] [stdout] 0ebd6f59e9643fa9448e5fce25a608e5f9ac21ad199c37b61eb1075fb4507500
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9c5502eda1661d2da4b9a1ac11b97797abcdebdd5bf0d5ce42a5a23b07abe894
[INFO] running `Command { std: "docker" "start" "-a" "9c5502eda1661d2da4b9a1ac11b97797abcdebdd5bf0d5ce42a5a23b07abe894", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling synth-derive v0.1.0 (/opt/rustwide/workdir/crates/synth/synth-derive)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/world/src/terrain.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 170 |     ) -> VoxelTypeBoxIterator {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 170 |     ) -> VoxelTypeBoxIterator<'_> {
[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]   --> crates/world/src/voxel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[typetag::serde(tag = "type")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `Serialize` is not local
[INFO] [stdout]    | move the `impl` block outside of this constant `_Voxel_registry`
[INFO] [stdout] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stdout]    |           ----- `Voxel` 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]   --> crates/world/src/voxel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[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 `_Voxel_registry`
[INFO] [stdout] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stdout]    |           ----- `Voxel` 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]   --> crates/world/src/voxel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[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 `_Voxel_registry`
[INFO] [stdout] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stdout]    |           ----- `Voxel` 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]   --> crates/world/src/voxel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[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 `_Voxel_registry`
[INFO] [stdout] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stdout]    |           ----- `Voxel` 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]   --> crates/world/src/voxel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[typetag::serde(tag = "type")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_Voxel_registry`
[INFO] [stdout] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stdout]    |           ----- `Voxel` 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]   --> crates/world/src/voxel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[typetag::serde(tag = "type")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `Strictest` is not local
[INFO] [stdout]    | move the `impl` block outside of this constant `_Voxel_registry`
[INFO] [stdout] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stdout]    |           ----- `Voxel` 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]   --> crates/world/src/voxel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[typetag::serde(tag = "type")]
[INFO] [stdout]    | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `Box` is not local
[INFO] [stdout]    | `Send` is not local
[INFO] [stdout]    | `Deserialize` is not local
[INFO] [stdout]    | move the `impl` block outside of this constant `_Voxel_registry`
[INFO] [stdout] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stdout]    |           ----- `Voxel` 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]   --> crates/world/src/voxel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[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 `_Voxel_registry`
[INFO] [stdout] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stdout]    |           ----- `Voxel` 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]    Compiling macros v0.1.0 (/opt/rustwide/workdir/crates/graphics/macros)
[INFO] [stderr]    Compiling world v0.0.0 (/opt/rustwide/workdir/crates/world)
[INFO] [stderr]    Compiling world-generation v0.0.0 (/opt/rustwide/workdir/crates/world-generation)
[INFO] [stderr]    Compiling utils v0.0.0 (/opt/rustwide/workdir/crates/utils)
[INFO] [stderr]    Compiling graphics v0.1.0 (/opt/rustwide/workdir/crates/graphics)
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> crates/graphics/src/model/model_manager.rs:44:22
[INFO] [stdout]    |
[INFO] [stdout] 44 |             .map(|x| (x.model_name()))
[INFO] [stdout]    |                      ^              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 44 -             .map(|x| (x.model_name()))
[INFO] [stdout] 44 +             .map(|x| x.model_name() )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling synth v0.1.0 (/opt/rustwide/workdir/crates/synth)
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> crates/graphics/src/model/model_manager.rs:44:22
[INFO] [stdout]    |
[INFO] [stdout] 44 |             .map(|x| (x.model_name()))
[INFO] [stdout]    |                      ^              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 44 -             .map(|x| (x.model_name()))
[INFO] [stdout] 44 +             .map(|x| x.model_name() )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `midi_player::MidiPlayer`
[INFO] [stdout]  --> crates/synth/src/midi/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use midi_player::MidiPlayer;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `midi_player::MidiPlayer`
[INFO] [stdout]  --> crates/synth/src/midi/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use midi_player::MidiPlayer;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `MonoSampleProvider` is never used
[INFO] [stdout]  --> crates/synth/src/sample_provider.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub trait MonoSampleProvider {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `MidiPlayer` is never used
[INFO] [stdout]  --> crates/synth/src/midi/midi_player.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait MidiPlayer {
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> crates/synth/src/utils/rotating_array.rs:135:44
[INFO] [stdout]     |
[INFO] [stdout] 135 |     fn new(array: &'a RotatingArray<T>) -> RotatingArrayIterator<T> {
[INFO] [stdout]     |                    --                      ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 135 |     fn new(array: &'a RotatingArray<T>) -> RotatingArrayIterator<'a, T> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling audio v0.0.0 (/opt/rustwide/workdir/crates/audio)
[INFO] [stdout] warning: trait `MonoSampleProvider` is never used
[INFO] [stdout]  --> crates/synth/src/sample_provider.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub trait MonoSampleProvider {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `MidiPlayer` is never used
[INFO] [stdout]  --> crates/synth/src/midi/midi_player.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait MidiPlayer {
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> crates/synth/src/utils/rotating_array.rs:135:44
[INFO] [stdout]     |
[INFO] [stdout] 135 |     fn new(array: &'a RotatingArray<T>) -> RotatingArrayIterator<T> {
[INFO] [stdout]     |                    --                      ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 135 |     fn new(array: &'a RotatingArray<T>) -> RotatingArrayIterator<'a, T> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/world/src/terrain.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 170 |     ) -> VoxelTypeBoxIterator {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 170 |     ) -> VoxelTypeBoxIterator<'_> {
[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]   --> crates/world/src/voxel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[typetag::serde(tag = "type")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `Serialize` is not local
[INFO] [stdout]    | move the `impl` block outside of this constant `_Voxel_registry`
[INFO] [stdout] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stdout]    |           ----- `Voxel` 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]   --> crates/world/src/voxel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[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 `_Voxel_registry`
[INFO] [stdout] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stdout]    |           ----- `Voxel` 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]   --> crates/world/src/voxel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[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 `_Voxel_registry`
[INFO] [stdout] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stdout]    |           ----- `Voxel` 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]   --> crates/world/src/voxel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[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 `_Voxel_registry`
[INFO] [stdout] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stdout]    |           ----- `Voxel` 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]   --> crates/world/src/voxel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[typetag::serde(tag = "type")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_Voxel_registry`
[INFO] [stdout] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stdout]    |           ----- `Voxel` 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]   --> crates/world/src/voxel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[typetag::serde(tag = "type")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `Strictest` is not local
[INFO] [stdout]    | move the `impl` block outside of this constant `_Voxel_registry`
[INFO] [stdout] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stdout]    |           ----- `Voxel` 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]   --> crates/world/src/voxel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[typetag::serde(tag = "type")]
[INFO] [stdout]    | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `Box` is not local
[INFO] [stdout]    | `Send` is not local
[INFO] [stdout]    | `Deserialize` is not local
[INFO] [stdout]    | move the `impl` block outside of this constant `_Voxel_registry`
[INFO] [stdout] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stdout]    |           ----- `Voxel` 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]   --> crates/world/src/voxel.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[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 `_Voxel_registry`
[INFO] [stdout] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stdout]    |           ----- `Voxel` 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]    Compiling game v0.0.0 (/opt/rustwide/workdir/crates/game)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_ViewDirection_registry`
[INFO] [stdout] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stdout]   |           ------------- `ViewDirection` 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]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[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 `_ViewDirection_registry`
[INFO] [stdout] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stdout]   |           ------------- `ViewDirection` 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]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[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 `_ViewDirection_registry`
[INFO] [stdout] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stdout]   |           ------------- `ViewDirection` 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]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[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 `_ViewDirection_registry`
[INFO] [stdout] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stdout]   |           ------------- `ViewDirection` 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]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_ViewDirection_registry`
[INFO] [stdout] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stdout]   |           ------------- `ViewDirection` 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]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Strictest` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_ViewDirection_registry`
[INFO] [stdout] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stdout]   |           ------------- `ViewDirection` 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]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Box` is not local
[INFO] [stdout]   | `Send` is not local
[INFO] [stdout]   | `Deserialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_ViewDirection_registry`
[INFO] [stdout] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stdout]   |           ------------- `ViewDirection` 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]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[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 `_ViewDirection_registry`
[INFO] [stdout] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stdout]   |           ------------- `ViewDirection` 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]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_ViewDirection_registry`
[INFO] [stdout] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stdout]   |           ------------- `ViewDirection` 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]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[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 `_ViewDirection_registry`
[INFO] [stdout] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stdout]   |           ------------- `ViewDirection` 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]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[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 `_ViewDirection_registry`
[INFO] [stdout] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stdout]   |           ------------- `ViewDirection` 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]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[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 `_ViewDirection_registry`
[INFO] [stdout] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stdout]   |           ------------- `ViewDirection` 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]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_ViewDirection_registry`
[INFO] [stdout] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stdout]   |           ------------- `ViewDirection` 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]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Strictest` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_ViewDirection_registry`
[INFO] [stdout] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stdout]   |           ------------- `ViewDirection` 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]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[typetag::serde(tag = "type")]
[INFO] [stdout]   | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   | |
[INFO] [stdout]   | `Box` is not local
[INFO] [stdout]   | `Send` is not local
[INFO] [stdout]   | `Deserialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_ViewDirection_registry`
[INFO] [stdout] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stdout]   |           ------------- `ViewDirection` 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]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[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 `_ViewDirection_registry`
[INFO] [stdout] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stdout]   |           ------------- `ViewDirection` 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]    Compiling flexblock v0.1.0 (/opt/rustwide/workdir/crates/flexblock-app)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 8.24s
[INFO] running `Command { std: "docker" "inspect" "9c5502eda1661d2da4b9a1ac11b97797abcdebdd5bf0d5ce42a5a23b07abe894", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9c5502eda1661d2da4b9a1ac11b97797abcdebdd5bf0d5ce42a5a23b07abe894", kill_on_drop: false }`
[INFO] [stdout] 9c5502eda1661d2da4b9a1ac11b97797abcdebdd5bf0d5ce42a5a23b07abe894
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 673ab6e42befb15b69492df4ef79881ec89d9cb017b3510e601721af5c8622b8
[INFO] running `Command { std: "docker" "start" "-a" "673ab6e42befb15b69492df4ef79881ec89d9cb017b3510e601721af5c8622b8", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr] warning: unused import: `midi_player::MidiPlayer`
[INFO] [stderr]  --> crates/synth/src/midi/mod.rs:2:9
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub use midi_player::MidiPlayer;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait `MonoSampleProvider` is never used
[INFO] [stderr]  --> crates/synth/src/sample_provider.rs:7:11
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub trait MonoSampleProvider {
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait `MidiPlayer` is never used
[INFO] [stderr]  --> crates/synth/src/midi/midi_player.rs:3:11
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub trait MidiPlayer {
[INFO] [stderr]   |           ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> crates/synth/src/utils/rotating_array.rs:135:44
[INFO] [stderr]     |
[INFO] [stderr] 135 |     fn new(array: &'a RotatingArray<T>) -> RotatingArrayIterator<T> {
[INFO] [stderr]     |                    --                      ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                    |
[INFO] [stderr]     |                    the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 135 |     fn new(array: &'a RotatingArray<T>) -> RotatingArrayIterator<'a, T> {
[INFO] [stderr]     |                                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: `synth` (lib) generated 4 warnings (run `cargo fix --lib -p synth` to apply 2 suggestions)
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> crates/world/src/terrain.rs:167:9
[INFO] [stderr]     |
[INFO] [stderr] 167 |         &self,
[INFO] [stderr]     |         ^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 170 |     ) -> VoxelTypeBoxIterator {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 170 |     ) -> VoxelTypeBoxIterator<'_> {
[INFO] [stderr]     |                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> crates/world/src/voxel.rs:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | #[typetag::serde(tag = "type")]
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    | |
[INFO] [stderr]    | `Serialize` is not local
[INFO] [stderr]    | move the `impl` block outside of this constant `_Voxel_registry`
[INFO] [stderr] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stderr]    |           ----- `Voxel` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> crates/world/src/voxel.rs:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | #[typetag::serde(tag = "type")]
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    | |
[INFO] [stderr]    | `Send` is not local
[INFO] [stderr]    | `Serialize` is not local
[INFO] [stderr]    | move the `impl` block outside of this constant `_Voxel_registry`
[INFO] [stderr] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stderr]    |           ----- `Voxel` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> crates/world/src/voxel.rs:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | #[typetag::serde(tag = "type")]
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    | |
[INFO] [stderr]    | `Sync` is not local
[INFO] [stderr]    | `Serialize` is not local
[INFO] [stderr]    | move the `impl` block outside of this constant `_Voxel_registry`
[INFO] [stderr] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stderr]    |           ----- `Voxel` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> crates/world/src/voxel.rs:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | #[typetag::serde(tag = "type")]
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    | |
[INFO] [stderr]    | `Send` is not local
[INFO] [stderr]    | `Sync` is not local
[INFO] [stderr]    | `Serialize` is not local
[INFO] [stderr]    | move the `impl` block outside of this constant `_Voxel_registry`
[INFO] [stderr] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stderr]    |           ----- `Voxel` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> crates/world/src/voxel.rs:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | #[typetag::serde(tag = "type")]
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_Voxel_registry`
[INFO] [stderr] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stderr]    |           ----- `Voxel` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> crates/world/src/voxel.rs:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | #[typetag::serde(tag = "type")]
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    | |
[INFO] [stderr]    | `Strictest` is not local
[INFO] [stderr]    | move the `impl` block outside of this constant `_Voxel_registry`
[INFO] [stderr] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stderr]    |           ----- `Voxel` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> crates/world/src/voxel.rs:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | #[typetag::serde(tag = "type")]
[INFO] [stderr]    | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    | |
[INFO] [stderr]    | `Box` is not local
[INFO] [stderr]    | `Send` is not local
[INFO] [stderr]    | `Deserialize` is not local
[INFO] [stderr]    | move the `impl` block outside of this constant `_Voxel_registry`
[INFO] [stderr] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stderr]    |           ----- `Voxel` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> crates/world/src/voxel.rs:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | #[typetag::serde(tag = "type")]
[INFO] [stderr]    | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    | |
[INFO] [stderr]    | `Box` is not local
[INFO] [stderr]    | `Deserialize` is not local
[INFO] [stderr]    | move the `impl` block outside of this constant `_Voxel_registry`
[INFO] [stderr] 11 | pub trait Voxel: VoxelClone + Send {}
[INFO] [stderr]    |           ----- `Voxel` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = 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] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `world` (lib) generated 9 warnings (run `cargo fix --lib -p world` to apply 1 suggestion)
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stderr]   |
[INFO] [stderr] 4 | #[typetag::serde(tag = "type")]
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   | |
[INFO] [stderr]   | `Serialize` is not local
[INFO] [stderr]   | move the `impl` block outside of this constant `_ViewDirection_registry`
[INFO] [stderr] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stderr]   |           ------------- `ViewDirection` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = 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] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]   = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stderr]   |
[INFO] [stderr] 4 | #[typetag::serde(tag = "type")]
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   | |
[INFO] [stderr]   | `Send` is not local
[INFO] [stderr]   | `Serialize` is not local
[INFO] [stderr]   | move the `impl` block outside of this constant `_ViewDirection_registry`
[INFO] [stderr] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stderr]   |           ------------- `ViewDirection` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = 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] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stderr]   |
[INFO] [stderr] 4 | #[typetag::serde(tag = "type")]
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   | |
[INFO] [stderr]   | `Sync` is not local
[INFO] [stderr]   | `Serialize` is not local
[INFO] [stderr]   | move the `impl` block outside of this constant `_ViewDirection_registry`
[INFO] [stderr] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stderr]   |           ------------- `ViewDirection` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = 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] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stderr]   |
[INFO] [stderr] 4 | #[typetag::serde(tag = "type")]
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   | |
[INFO] [stderr]   | `Send` is not local
[INFO] [stderr]   | `Sync` is not local
[INFO] [stderr]   | `Serialize` is not local
[INFO] [stderr]   | move the `impl` block outside of this constant `_ViewDirection_registry`
[INFO] [stderr] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stderr]   |           ------------- `ViewDirection` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = 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] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stderr]   |
[INFO] [stderr] 4 | #[typetag::serde(tag = "type")]
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_ViewDirection_registry`
[INFO] [stderr] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stderr]   |           ------------- `ViewDirection` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = 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] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stderr]   |
[INFO] [stderr] 4 | #[typetag::serde(tag = "type")]
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   | |
[INFO] [stderr]   | `Strictest` is not local
[INFO] [stderr]   | move the `impl` block outside of this constant `_ViewDirection_registry`
[INFO] [stderr] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stderr]   |           ------------- `ViewDirection` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = 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] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stderr]   |
[INFO] [stderr] 4 | #[typetag::serde(tag = "type")]
[INFO] [stderr]   | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   | |
[INFO] [stderr]   | `Box` is not local
[INFO] [stderr]   | `Send` is not local
[INFO] [stderr]   | `Deserialize` is not local
[INFO] [stderr]   | move the `impl` block outside of this constant `_ViewDirection_registry`
[INFO] [stderr] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stderr]   |           ------------- `ViewDirection` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = 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] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> crates/game/src/view/view_direction.rs:4:1
[INFO] [stderr]   |
[INFO] [stderr] 4 | #[typetag::serde(tag = "type")]
[INFO] [stderr]   | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   | |
[INFO] [stderr]   | `Box` is not local
[INFO] [stderr]   | `Deserialize` is not local
[INFO] [stderr]   | move the `impl` block outside of this constant `_ViewDirection_registry`
[INFO] [stderr] 5 | pub trait ViewDirection: DynClone + Send {
[INFO] [stderr]   |           ------------- `ViewDirection` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = 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] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `game` (lib) generated 8 warnings
[INFO] [stderr] warning: `game` (lib test) generated 8 warnings (8 duplicates)
[INFO] [stderr] warning: `world` (lib test) generated 9 warnings (9 duplicates)
[INFO] [stderr] warning: `synth` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stderr] warning: unnecessary parentheses around closure body
[INFO] [stderr]   --> crates/graphics/src/model/model_manager.rs:44:22
[INFO] [stderr]    |
[INFO] [stderr] 44 |             .map(|x| (x.model_name()))
[INFO] [stderr]    |                      ^              ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 44 -             .map(|x| (x.model_name()))
[INFO] [stderr] 44 +             .map(|x| x.model_name() )
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: `graphics` (lib) generated 1 warning (run `cargo fix --lib -p graphics` to apply 1 suggestion)
[INFO] [stderr] warning: `graphics` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.28s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/audio-0959d5d491341f23)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/flexblock-262d9a3264c54f5b)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test pack::render_message_validator::tests::framebuffer_validation ... ok
[INFO] [stdout] test pack::render_message_validator::tests::basic_validation ... ok
[INFO] [stdout] test pack::render_message_validator::tests::uniform_validation ... ok
[INFO] [stdout] test pack::render_message_validator::tests::texture_name_validation ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/game-9f72f1c177f5ad31)
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test physics::aabb::test::diagonal_2d_negative ... ok
[INFO] [stdout] test physics::aabb::test::diagonal_2d_negative_move ... ok
[INFO] [stdout] test physics::aabb::test::adjacent_2d_small_negative_move ... ok
[INFO] [stdout] test physics::aabb::test::diagonal_2d_small_move ... ok
[INFO] [stdout] test physics::aabb::test::adjacent_2d_small_positive_move ... ok
[INFO] [stdout] test physics::aabb::test::diagonal_positive_2d ... ok
[INFO] [stdout] test physics::aabb::test::no_movement ... ok
[INFO] [stdout] test physics::aabb::test::diagonal_positive_2d_non_whole ... ok
[INFO] [stdout] test physics::aabb::test::simple_y ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/graphics-4d210cffb3191a61)
[INFO] [stdout] test physics::aabb::test::negative_2d_small_move ... ok
[INFO] [stdout] test physics::aabb::test::simple_x ... ok
[INFO] [stdout] test physics::aabb::test::simple_z ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test model::model_manager::tests::test_basic ... ok
[INFO] [stdout] test model::model_manager::tests::test_pack_unpack ... ok
[INFO] [stdout] test wrapper::shader::tests::right_shader_count_test ... ok
[INFO] [stdout] test wrapper::texture::tests::serialize_texture_metadata ... ok
[INFO] [stdout] test model::model_manager::tests::test_no_model - should panic ... ok
[INFO] [stdout] test model::model_manager::tests::test_not_packed - should panic ... ok
[INFO] [stdout] test model::model_manager::tests::test_pack_unpack_fail - should panic ... ok
[INFO] [stdout] test wrapper::shader::tests::no_shader_test - should panic ... ok
[INFO] [stdout] test wrapper::shader::tests::one_shader_too_many_test - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/macros-3be1b77d45a26bab)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/synth-019a52494c8bf116)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test utils::rotating_array::tests::into_iter ... ok
[INFO] [stdout] test utils::rotating_array::tests::simple ... ok
[INFO] [stdout] test utils::rotating_array::tests::iter ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/synth_derive-f57fad31646b59b5)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/utils-eaab22a90843fb0d)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test file_utilities::tests::simple_test ... ok
[INFO] [stdout] test mesh_iterator::test::simple_i32 ... ok
[INFO] [stdout] test png_reader::tests::read_png ... ignored
[INFO] [stdout] test png_reader::tests::write_png ... ignored
[INFO] [stdout] test mesh_iterator::test::simple_f32 ... ok
[INFO] [stdout] test ply::tests::convert_directly ... FAILED
[INFO] [stdout] test ply::tests::read_minimal_unaligned_ply ... FAILED
[INFO] [stdout] test mesh_iterator::test::negative_vec - should panic ... ok
[INFO] [stdout] test mesh_iterator::test::zero_coordinate - should panic ... ok
[INFO] [stdout] test ply::tests::load_simple ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- ply::tests::convert_directly stdout ----
[INFO] [stdout] Error: IOError(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" })
[INFO] [stdout] 
[INFO] [stdout] ---- ply::tests::read_minimal_unaligned_ply stdout ----
[INFO] [stdout] Read unaligned ply in 2332µs!
[INFO] [stdout] Error: IOError(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" })
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     ply::tests::convert_directly
[INFO] [stdout]     ply::tests::read_minimal_unaligned_ply
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 6 passed; 2 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p utils --lib`
[INFO] running `Command { std: "docker" "inspect" "673ab6e42befb15b69492df4ef79881ec89d9cb017b3510e601721af5c8622b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "673ab6e42befb15b69492df4ef79881ec89d9cb017b3510e601721af5c8622b8", kill_on_drop: false }`
[INFO] [stdout] 673ab6e42befb15b69492df4ef79881ec89d9cb017b3510e601721af5c8622b8
