[INFO] cloning repository https://github.com/pit-rpg/Viz
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pit-rpg/Viz" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpit-rpg%2FViz", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpit-rpg%2FViz'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 98d6d74b380fd7e5e6dbfa59df75f2bf91a3939d
[INFO] checking pit-rpg/Viz/98d6d74b380fd7e5e6dbfa59df75f2bf91a3939d against master#4008bbdf34b583ce44a467043aae3703afc0a76f for pr-129249-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpit-rpg%2FViz" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  58% (112/192)
Updating files:  59% (114/192)
Updating files:  60% (116/192)
Updating files:  61% (118/192)
Updating files:  62% (120/192)
Updating files:  63% (121/192)
Updating files:  64% (123/192)
Updating files:  65% (125/192)
Updating files:  66% (127/192)
Updating files:  67% (129/192)
Updating files:  68% (131/192)
Updating files:  69% (133/192)
Updating files:  70% (135/192)
Updating files:  71% (137/192)
Updating files:  72% (139/192)
Updating files:  73% (141/192)
Updating files:  74% (143/192)
Updating files:  75% (144/192)
Updating files:  76% (146/192)
Updating files:  77% (148/192)
Updating files:  78% (150/192)
Updating files:  79% (152/192)
Updating files:  80% (154/192)
Updating files:  81% (156/192)
Updating files:  82% (158/192)
Updating files:  83% (160/192)
Updating files:  84% (162/192)
Updating files:  85% (164/192)
Updating files:  86% (166/192)
Updating files:  87% (168/192)
Updating files:  88% (169/192)
Updating files:  89% (171/192)
Updating files:  90% (173/192)
Updating files:  91% (175/192)
Updating files:  92% (177/192)
Updating files:  93% (179/192)
Updating files:  94% (181/192)
Updating files:  95% (183/192)
Updating files:  96% (185/192)
Updating files:  97% (187/192)
Updating files:  98% (189/192)
Updating files:  99% (191/192)
Updating files: 100% (192/192)
Updating files: 100% (192/192), done.
[INFO] started tweaking git repo https://github.com/pit-rpg/Viz
[INFO] finished tweaking git repo https://github.com/pit-rpg/Viz
[INFO] tweaked toml for git repo https://github.com/pit-rpg/Viz written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/pit-rpg/Viz on toolchain 4008bbdf34b583ce44a467043aae3703afc0a76f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4008bbdf34b583ce44a467043aae3703afc0a76f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/pit-rpg/Viz already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4008bbdf34b583ce44a467043aae3703afc0a76f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `project` (manifest) generated 1 warning
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded autocfg v0.1.6
[INFO] [stderr]   Downloaded xml-rs v0.8.0
[INFO] [stderr]   Downloaded either v1.5.3
[INFO] [stderr]   Downloaded bitflags v1.2.0
[INFO] [stderr]   Downloaded tuple_utils v0.3.0
[INFO] [stderr]   Downloaded nodrop v0.1.14
[INFO] [stderr]   Downloaded itoa v0.4.4
[INFO] [stderr]   Downloaded glutin_wgl_sys v0.1.3
[INFO] [stderr]   Downloaded glutin_glx_sys v0.1.5
[INFO] [stderr]   Downloaded gltf-derive v0.14.0
[INFO] [stderr]   Downloaded num_cpus v1.10.1
[INFO] [stderr]   Downloaded lock_api v0.3.1
[INFO] [stderr]   Downloaded gl_generator v0.11.0
[INFO] [stderr]   Downloaded ordered-float v1.0.2
[INFO] [stderr]   Downloaded crossbeam-queue v0.1.2
[INFO] [stderr]   Downloaded memoffset v0.5.1
[INFO] [stderr]   Downloaded const-random v0.1.6
[INFO] [stderr]   Downloaded unicode-xid v0.2.0
[INFO] [stderr]   Downloaded const-random-macro v0.1.6
[INFO] [stderr]   Downloaded filetime v0.2.7
[INFO] [stderr]   Downloaded mopa v0.2.2
[INFO] [stderr]   Downloaded shrev v1.1.1
[INFO] [stderr]   Downloaded proc-macro-hack v0.5.10
[INFO] [stderr]   Downloaded obj v0.9.0
[INFO] [stderr]   Downloaded color_quant v1.0.1
[INFO] [stderr]   Downloaded glutin_egl_sys v0.1.3
[INFO] [stderr]   Downloaded thread_local v0.3.6
[INFO] [stderr]   Downloaded pathdiff v0.1.0
[INFO] [stderr]   Downloaded arrayvec v0.4.12
[INFO] [stderr]   Downloaded quote v1.0.2
[INFO] [stderr]   Downloaded num-derive v0.2.5
[INFO] [stderr]   Downloaded lzw v0.10.0
[INFO] [stderr]   Downloaded wayland-sys v0.21.13
[INFO] [stderr]   Downloaded dlib v0.4.1
[INFO] [stderr]   Downloaded wayland-scanner v0.21.13
[INFO] [stderr]   Downloaded wayland-commons v0.21.13
[INFO] [stderr]   Downloaded andrew v0.2.1
[INFO] [stderr]   Downloaded winapi-util v0.1.2
[INFO] [stderr]   Downloaded same-file v1.0.5
[INFO] [stderr]   Downloaded glutin_emscripten_sys v0.1.0
[INFO] [stderr]   Downloaded gltf-json v0.14.0
[INFO] [stderr]   Downloaded gl v0.14.0
[INFO] [stderr]   Downloaded rgb v0.8.14
[INFO] [stderr]   Downloaded num-iter v0.1.39
[INFO] [stderr]   Downloaded glutin_gles2_sys v0.1.3
[INFO] [stderr]   Downloaded getrandom v0.1.12
[INFO] [stderr]   Downloaded scoped_threadpool v0.1.9
[INFO] [stderr]   Downloaded downcast-rs v1.1.0
[INFO] [stderr]   Downloaded memmap v0.7.0
[INFO] [stderr]   Downloaded xdg v2.2.0
[INFO] [stderr]   Downloaded line_drawing v0.7.0
[INFO] [stderr]   Downloaded percent-encoding v2.1.0
[INFO] [stderr]   Downloaded gl_generator v0.14.0
[INFO] [stderr]   Downloaded colored v1.8.0
[INFO] [stderr]   Downloaded num-traits v0.1.43
[INFO] [stderr]   Downloaded approx v0.1.1
[INFO] [stderr]   Downloaded stb_truetype v0.3.0
[INFO] [stderr]   Downloaded byteorder v1.3.2
[INFO] [stderr]   Downloaded approx v0.3.2
[INFO] [stderr]   Downloaded gltf v0.14.0
[INFO] [stderr]   Downloaded image v0.21.3
[INFO] [stderr]   Downloaded png v0.14.1
[INFO] [stderr]   Downloaded winconsole v0.10.0
[INFO] [stderr]   Downloaded pkg-config v0.3.16
[INFO] [stderr]   Downloaded objc v0.2.6
[INFO] [stderr]   Downloaded cgmath v0.16.1
[INFO] [stderr]   Downloaded rusttype v0.8.1
[INFO] [stderr]   Downloaded arrayvec v0.5.1
[INFO] [stderr]   Downloaded crossbeam-deque v0.7.1
[INFO] [stderr]   Downloaded hibitset v0.6.2
[INFO] [stderr]   Downloaded tiff v0.3.1
[INFO] [stderr]   Downloaded gif v0.10.3
[INFO] [stderr]   Downloaded ahash v0.2.16
[INFO] [stderr]   Downloaded rand_core v0.5.1
[INFO] [stderr]   Downloaded inflate v0.4.5
[INFO] [stderr]   Downloaded num-rational v0.2.2
[INFO] [stderr]   Downloaded num-integer v0.1.41
[INFO] [stderr]   Downloaded libloading v0.5.2
[INFO] [stderr]   Downloaded walkdir v2.2.9
[INFO] [stderr]   Downloaded wasi v0.7.0
[INFO] [stderr]   Downloaded log v0.4.8
[INFO] [stderr]   Downloaded ryu v1.0.0
[INFO] [stderr]   Downloaded memchr v2.2.1
[INFO] [stderr]   Downloaded parking_lot_core v0.6.2
[INFO] [stderr]   Downloaded rustc-demangle v0.1.16
[INFO] [stderr]   Downloaded rusttype v0.7.9
[INFO] [stderr]   Downloaded num-traits v0.2.8
[INFO] [stderr]   Downloaded smallvec v0.6.10
[INFO] [stderr]   Downloaded crossbeam-epoch v0.7.2
[INFO] [stderr]   Downloaded shred v0.9.3
[INFO] [stderr]   Downloaded core-graphics v0.17.3
[INFO] [stderr]   Downloaded crossbeam-utils v0.6.6
[INFO] [stderr]   Downloaded cc v1.0.45
[INFO] [stderr]   Downloaded jpeg-decoder v0.1.16
[INFO] [stderr]   Downloaded proc-macro2 v1.0.5
[INFO] [stderr]   Downloaded derivative v1.0.3
[INFO] [stderr]   Downloaded serde_derive v1.0.101
[INFO] [stderr]   Downloaded png v0.15.0
[INFO] [stderr]   Downloaded cocoa v0.18.4
[INFO] [stderr]   Downloaded heck v0.3.1
[INFO] [stderr]   Downloaded serde_json v1.0.41
[INFO] [stderr]   Downloaded glutin v0.21.1
[INFO] [stderr]   Downloaded x11-dl v2.18.4
[INFO] [stderr]   Downloaded atom v0.3.5
[INFO] [stderr]   Downloaded serde v1.0.101
[INFO] [stderr]   Downloaded rayon-core v1.6.0
[INFO] [stderr]   Downloaded wayland-client v0.21.13
[INFO] [stderr]   Downloaded hashbrown v0.6.1
[INFO] [stderr]   Downloaded smithay-client-toolkit v0.4.6
[INFO] [stderr]   Downloaded backtrace v0.3.38
[INFO] [stderr]   Downloaded unicode-segmentation v1.3.0
[INFO] [stderr]   Downloaded rand v0.7.2
[INFO] [stderr]   Downloaded specs v0.15.1
[INFO] [stderr]   Downloaded aho-corasick v0.7.6
[INFO] [stderr]   Downloaded deflate v0.7.20
[INFO] [stderr]   Downloaded rayon v1.2.0
[INFO] [stderr]   Downloaded wayland-protocols v0.21.13
[INFO] [stderr]   Downloaded syn v1.0.5
[INFO] [stderr]   Downloaded image v0.22.3
[INFO] [stderr]   Downloaded nix v0.14.1
[INFO] [stderr]   Downloaded regex v1.3.1
[INFO] [stderr]   Downloaded winit v0.19.3
[INFO] [stderr]   Downloaded regex-syntax v0.6.12
[INFO] [stderr]   Downloaded libc v0.2.62
[INFO] [stderr]   Downloaded typer v0.1.1
[INFO] [stderr]   Downloaded backtrace-sys v0.1.31
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2786a1b141c1ee900e98066e0bb23fbd89321a3973433f3413e8152104e36bb1
[INFO] running `Command { std: "docker" "start" "2786a1b141c1ee900e98066e0bb23fbd89321a3973433f3413e8152104e36bb1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2786a1b141c1ee900e98066e0bb23fbd89321a3973433f3413e8152104e36bb1" "/opt/rustwide/cargo-home/bin/cargo" "+4008bbdf34b583ce44a467043aae3703afc0a76f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2786a1b141c1ee900e98066e0bb23fbd89321a3973433f3413e8152104e36bb1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2786a1b141c1ee900e98066e0bb23fbd89321a3973433f3413e8152104e36bb1" "/opt/rustwide/cargo-home/bin/cargo" "+4008bbdf34b583ce44a467043aae3703afc0a76f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `project` (manifest) generated 1 warning
[INFO] [stderr]    Compiling libc v0.2.62
[INFO] [stderr]    Compiling autocfg v0.1.6
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling xml-rs v0.8.0
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.5
[INFO] [stderr]    Compiling bitflags v1.2.0
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling getrandom v0.1.12
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]     Checking scopeguard v1.0.0
[INFO] [stderr]    Compiling syn v1.0.5
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling arrayvec v0.4.12
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]    Compiling memoffset v0.5.1
[INFO] [stderr]     Checking crossbeam-utils v0.6.6
[INFO] [stderr]     Checking nodrop v0.1.14
[INFO] [stderr]    Compiling cc v1.0.45
[INFO] [stderr]    Compiling rayon-core v1.6.0
[INFO] [stderr]     Checking rand_core v0.4.2
[INFO] [stderr]    Compiling wayland-scanner v0.21.13
[INFO] [stderr]     Checking num_cpus v1.10.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.5
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]     Checking crossbeam-epoch v0.7.2
[INFO] [stderr]     Checking crossbeam-queue v0.1.2
[INFO] [stderr]    Compiling c2-chacha v0.2.2
[INFO] [stderr]    Compiling nix v0.14.1
[INFO] [stderr]     Checking either v1.5.3
[INFO] [stderr]     Checking ordered-float v1.0.2
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]    Compiling rand_chacha v0.2.1
[INFO] [stderr]     Checking crossbeam-deque v0.7.1
[INFO] [stderr]    Compiling gl_generator v0.11.0
[INFO] [stderr]    Compiling libloading v0.5.2
[INFO] [stderr]     Checking stb_truetype v0.3.0
[INFO] [stderr]     Checking arrayvec v0.5.1
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking adler32 v1.0.4
[INFO] [stderr]     Checking rusttype v0.8.1
[INFO] [stderr]    Compiling rand v0.7.2
[INFO] [stderr]     Checking dlib v0.4.1
[INFO] [stderr]     Checking wayland-sys v0.21.13
[INFO] [stderr]     Checking rayon v1.2.0
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]    Compiling num-iter v0.1.39
[INFO] [stderr]     Checking smallvec v0.6.10
[INFO] [stderr]    Compiling pkg-config v0.3.16
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling wayland-client v0.21.13
[INFO] [stderr]    Compiling x11-dl v2.18.4
[INFO] [stderr]    Compiling wayland-protocols v0.21.13
[INFO] [stderr]     Checking rusttype v0.7.9
[INFO] [stderr]     Checking deflate v0.7.20
[INFO] [stderr]     Checking inflate v0.4.5
[INFO] [stderr]    Compiling parking_lot_core v0.6.2
[INFO] [stderr]    Compiling num-rational v0.2.2
[INFO] [stderr]    Compiling serde v1.0.101
[INFO] [stderr]     Checking downcast-rs v1.1.0
[INFO] [stderr]     Checking lzw v0.10.0
[INFO] [stderr]     Checking same-file v1.0.5
[INFO] [stderr]    Compiling ryu v1.0.0
[INFO] [stderr]     Checking walkdir v2.2.9
[INFO] [stderr]     Checking line_drawing v0.7.0
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]    Compiling hashbrown v0.6.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]     Checking xdg v2.2.0
[INFO] [stderr]    Compiling cgmath v0.16.1
[INFO] [stderr]    Compiling crc32fast v1.2.0
[INFO] [stderr]    Compiling num-derive v0.2.5
[INFO] [stderr]    Compiling winapi v0.3.8
[INFO] [stderr]    Compiling memchr v2.2.1
[INFO] [stderr]    Compiling proc-macro-hack v0.5.10
[INFO] [stderr]    Compiling serde_derive v1.0.101
[INFO] [stderr]     Checking andrew v0.2.1
[INFO] [stderr]    Compiling const-random-macro v0.1.6
[INFO] [stderr]     Checking jpeg-decoder v0.1.16
[INFO] [stderr]     Checking wayland-commons v0.21.13
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.5
[INFO] [stderr]     Checking const-random v0.1.6
[INFO] [stderr]     Checking ahash v0.2.16
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.3
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking lock_api v0.3.1
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]     Checking approx v0.1.1
[INFO] [stderr]     Checking itoa v0.4.4
[INFO] [stderr]    Compiling inflections v1.1.1
[INFO] [stderr]    Compiling gltf-derive v0.14.0
[INFO] [stderr]    Compiling gl v0.14.0
[INFO] [stderr]    Compiling derivative v1.0.3
[INFO] [stderr]     Checking png v0.14.1
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking rand_jitter v0.1.4
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking rgb v0.8.14
[INFO] [stderr]     Checking percent-encoding v2.1.0
[INFO] [stderr]     Checking unicode-width v0.1.6
[INFO] [stderr]     Checking mopa v0.2.2
[INFO] [stderr]     Checking atom v0.3.5
[INFO] [stderr]     Checking color_quant v1.0.1
[INFO] [stderr]     Checking shred v0.9.3
[INFO] [stderr]     Checking hibitset v0.6.2
[INFO] [stderr]     Checking gif v0.10.3
[INFO] [stderr]     Checking tiff v0.3.1
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking image v0.21.3
[INFO] [stderr]     Checking aho-corasick v0.7.6
[INFO] [stderr]     Checking winconsole v0.10.0
[INFO] [stderr]     Checking png v0.15.0
[INFO] [stderr]     Checking xattr v0.2.2
[INFO] [stderr]     Checking atty v0.2.13
[INFO] [stderr]     Checking filetime v0.2.7
[INFO] [stderr]     Checking base64 v0.10.1
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking unicode-segmentation v1.3.0
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking regex-syntax v0.6.12
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking shrev v1.1.1
[INFO] [stderr]     Checking tuple_utils v0.3.0
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]     Checking heck v0.3.1
[INFO] [stderr]     Checking image v0.22.3
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking specs v0.15.1
[INFO] [stderr]     Checking tar v0.4.26
[INFO] [stderr]     Checking uuid v0.7.4
[INFO] [stderr]     Checking colored v1.8.0
[INFO] [stderr]     Checking typer v0.1.1
[INFO] [stderr]     Checking pathdiff v0.1.0
[INFO] [stderr]     Checking obj v0.9.0
[INFO] [stderr]     Checking regex v1.3.1
[INFO] [stderr]     Checking serde_json v1.0.41
[INFO] [stderr]     Checking gltf-json v0.14.0
[INFO] [stderr]     Checking gltf v0.14.0
[INFO] [stderr]     Checking smithay-client-toolkit v0.4.6
[INFO] [stderr]     Checking winit v0.19.3
[INFO] [stderr]     Checking glutin v0.21.1
[INFO] [stderr]     Checking project v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `self::uuid::Uuid`
[INFO] [stdout]  --> src/core/material.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use self::uuid::Uuid;
[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: `UniformItem`
[INFO] [stdout]  --> src/core/material.rs:6:69
[INFO] [stdout]   |
[INFO] [stdout] 6 | use super::{Blending, ShaderProgram, ShaderTag, ToUniform, Uniform, UniformItem, UniformName};
[INFO] [stdout]   |                                                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/core/material.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/core/texture.rs:108:49
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn load(&mut self) -> Result<&TextureData, (String)> {
[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] 108 -     pub fn load(&mut self) -> Result<&TextureData, (String)> {
[INFO] [stdout] 108 +     pub fn load(&mut self) -> Result<&TextureData, String > {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ShaderProgram`
[INFO] [stdout]  --> src/render/open_gl/gl_material.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 | use core::{Material, ShaderProgram};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::uuid::Uuid`
[INFO] [stdout]  --> src/core/material.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use self::uuid::Uuid;
[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: `UniformItem`
[INFO] [stdout]  --> src/core/material.rs:6:69
[INFO] [stdout]   |
[INFO] [stdout] 6 | use super::{Blending, ShaderProgram, ShaderTag, ToUniform, Uniform, UniformItem, UniformName};
[INFO] [stdout]   |                                                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/core/material.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/core/texture.rs:108:49
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn load(&mut self) -> Result<&TextureData, (String)> {
[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] 108 -     pub fn load(&mut self) -> Result<&TextureData, (String)> {
[INFO] [stdout] 108 +     pub fn load(&mut self) -> Result<&TextureData, String > {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/helpers/load_gltf.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ShaderProgram`
[INFO] [stdout]   --> src/helpers/load_gltf.rs:59:2
[INFO] [stdout]    |
[INFO] [stdout] 59 |     ShaderProgram,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ShaderProgram`
[INFO] [stdout]  --> src/render/open_gl/gl_material.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 | use core::{Material, ShaderProgram};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/helpers/load_gltf.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ShaderProgram`
[INFO] [stdout]   --> src/helpers/load_gltf.rs:59:2
[INFO] [stdout]    |
[INFO] [stdout] 59 |     ShaderProgram,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:26:2
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[inline] fn zero() -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:27:2
[INFO] [stdout]    |
[INFO] [stdout] 27 |     #[inline] fn one() -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:28:2
[INFO] [stdout]    |
[INFO] [stdout] 28 |     #[inline] fn two() -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:29:2
[INFO] [stdout]    |
[INFO] [stdout] 29 |     #[inline] fn random() -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:30:2
[INFO] [stdout]    |
[INFO] [stdout] 30 |     #[inline] fn sqrt(&self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:31:2
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[inline] fn abs(&self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:32:2
[INFO] [stdout]    |
[INFO] [stdout] 32 |     #[inline] fn round(&self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:33:2
[INFO] [stdout]    |
[INFO] [stdout] 33 |     #[inline] fn floor(&self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:34:2
[INFO] [stdout]    |
[INFO] [stdout] 34 |     #[inline] fn ceil(&self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:35:2
[INFO] [stdout]    |
[INFO] [stdout] 35 |     #[inline] fn cos(&self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:36:2
[INFO] [stdout]    |
[INFO] [stdout] 36 |     #[inline] fn sin(&self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:37:2
[INFO] [stdout]    |
[INFO] [stdout] 37 |     #[inline] fn acos(&self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:38:2
[INFO] [stdout]    |
[INFO] [stdout] 38 |     #[inline] fn asin(&self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:39:2
[INFO] [stdout]    |
[INFO] [stdout] 39 |     #[inline] fn min(&self, other:Self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:40:2
[INFO] [stdout]    |
[INFO] [stdout] 40 |     #[inline] fn max(&self, other:Self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:41:2
[INFO] [stdout]    |
[INFO] [stdout] 41 |     #[inline] fn max_val() -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:42:2
[INFO] [stdout]    |
[INFO] [stdout] 42 |     #[inline] fn min_val() -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:43:2
[INFO] [stdout]    |
[INFO] [stdout] 43 |     #[inline] fn atan2(y:Self, x:Self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:44:2
[INFO] [stdout]    |
[INFO] [stdout] 44 |     #[inline] fn epsilon() -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:45:2
[INFO] [stdout]    |
[INFO] [stdout] 45 |     #[inline] fn clamp(&self, min: Self, max: Self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:46:2
[INFO] [stdout]    |
[INFO] [stdout] 46 |     #[inline] fn from_f32(n: f32) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:47:2
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[inline] fn from_f64(n: f64) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:26:2
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[inline] fn zero() -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:27:2
[INFO] [stdout]    |
[INFO] [stdout] 27 |     #[inline] fn one() -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:28:2
[INFO] [stdout]    |
[INFO] [stdout] 28 |     #[inline] fn two() -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:29:2
[INFO] [stdout]    |
[INFO] [stdout] 29 |     #[inline] fn random() -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:30:2
[INFO] [stdout]    |
[INFO] [stdout] 30 |     #[inline] fn sqrt(&self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:31:2
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[inline] fn abs(&self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:32:2
[INFO] [stdout]    |
[INFO] [stdout] 32 |     #[inline] fn round(&self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:33:2
[INFO] [stdout]    |
[INFO] [stdout] 33 |     #[inline] fn floor(&self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:34:2
[INFO] [stdout]    |
[INFO] [stdout] 34 |     #[inline] fn ceil(&self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:35:2
[INFO] [stdout]    |
[INFO] [stdout] 35 |     #[inline] fn cos(&self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:36:2
[INFO] [stdout]    |
[INFO] [stdout] 36 |     #[inline] fn sin(&self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:37:2
[INFO] [stdout]    |
[INFO] [stdout] 37 |     #[inline] fn acos(&self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:38:2
[INFO] [stdout]    |
[INFO] [stdout] 38 |     #[inline] fn asin(&self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:39:2
[INFO] [stdout]    |
[INFO] [stdout] 39 |     #[inline] fn min(&self, other:Self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:40:2
[INFO] [stdout]    |
[INFO] [stdout] 40 |     #[inline] fn max(&self, other:Self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:41:2
[INFO] [stdout]    |
[INFO] [stdout] 41 |     #[inline] fn max_val() -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:42:2
[INFO] [stdout]    |
[INFO] [stdout] 42 |     #[inline] fn min_val() -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:43:2
[INFO] [stdout]    |
[INFO] [stdout] 43 |     #[inline] fn atan2(y:Self, x:Self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:44:2
[INFO] [stdout]    |
[INFO] [stdout] 44 |     #[inline] fn epsilon() -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:45:2
[INFO] [stdout]    |
[INFO] [stdout] 45 |     #[inline] fn clamp(&self, min: Self, max: Self) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:46:2
[INFO] [stdout]    |
[INFO] [stdout] 46 |     #[inline] fn from_f32(n: f32) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]   --> src/helpers/nums.rs:47:2
[INFO] [stdout]    |
[INFO] [stdout] 47 |     #[inline] fn from_f64(n: f64) -> Self;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[inline]` can only be applied to functions with a body
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/helpers/load_gltf.rs:81:74
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn load_gltf(world: &mut World, path: PathBuf) -> Result<Entity, Box<StdError>> {
[INFO] [stdout]    |                                                                          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn load_gltf(world: &mut World, path: PathBuf) -> Result<Entity, Box<dyn StdError>> {
[INFO] [stdout]    |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/helpers/load_gltf.rs:81:74
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn load_gltf(world: &mut World, path: PathBuf) -> Result<Entity, Box<StdError>> {
[INFO] [stdout]    |                                                                          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn load_gltf(world: &mut World, path: PathBuf) -> Result<Entity, Box<dyn StdError>> {
[INFO] [stdout]    |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/core/buffer_geometry.rs:395:52
[INFO] [stdout]     |
[INFO] [stdout] 395 |     pub fn update_box3 (&mut self) -> Result <(), Box<Error>> {
[INFO] [stdout]     |                                                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 395 |     pub fn update_box3 (&mut self) -> Result <(), Box<dyn Error>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/core/buffer_geometry.rs:395:52
[INFO] [stdout]     |
[INFO] [stdout] 395 |     pub fn update_box3 (&mut self) -> Result <(), Box<Error>> {
[INFO] [stdout]     |                                                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 395 |     pub fn update_box3 (&mut self) -> Result <(), Box<dyn Error>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/core/buffer_geometry.rs:409:56
[INFO] [stdout]     |
[INFO] [stdout] 409 |     pub fn get_b_box(&mut self) -> Result<BBox3<f32>, Box<Error>> {
[INFO] [stdout]     |                                                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 409 |     pub fn get_b_box(&mut self) -> Result<BBox3<f32>, Box<dyn Error>> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/core/buffer_geometry.rs:409:56
[INFO] [stdout]     |
[INFO] [stdout] 409 |     pub fn get_b_box(&mut self) -> Result<BBox3<f32>, Box<Error>> {
[INFO] [stdout]     |                                                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 409 |     pub fn get_b_box(&mut self) -> Result<BBox3<f32>, Box<dyn Error>> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `len` is never read
[INFO] [stdout]    --> src/core/buffer_geometry.rs:272:17
[INFO] [stdout]     |
[INFO] [stdout] 272 |         let mut len = 0;
[INFO] [stdout]     |                       ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 279 |                 len = positions.len();
[INFO] [stdout]     |                 --------------------- `len` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `len` is never read
[INFO] [stdout]    --> src/core/buffer_geometry.rs:272:17
[INFO] [stdout]     |
[INFO] [stdout] 272 |         let mut len = 0;
[INFO] [stdout]     |                       ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 279 |                 len = positions.len();
[INFO] [stdout]     |                 --------------------- `len` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `parent_transform` is never read
[INFO] [stdout]   --> src/core/systems/system_transform.rs:59:30
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let mut parent_transform = Transform::default();
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 62 |             parent_transform = Transform::default();
[INFO] [stdout]    |             --------------------------------------- `parent_transform` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `parent_transform` is never read
[INFO] [stdout]   --> src/core/systems/system_transform.rs:59:30
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let mut parent_transform = Transform::default();
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 62 |             parent_transform = Transform::default();
[INFO] [stdout]    |             --------------------------------------- `parent_transform` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `material_index`
[INFO] [stdout]    --> src/helpers/geometry_generators.rs:115:142
[INFO] [stdout]     |
[INFO] [stdout] 115 | ...e, grid_y: usize, material_index: i32| {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_material_index`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/helpers/geometry_generators.rs:301:6
[INFO] [stdout]     |
[INFO] [stdout] 301 |     let mut vertices = vec![
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/helpers/geometry_generators.rs:307:6
[INFO] [stdout]     |
[INFO] [stdout] 307 |     let mut indices = vec![
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `center` and `radius` are never read
[INFO] [stdout]   --> src/core/boundings.rs:84:2
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct BSphare<T>
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 84 |     center: Vector3<T>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 85 |     radius: T,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unbind` is never used
[INFO] [stdout]   --> src/render/open_gl/gl_material.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait GLMaterial
[INFO] [stdout]    |           ---------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 22 |     fn unbind(&self) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `depth_test` and `stencil_test` are never read
[INFO] [stdout]   --> src/render/open_gl/systems/system_render.rs:72:2
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct RenderSystem {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 72 |     depth_test: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 73 |     stencil_test: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unbind` is never used
[INFO] [stdout]   --> src/render/open_gl/gl_texture.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub trait GLTexture {
[INFO] [stdout]    |           --------- method in this trait
[INFO] [stdout] 29 |     fn bind(&mut self, hash_map: &mut GLTextureIDs) -> u32;
[INFO] [stdout] 30 |     fn unbind(&self);
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unbind` is never used
[INFO] [stdout]   --> src/render/open_gl/gl_render_buffer.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub trait GLRenderBuffer {
[INFO] [stdout]    |           -------------- method in this trait
[INFO] [stdout] 30 |     fn bind(&mut self, hash_map: &mut GLRenderBufferIDs)-> u32;
[INFO] [stdout] 31 |     fn unbind(&self);
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unbind` is never used
[INFO] [stdout]   --> src/render/open_gl/gl_frame_buffer.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub trait GLFrameBuffer {
[INFO] [stdout]    |           ------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn unbind(&self);
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `index_old` is never read
[INFO] [stdout]   --> src/helpers/load_obj.rs:10:2
[INFO] [stdout]    |
[INFO] [stdout]  9 | struct TmpIndex {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] 10 |     index_old: usize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TmpIndex` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `path`, `images`, and `textures` are never read
[INFO] [stdout]   --> src/helpers/load_gltf.rs:71:2
[INFO] [stdout]    |
[INFO] [stdout] 70 | struct Context {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 71 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 72 |     doc: Document,
[INFO] [stdout] 73 |     images: Vec<TextureData>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 74 |     textures: Vec<SharedTexture2D>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core/buffer_geometry.rs:457:14
[INFO] [stdout]     |
[INFO] [stdout] 457 |     pub fn lock(&mut self) -> LockResult<MutexGuard<BufferGeometry>> {
[INFO] [stdout]     |                 ^^^^^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided 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] 457 |     pub fn lock(&mut self) -> LockResult<MutexGuard<'_, BufferGeometry>> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/material.rs:51:28
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn get_shader_program(&self) -> LockResult<MutexGuard<ShaderProgram>> {
[INFO] [stdout]    |                               ^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn get_shader_program(&self) -> LockResult<MutexGuard<'_, ShaderProgram>> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core/material.rs:217:14
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn lock(&mut self, index: usize) -> LockResult<MutexGuard<Material>> {
[INFO] [stdout]     |                 ^^^^^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^^^^^^^ 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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn lock(&mut self, index: usize) -> LockResult<MutexGuard<'_, Material>> {
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core/texture.rs:233:14
[INFO] [stdout]     |
[INFO] [stdout] 233 |     pub fn lock(&mut self) -> LockResult<MutexGuard<Texture2D>> {
[INFO] [stdout]     |                 ^^^^^^^^^                ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 233 |     pub fn lock(&mut self) -> LockResult<MutexGuard<'_, Texture2D>> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/core/texture.rs:270:16
[INFO] [stdout]     |
[INFO] [stdout] 270 |             _ => panic!(format!("can't convert color type from: {:?}", color_type)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 270 -             _ => panic!(format!("can't convert color type from: {:?}", color_type)),
[INFO] [stdout] 270 +             _ => panic!("can't convert color type from: {:?}", color_type),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/frame_buffer.rs:75:14
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn lock(&mut self) -> LockResult<MutexGuard<FrameBuffer>> {
[INFO] [stdout]    |                 ^^^^^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn lock(&mut self) -> LockResult<MutexGuard<'_, FrameBuffer>> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/render_buffer.rs:59:14
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn lock(&mut self) -> LockResult<MutexGuard<RenderBuffer>> {
[INFO] [stdout]    |                 ^^^^^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn lock(&mut self) -> LockResult<MutexGuard<'_, RenderBuffer>> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `defaultMaterial` should have a snake case name
[INFO] [stdout]   --> src/helpers/load_gltf.rs:77:2
[INFO] [stdout]    |
[INFO] [stdout] 77 |     defaultMaterial: SharedMaterials,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `default_material`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `material_index`
[INFO] [stdout]    --> src/helpers/geometry_generators.rs:115:142
[INFO] [stdout]     |
[INFO] [stdout] 115 | ...e, grid_y: usize, material_index: i32| {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_material_index`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/helpers/geometry_generators.rs:301:6
[INFO] [stdout]     |
[INFO] [stdout] 301 |     let mut vertices = vec![
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/helpers/geometry_generators.rs:307:6
[INFO] [stdout]     |
[INFO] [stdout] 307 |     let mut indices = vec![
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `center` and `radius` are never read
[INFO] [stdout]   --> src/core/boundings.rs:84:2
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct BSphare<T>
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 84 |     center: Vector3<T>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 85 |     radius: T,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unbind` is never used
[INFO] [stdout]   --> src/render/open_gl/gl_material.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait GLMaterial
[INFO] [stdout]    |           ---------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 22 |     fn unbind(&self) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `depth_test` and `stencil_test` are never read
[INFO] [stdout]   --> src/render/open_gl/systems/system_render.rs:72:2
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct RenderSystem {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 72 |     depth_test: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 73 |     stencil_test: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unbind` is never used
[INFO] [stdout]   --> src/render/open_gl/gl_texture.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub trait GLTexture {
[INFO] [stdout]    |           --------- method in this trait
[INFO] [stdout] 29 |     fn bind(&mut self, hash_map: &mut GLTextureIDs) -> u32;
[INFO] [stdout] 30 |     fn unbind(&self);
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unbind` is never used
[INFO] [stdout]   --> src/render/open_gl/gl_render_buffer.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub trait GLRenderBuffer {
[INFO] [stdout]    |           -------------- method in this trait
[INFO] [stdout] 30 |     fn bind(&mut self, hash_map: &mut GLRenderBufferIDs)-> u32;
[INFO] [stdout] 31 |     fn unbind(&self);
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unbind` is never used
[INFO] [stdout]   --> src/render/open_gl/gl_frame_buffer.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub trait GLFrameBuffer {
[INFO] [stdout]    |           ------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn unbind(&self);
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `index_old` is never read
[INFO] [stdout]   --> src/helpers/load_obj.rs:10:2
[INFO] [stdout]    |
[INFO] [stdout]  9 | struct TmpIndex {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] 10 |     index_old: usize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TmpIndex` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `path`, `images`, and `textures` are never read
[INFO] [stdout]   --> src/helpers/load_gltf.rs:71:2
[INFO] [stdout]    |
[INFO] [stdout] 70 | struct Context {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 71 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 72 |     doc: Document,
[INFO] [stdout] 73 |     images: Vec<TextureData>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 74 |     textures: Vec<SharedTexture2D>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core/buffer_geometry.rs:457:14
[INFO] [stdout]     |
[INFO] [stdout] 457 |     pub fn lock(&mut self) -> LockResult<MutexGuard<BufferGeometry>> {
[INFO] [stdout]     |                 ^^^^^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided 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] 457 |     pub fn lock(&mut self) -> LockResult<MutexGuard<'_, BufferGeometry>> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/material.rs:51:28
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn get_shader_program(&self) -> LockResult<MutexGuard<ShaderProgram>> {
[INFO] [stdout]    |                               ^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn get_shader_program(&self) -> LockResult<MutexGuard<'_, ShaderProgram>> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core/material.rs:217:14
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn lock(&mut self, index: usize) -> LockResult<MutexGuard<Material>> {
[INFO] [stdout]     |                 ^^^^^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^^^^^^^ 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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn lock(&mut self, index: usize) -> LockResult<MutexGuard<'_, Material>> {
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core/texture.rs:233:14
[INFO] [stdout]     |
[INFO] [stdout] 233 |     pub fn lock(&mut self) -> LockResult<MutexGuard<Texture2D>> {
[INFO] [stdout]     |                 ^^^^^^^^^                ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 233 |     pub fn lock(&mut self) -> LockResult<MutexGuard<'_, Texture2D>> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/core/texture.rs:270:16
[INFO] [stdout]     |
[INFO] [stdout] 270 |             _ => panic!(format!("can't convert color type from: {:?}", color_type)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 270 -             _ => panic!(format!("can't convert color type from: {:?}", color_type)),
[INFO] [stdout] 270 +             _ => panic!("can't convert color type from: {:?}", color_type),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/frame_buffer.rs:75:14
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn lock(&mut self) -> LockResult<MutexGuard<FrameBuffer>> {
[INFO] [stdout]    |                 ^^^^^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn lock(&mut self) -> LockResult<MutexGuard<'_, FrameBuffer>> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/render_buffer.rs:59:14
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn lock(&mut self) -> LockResult<MutexGuard<RenderBuffer>> {
[INFO] [stdout]    |                 ^^^^^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn lock(&mut self) -> LockResult<MutexGuard<'_, RenderBuffer>> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `defaultMaterial` should have a snake case name
[INFO] [stdout]   --> src/helpers/load_gltf.rs:77:2
[INFO] [stdout]    |
[INFO] [stdout] 77 |     defaultMaterial: SharedMaterials,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `default_material`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ShaderProgram`
[INFO] [stdout]   --> examples/e3.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 22 |         ShaderProgram,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> examples/e3.rs:166:85
[INFO] [stdout]     |
[INFO] [stdout] 166 |                 transform_camera.position.x = ( (x_prog * (PI_f64*2.0)).cos() * radius ) as f32;;
[INFO] [stdout]     |                                                                                                 ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ShaderProgram`
[INFO] [stdout]  --> examples/e1.rs:6:63
[INFO] [stdout]   |
[INFO] [stdout] 6 |         create_world, EntityRelations, Material, PerspectiveCamera, ShaderProgram, SharedGeometry,
[INFO] [stdout]   |                                                                     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> examples/e1.rs:244:85
[INFO] [stdout]     |
[INFO] [stdout] 244 |                 transform_camera.position.x = ((x_prog * (PI_f64 * 2.0)).cos() * radius) as f32;;
[INFO] [stdout]     |                                                                                                 ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: found module declaration for lib.rs
[INFO] [stdout]  --> resource-manager/main.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | mod lib;
[INFO] [stdout]   | ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: lib.rs is the root of this crate's library target
[INFO] [stdout]   = help: to refer to it from other targets, use the library's name as the path
[INFO] [stdout]   = note: `#[warn(special_module_name)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> resource-manager/lib.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `names` and `prod`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> resource-manager/lib.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `names` and `prod`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> resource-manager/lib.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `names` and `prod`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> resource-manager/lib.rs:29:21
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `names` and `prod`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> resource-manager/lib.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `names` and `prod`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> resource-manager/lib.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `names` and `prod`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[macro_use]` attribute cannot be used on use statements
[INFO] [stdout]   --> resource-manager/main.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[macro_use]` can be applied to extern crates and modules
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: found module declaration for lib.rs
[INFO] [stdout]  --> resource-manager/main.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | mod lib;
[INFO] [stdout]   | ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: lib.rs is the root of this crate's library target
[INFO] [stdout]   = help: to refer to it from other targets, use the library's name as the path
[INFO] [stdout]   = note: `#[warn(special_module_name)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> resource-manager/lib.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `names` and `prod`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> resource-manager/lib.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `names` and `prod`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> resource-manager/lib.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `names` and `prod`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> resource-manager/lib.rs:29:21
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `names` and `prod`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> resource-manager/lib.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `names` and `prod`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> resource-manager/lib.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `names` and `prod`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[macro_use]` attribute cannot be used on use statements
[INFO] [stdout]   --> resource-manager/main.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: `#[macro_use]` can be applied to extern crates and modules
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ShaderProgram`
[INFO] [stdout]   --> examples/e5.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |         ShaderProgram,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> examples/e5.rs:236:85
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 transform_camera.position.x = ( (x_prog * (PI_f64*2.0)).cos() * radius ) as f32;;
[INFO] [stdout]     |                                                                                                 ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ShaderProgram`
[INFO] [stdout]   --> examples/e7.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout] 10 |         ShaderProgram, ShaderTag, SharedGeometry, SharedMaterials,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> examples/e7.rs:232:85
[INFO] [stdout]     |
[INFO] [stdout] 232 |                 transform_camera.position.x = ((x_prog * (PI_f64 * 2.0)).cos() * radius) as f32;;
[INFO] [stdout]     |                                                                                                 ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ShaderProgram`
[INFO] [stdout]   --> examples/e4.rs:10:70
[INFO] [stdout]    |
[INFO] [stdout] 10 |         create_world, BufferType, Material, PerspectiveCamera, PointLight, ShaderProgram,
[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: `ShaderProgram`
[INFO] [stdout]  --> examples/e2.rs:7:63
[INFO] [stdout]   |
[INFO] [stdout] 7 |         create_world, EntityRelations, Material, PerspectiveCamera, ShaderProgram, ShaderTag, SharedGeometry, SharedMaterials,
[INFO] [stdout]   |                                                                     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> examples/e2.rs:236:85
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 transform_camera.position.x = ((x_prog * (PI_f64 * 2.0)).cos() * radius) as f32;;
[INFO] [stdout]     |                                                                                                 ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> examples/e4.rs:192:85
[INFO] [stdout]     |
[INFO] [stdout] 192 |                 transform_camera.position.x = ((x_prog * (PI_f64 * 2.0)).cos() * radius) as f32;;
[INFO] [stdout]     |                                                                                                 ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ResourceManager` is never constructed
[INFO] [stdout]   --> resource-manager/lib.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct ResourceManager {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name_str` is never used
[INFO] [stdout]   --> resource-manager/lib.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl Resource {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 50 |     pub fn name_str(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> resource-manager/lib.rs:56:9
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl ResourceManager {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout]  56 |     pub fn parse_package_list(data: &str) -> Result<PackageList, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub fn set_package_list(&mut self, package_list: PackageList) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  65 |     pub fn load_package_list(&mut self, path: &PathBuf) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub fn set_package_list_from_str(&mut self, data: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn get_package_list(&self) -> Result<&PackageList, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub fn add_package_data(&mut self, data: &[u8], name: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn get_resource_data(&self, name: &str) -> Option<&Vec<u8>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn remove_package(&mut self, name: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn load_package_from_disk(&mut self, name: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub fn load_all_packages(&mut self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub fn load_all(&mut self, path: &PathBuf) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     fn get_package_list_mut(&mut self) -> Result<&mut PackageList, String> {
[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]   --> resource-manager/lib.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Resource`
[INFO] [stdout] 23 | pub struct Resource {
[INFO] [stdout]    |            -------- `Resource` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> resource-manager/lib.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Resource`
[INFO] [stdout] 23 | pub struct Resource {
[INFO] [stdout]    |            -------- `Resource` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> resource-manager/lib.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Package`
[INFO] [stdout] 30 | pub struct Package {
[INFO] [stdout]    |            ------- `Package` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> resource-manager/lib.rs:29:21
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Package`
[INFO] [stdout] 30 | pub struct Package {
[INFO] [stdout]    |            ------- `Package` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> resource-manager/lib.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PackageList`
[INFO] [stdout] 38 | pub struct PackageList {
[INFO] [stdout]    |            ----------- `PackageList` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> resource-manager/lib.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PackageList`
[INFO] [stdout] 38 | pub struct PackageList {
[INFO] [stdout]    |            ----------- `PackageList` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ResourceManager` is never constructed
[INFO] [stdout]   --> resource-manager/lib.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct ResourceManager {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name_str` is never used
[INFO] [stdout]   --> resource-manager/lib.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl Resource {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 50 |     pub fn name_str(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ShaderProgram`
[INFO] [stdout]   --> examples/e8.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout] 10 |         ShaderProgram, ShaderTag, SharedFrameBuffer, SharedGeometry, SharedMaterials,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> examples/e8.rs:314:85
[INFO] [stdout]     |
[INFO] [stdout] 314 |                 transform_camera.position.x = ((x_prog * (PI_f64 * 2.0)).cos() * radius) as f32;;
[INFO] [stdout]     |                                                                                                 ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> resource-manager/lib.rs:56:9
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl ResourceManager {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout]  56 |     pub fn parse_package_list(data: &str) -> Result<PackageList, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub fn set_package_list(&mut self, package_list: PackageList) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  65 |     pub fn load_package_list(&mut self, path: &PathBuf) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub fn set_package_list_from_str(&mut self, data: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn get_package_list(&self) -> Result<&PackageList, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub fn add_package_data(&mut self, data: &[u8], name: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn get_resource_data(&self, name: &str) -> Option<&Vec<u8>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn remove_package(&mut self, name: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn load_package_from_disk(&mut self, name: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub fn load_all_packages(&mut self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub fn load_all(&mut self, path: &PathBuf) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     fn get_package_list_mut(&mut self) -> Result<&mut PackageList, String> {
[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]   --> resource-manager/lib.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Resource`
[INFO] [stdout] 23 | pub struct Resource {
[INFO] [stdout]    |            -------- `Resource` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> resource-manager/lib.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Resource`
[INFO] [stdout] 23 | pub struct Resource {
[INFO] [stdout]    |            -------- `Resource` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> resource-manager/lib.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Package`
[INFO] [stdout] 30 | pub struct Package {
[INFO] [stdout]    |            ------- `Package` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> resource-manager/lib.rs:29:21
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Package`
[INFO] [stdout] 30 | pub struct Package {
[INFO] [stdout]    |            ------- `Package` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> resource-manager/lib.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PackageList`
[INFO] [stdout] 38 | pub struct PackageList {
[INFO] [stdout]    |            ----------- `PackageList` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> resource-manager/lib.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(Serialize, Deserialize, Debug, Clone)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PackageList`
[INFO] [stdout] 38 | pub struct PackageList {
[INFO] [stdout]    |            ----------- `PackageList` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Path::join` that must be used
[INFO] [stdout]    --> resource-manager/lib.rs:174:4
[INFO] [stdout]     |
[INFO] [stdout] 174 |             path.join(&res.path);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 174 |             let _ = path.join(&res.path);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Path::join` that must be used
[INFO] [stdout]    --> resource-manager/lib.rs:174:4
[INFO] [stdout]     |
[INFO] [stdout] 174 |             path.join(&res.path);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 174 |             let _ = path.join(&res.path);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> examples/e6.rs:220:85
[INFO] [stdout]     |
[INFO] [stdout] 220 |                 transform_camera.position.x = ( (x_prog * (PI_f64*2.0)).cos() * radius ) as f32;;
[INFO] [stdout]     |                                                                                                 ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [optimized + debuginfo] target(s) in 1m 40s
[INFO] running `Command { std: "docker" "inspect" "2786a1b141c1ee900e98066e0bb23fbd89321a3973433f3413e8152104e36bb1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2786a1b141c1ee900e98066e0bb23fbd89321a3973433f3413e8152104e36bb1", kill_on_drop: false }`
[INFO] [stdout] 2786a1b141c1ee900e98066e0bb23fbd89321a3973433f3413e8152104e36bb1
