[INFO] cloning repository https://github.com/WereDiggle/rust-raytracer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/WereDiggle/rust-raytracer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWereDiggle%2Frust-raytracer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWereDiggle%2Frust-raytracer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a962e5ab9c1106aef40b867bce6f25aa2b0842d2
[INFO] testing WereDiggle/rust-raytracer against 1.54.0 for beta-1.55-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWereDiggle%2Frust-raytracer" "/workspace/builds/worker-60/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-60/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  59% (72/122)
Updating files:  60% (74/122)
Updating files:  61% (75/122)
Updating files:  62% (76/122)
Updating files:  63% (77/122)
Updating files:  64% (79/122)
Updating files:  65% (80/122)
Updating files:  66% (81/122)
Updating files:  67% (82/122)
Updating files:  68% (83/122)
Updating files:  69% (85/122)
Updating files:  70% (86/122)
Updating files:  71% (87/122)
Updating files:  72% (88/122)
Updating files:  73% (90/122)
Updating files:  74% (91/122)
Updating files:  75% (92/122)
Updating files:  76% (93/122)
Updating files:  77% (94/122)
Updating files:  78% (96/122)
Updating files:  79% (97/122)
Updating files:  80% (98/122)
Updating files:  81% (99/122)
Updating files:  82% (101/122)
Updating files:  83% (102/122)
Updating files:  84% (103/122)
Updating files:  85% (104/122)
Updating files:  86% (105/122)
Updating files:  87% (107/122)
Updating files:  88% (108/122)
Updating files:  89% (109/122)
Updating files:  90% (110/122)
Updating files:  91% (112/122)
Updating files:  92% (113/122)
Updating files:  93% (114/122)
Updating files:  94% (115/122)
Updating files:  95% (116/122)
Updating files:  96% (118/122)
Updating files:  97% (119/122)
Updating files:  98% (120/122)
Updating files:  99% (121/122)
Updating files: 100% (122/122)
Updating files: 100% (122/122), done.
[INFO] validating manifest of git repo https://github.com/WereDiggle/rust-raytracer on toolchain 1.54.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/WereDiggle/rust-raytracer
[INFO] finished tweaking git repo https://github.com/WereDiggle/rust-raytracer
[INFO] tweaked toml for git repo https://github.com/WereDiggle/rust-raytracer written to /workspace/builds/worker-60/source/Cargo.toml
[INFO] crate git repo https://github.com/WereDiggle/rust-raytracer already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-60/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-60/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 10d00b99b7aabb92395324eab89452fbd8a8f424b975021c668468b9034580ee
[INFO] running `Command { std: "docker" "start" "-a" "10d00b99b7aabb92395324eab89452fbd8a8f424b975021c668468b9034580ee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "10d00b99b7aabb92395324eab89452fbd8a8f424b975021c668468b9034580ee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "10d00b99b7aabb92395324eab89452fbd8a8f424b975021c668468b9034580ee", kill_on_drop: false }`
[INFO] [stdout] 10d00b99b7aabb92395324eab89452fbd8a8f424b975021c668468b9034580ee
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-60/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-60/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] da99ad7f8d8e8a0e8d4eacecd175c117690ab1a2bad232c74cc8e0cf9b44828d
[INFO] running `Command { std: "docker" "start" "-a" "da99ad7f8d8e8a0e8d4eacecd175c117690ab1a2bad232c74cc8e0cf9b44828d", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling num-traits v0.2.6
[INFO] [stderr]    Compiling libc v0.2.48
[INFO] [stderr]    Compiling arrayvec v0.4.10
[INFO] [stderr]    Compiling proc-macro2 v0.4.26
[INFO] [stderr]    Compiling nodrop v0.1.13
[INFO] [stderr]    Compiling cfg-if v0.1.6
[INFO] [stderr]    Compiling num-integer v0.1.39
[INFO] [stderr]    Compiling lazy_static v1.2.0
[INFO] [stderr]    Compiling byteorder v1.2.7
[INFO] [stderr]    Compiling rayon v1.0.3
[INFO] [stderr]    Compiling num-derive v0.2.3
[INFO] [stderr]    Compiling cgmath v0.16.1
[INFO] [stderr]    Compiling num-rational v0.2.1
[INFO] [stderr]    Compiling mint v0.5.1
[INFO] [stderr]    Compiling bitflags v1.0.4
[INFO] [stderr]    Compiling scoped_threadpool v0.1.9
[INFO] [stderr]    Compiling rand_core v0.3.0
[INFO] [stderr]    Compiling tobj v0.1.7
[INFO] [stderr]    Compiling snowflake v1.3.0
[INFO] [stderr]    Compiling inflate v0.4.4
[INFO] [stderr]    Compiling gif v0.10.1
[INFO] [stderr]    Compiling deflate v0.7.19
[INFO] [stderr]    Compiling crossbeam-utils v0.2.2
[INFO] [stderr]    Compiling num_cpus v1.9.0
[INFO] [stderr]    Compiling rand v0.4.5
[INFO] [stderr]    Compiling rand v0.5.6
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling crossbeam-epoch v0.3.1
[INFO] [stderr]    Compiling num-iter v0.1.37
[INFO] [stderr]    Compiling png v0.14.0
[INFO] [stderr]    Compiling crossbeam-deque v0.2.0
[INFO] [stderr]    Compiling rayon-core v1.4.1
[INFO] [stderr]    Compiling quote v0.6.11
[INFO] [stderr]    Compiling syn v0.15.26
[INFO] [stderr]    Compiling euler v0.4.0
[INFO] [stderr]    Compiling jpeg-decoder v0.1.15
[INFO] [stderr]    Compiling tiff v0.2.1
[INFO] [stderr]    Compiling image v0.21.1
[INFO] [stderr]    Compiling raytracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `ImageBuffer`, `RgbImage`
[INFO] [stdout]  --> src/scene.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use image::{RgbImage, ImageBuffer};
[INFO] [stdout]   |             ^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/scene.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     image: Box<TextureMappable + Send + Sync>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:48:19
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub root: Box<Traceable + Send + Sync>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:49:25
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub lights: Vec<Box<Lightable + Send + Sync>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Lightable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:87:44
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn add_light(&mut self, light: Box<Lightable + Send + Sync>) {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Lightable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:111:40
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn add_child(&mut self, child: Box<Traceable + Send + Sync>);
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:112:50
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn add_children(&mut self, children: Vec<Box<Traceable + Send + Sync>>) {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:123:32
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn clone_box(&self) -> Box<Traceable + Send + Sync>;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:130:32
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn clone_box(&self) -> Box<Traceable + Send + Sync> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:135:20
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Clone for Box<Traceable + Send + Sync> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:136:28
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn clone(&self) -> Box<Traceable + Send + Sync> {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:144:27
[INFO] [stdout]     |
[INFO] [stdout] 144 |     primitive: Option<Box<Intersectable + Send + Sync>>,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:145:19
[INFO] [stdout]     |
[INFO] [stdout] 145 |     material: Box<Shadable + Send + Sync>,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:147:23
[INFO] [stdout]     |
[INFO] [stdout] 147 |     children: Vec<Box<Traceable + Send + Sync>>,
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:163:52
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub fn set_primitive(&mut self, primitive: Box<Intersectable + Send + Sync>) {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:167:50
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn set_material(&mut self, material: Box<Shadable + Send + Sync>) {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:192:40
[INFO] [stdout]     |
[INFO] [stdout] 192 |     fn add_child(&mut self, child: Box<Traceable + Send + Sync>) {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::EPSILON as e`
[INFO] [stdout]   --> src/geometry/surface_coord.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |         use std::f64::EPSILON as e;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/intersect.rs:73:22
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub shader: &'a (Shadable + Send + Sync + 'a),
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync + 'a`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/intersect.rs:78:54
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn new(hit_id: ProcessUniqueId, shader: &'a (Shadable + Send + Sync + 'a), intersect: Intersect) -> NodeIntersect<'a> {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync + 'a`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry.rs:33:32
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn clone_box(&self) -> Box<Intersectable + Send + Sync>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry.rs:40:32
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn clone_box(&self) -> Box<Intersectable + Send + Sync> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry.rs:45:20
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl Clone for Box<Intersectable + Send + Sync> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry.rs:46:28
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn clone(&self) -> Box<Intersectable + Send + Sync> {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn clone_box(&self) -> Box<Transformable + Send + Sync>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Transformable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry.rs:72:32
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn clone_box(&self) -> Box<Transformable + Send + Sync> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Transformable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry.rs:77:20
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl Clone for Box<Transformable + Send + Sync> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Transformable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry.rs:78:28
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn clone(&self) -> Box<Transformable + Send + Sync> {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Transformable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ray`
[INFO] [stdout]  --> src/shader.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 | use geometry::{Intersect, Ray};
[INFO] [stdout]   |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/shader.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `snowflake::ProcessUniqueId`
[INFO] [stdout]  --> src/shader.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use snowflake::ProcessUniqueId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/shader/texture.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 |     texture: Box<TextureMappable + Send + Sync>,
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/shader/texture.rs:9:29
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new(texture: Box<TextureMappable + Send + Sync>) -> Box<TextureShader> {
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `geometry::Ray`
[INFO] [stdout]  --> src/shader/translucent.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use geometry::Ray;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `euler::DVec3`
[INFO] [stdout]  --> src/shader/translucent.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use euler::DVec3;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:33:32
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn clone_box(&self) -> Box<Shadable + Send + Sync>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:40:32
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn clone_box(&self) -> Box<Shadable + Send + Sync> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:45:20
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl Clone for Box<Shadable + Send + Sync> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:46:28
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn clone(&self) -> Box<Shadable + Send + Sync> {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:53:22
[INFO] [stdout]    |
[INFO] [stdout] 53 |     shaders: Vec<Box<Shadable + Send + Sync>>,
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:57:42
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn from_shaders(shaders: Vec<Box<Shadable + Send + Sync>>) -> Box<MixShader> {
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:61:46
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn add_shader(&mut self, shader: Box<Shadable + Send + Sync>) {
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:78:28
[INFO] [stdout]    |
[INFO] [stdout] 78 |     shaders: Vec<(f64, Box<Shadable + Send + Sync>)>,
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:86:59
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub fn add_shader(&mut self, weight: f64, shader: Box<Shadable + Send + Sync>) {
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:90:48
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn from_shaders(shaders: Vec<(f64, Box<Shadable + Send + Sync>)>) -> Box<CompositeShader> {
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shader.rs:115:22
[INFO] [stdout]     |
[INFO] [stdout] 115 |     shaders: Vec<Box<Shadable + Send + Sync>>,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shader.rs:125:42
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn from_shaders(shaders: Vec<Box<Shadable + Send + Sync>>) -> Box<ChainShader> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shader.rs:129:47
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn push_shader(&mut self, shader: Box<Shadable + Send + Sync>) {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shader.rs:157:21
[INFO] [stdout]     |
[INFO] [stdout] 157 |     normal_map: Box<NormalMappable + Send + Sync>,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shader.rs:161:32
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn new(normal_map: Box<NormalMappable + Send + Sync>) -> Box<NormalMapShader> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitive.rs:21:20
[INFO] [stdout]    |
[INFO] [stdout] 21 |     primitive: Box<Intersectable + Send + Sync>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitive.rs:25:31
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn new(primitive: Box<Intersectable + Send + Sync>) -> OneWay {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitive.rs:50:20
[INFO] [stdout]    |
[INFO] [stdout] 50 |     primitive: Box<Intersectable + Send + Sync>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitive.rs:54:31
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn new(primitive: Box<Intersectable + Send + Sync>) -> Inverted {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/light.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light.rs:47:32
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn clone_box(&self) -> Box<Lightable + Send + Sync>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Lightable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light.rs:54:32
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn clone_box(&self) -> Box<Lightable + Send + Sync> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Lightable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light.rs:59:20
[INFO] [stdout]    |
[INFO] [stdout] 59 | impl Clone for Box<Lightable + Send + Sync> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Lightable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light.rs:60:28
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn clone(&self) -> Box<Lightable + Send + Sync> {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Lightable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/multithread.rs:19:16
[INFO] [stdout]    |
[INFO] [stdout] 19 | type Job = Box<FnBox + Send>;
[INFO] [stdout]    |                ^^^^^^^^^^^^ help: use `dyn`: `dyn FnBox + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `light::*`
[INFO] [stdout]  --> src/render.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use light::*;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/base_shape.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 |     primitive: Box<Intersectable + Send + Sync>,
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/base_shape.rs:10:46
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(matrix: DMat4, primitive: Box<Intersectable + Send + Sync>) -> BaseShape {
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/base_shape.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn get_shapes(&self) -> Vec<&(Compositable + Send + Sync)> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/subtract_shape.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 |     positive: Box<Compositable + Send + Sync>,
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/subtract_shape.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 |     negative: Box<Compositable + Send + Sync>,
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/subtract_shape.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(positive: Box<Compositable + Send + Sync>, negative: Box<Compositable + Send + Sync>) -> SubtractShape {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/subtract_shape.rs:11:73
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(positive: Box<Compositable + Send + Sync>, negative: Box<Compositable + Send + Sync>) -> SubtractShape {
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/subtract_shape.rs:21:35
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn get_shapes(&self) -> Vec<&(Compositable + Send + Sync)> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/or_shape.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 |     primary: Box<Compositable + Send + Sync>,
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/or_shape.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 |     secondary: Box<Compositable + Send + Sync>,
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/or_shape.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> OrShape {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/or_shape.rs:11:73
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> OrShape {
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/or_shape.rs:51:35
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn get_shapes(&self) -> Vec<&(Compositable + Send + Sync)> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/xor_shape.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 |     primary: Box<Compositable + Send + Sync>,
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/xor_shape.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 |     secondary: Box<Compositable + Send + Sync>,
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/xor_shape.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> XorShape {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/xor_shape.rs:11:73
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> XorShape {
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/xor_shape.rs:58:35
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn get_shapes(&self) -> Vec<&(Compositable + Send + Sync)> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/and_shape.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 |     primary: Box<Compositable + Send + Sync>,
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/and_shape.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 |     secondary: Box<Compositable + Send + Sync>,
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/and_shape.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> AndShape {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/and_shape.rs:11:73
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> AndShape {
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/and_shape.rs:47:35
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn get_shapes(&self) -> Vec<&(Compositable + Send + Sync)> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/and_shape.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 |     shapes: Vec<Box<Compositable + Send + Sync>>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/and_shape.rs:74:37
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn from_vec(shapes: Vec<Box<Compositable + Send + Sync>>) -> MultiAndShape {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/and_shape.rs:83:35
[INFO] [stdout]    |
[INFO] [stdout] 83 |     fn get_shapes(&self) -> Vec<&(Compositable + Send + Sync)> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape.rs:75:33
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn calculate_intersects(comp: &(Compositable + Send + Sync), ray: Ray, check_get: &mut FnMut(usize, &Vec<bool>, Intersect) -> Control) 
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape.rs:75:88
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn calculate_intersects(comp: &(Compositable + Send + Sync), ray: Ray, check_get: &mut FnMut(usize, &Vec<bool>, Intersect) -> Control) 
[INFO] [stdout]    |                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(usize, &Vec<bool>, Intersect) -> Control`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/composite_shape.rs:126:35
[INFO] [stdout]     |
[INFO] [stdout] 126 |     fn get_shapes(&self) -> Vec<&(Compositable + Send + Sync)>;
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/composite_shape.rs:132:45
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn clone_compositable_box(&self) -> Box<Compositable + Send + Sync>;
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/composite_shape.rs:139:45
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn clone_compositable_box(&self) -> Box<Compositable + Send + Sync> {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/composite_shape.rs:144:20
[INFO] [stdout]     |
[INFO] [stdout] 144 | impl Clone for Box<Compositable + Send + Sync> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/composite_shape.rs:145:28
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn clone(&self) -> Box<Compositable + Send + Sync> {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util.rs:35:36
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn build_scene(lights: Vec<Box<Lightable + Send + Sync>>, 
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Lightable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util.rs:38:30
[INFO] [stdout]    |
[INFO] [stdout] 38 |                    root: Box<Traceable + Send + Sync>) -> Scene {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util.rs:58:33
[INFO] [stdout]    |
[INFO] [stdout] 58 |                   material: Box<Shadable + Send + Sync>,
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util.rs:59:34
[INFO] [stdout]    |
[INFO] [stdout] 59 |                   primitive: Box<Intersectable + Send + Sync>,
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util.rs:60:37
[INFO] [stdout]    |
[INFO] [stdout] 60 |                   children: Vec<Box<Traceable + Send + Sync>>) -> Box<SceneNode> {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util.rs:72:37
[INFO] [stdout]    |
[INFO] [stdout] 72 |                   children: Vec<Box<Traceable + Send + Sync>>) -> Box<SceneNode> {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:101:59
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub fn create_wall_from_material(size: f64, material: Box<Shadable + Send + Sync>, transform: DMat4) -> SceneNode {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:128:60
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub fn create_floor_from_material(size: f64, material: Box<Shadable + Send + Sync>) -> Box<SceneNode> {
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:147:22
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub ceiling: Box<Shadable + Send + Sync>,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:148:20
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub floor: Box<Shadable + Send + Sync>,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:149:20
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub front: Box<Shadable + Send + Sync>,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:150:19
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub back: Box<Shadable + Send + Sync>,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:151:19
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub left: Box<Shadable + Send + Sync>,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:152:20
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub right: Box<Shadable + Send + Sync>,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:299:55
[INFO] [stdout]     |
[INFO] [stdout] 299 | pub fn subtract_shape(transform: DMat4, positive: Box<Compositable + Send + Sync>, negative: Box<Compositable + Send + Sync>) -> Box<Subt...
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:299:98
[INFO] [stdout]     |
[INFO] [stdout] 299 | ... Send + Sync>, negative: Box<Compositable + Send + Sync>) -> Box<SubtractShape> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:305:48
[INFO] [stdout]     |
[INFO] [stdout] 305 | pub fn or_shape(transform: DMat4, primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> Box<OrShape> {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:305:92
[INFO] [stdout]     |
[INFO] [stdout] 305 | pub fn or_shape(transform: DMat4, primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> Box<OrShape> {
[INFO] [stdout]     |                                                                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:311:49
[INFO] [stdout]     |
[INFO] [stdout] 311 | pub fn xor_shape(transform: DMat4, primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> Box<XorShape> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:311:93
[INFO] [stdout]     |
[INFO] [stdout] 311 | pub fn xor_shape(transform: DMat4, primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> Box<XorShape> {
[INFO] [stdout]     |                                                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:317:49
[INFO] [stdout]     |
[INFO] [stdout] 317 | pub fn and_shape(transform: DMat4, primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> Box<AndShape> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:317:93
[INFO] [stdout]     |
[INFO] [stdout] 317 | pub fn and_shape(transform: DMat4, primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> Box<AndShape> {
[INFO] [stdout]     |                                                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:325:26
[INFO] [stdout]     |
[INFO] [stdout] 325 |     let spheres: Vec<Box<Compositable + Send + Sync>> = vec!(
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:351:52
[INFO] [stdout]     |
[INFO] [stdout] 351 | pub fn base_shape(transform: DMat4, primitive: Box<Intersectable + Send + Sync>) -> Box<BaseShape> {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn clone_box(&self) -> Box<TextureMappable + Send + Sync>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn clone_box(&self) -> Box<TextureMappable + Send + Sync> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture.rs:23:20
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Clone for Box<TextureMappable + Send + Sync> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn clone(&self) -> Box<TextureMappable + Send + Sync> {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `color::Color`
[INFO] [stdout]  --> src/normal_map.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use color::Color;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/normal_map.rs:16:32
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn clone_box(&self) -> Box<NormalMappable + Send + Sync>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/normal_map.rs:23:32
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn clone_box(&self) -> Box<NormalMappable + Send + Sync> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/normal_map.rs:28:20
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Clone for Box<NormalMappable + Send + Sync> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/normal_map.rs:29:28
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn clone(&self) -> Box<NormalMappable + Send + Sync> {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::RgbImage`
[INFO] [stdout]  --> src/asset_manager.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use image::RgbImage;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/asset_manager.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/asset_manager.rs:16:41
[INFO] [stdout]    |
[INFO] [stdout] 16 |     texture_cache: HashMap<&'a str, Box<TextureMappable + Send + Sync>>,
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/asset_manager.rs:17:44
[INFO] [stdout]    |
[INFO] [stdout] 17 |     normal_map_cache: HashMap<&'a str, Box<NormalMappable + Send + Sync>>,
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/asset_manager.rs:29:69
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn image_texture_from_path(&mut self, path: &'a str) -> Box<TextureMappable + Send + Sync> {
[INFO] [stdout]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/asset_manager.rs:41:76
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn bump_map_from_path(&mut self, path: &'a str, depth: f64) -> Box<NormalMappable + Send + Sync> {
[INFO] [stdout]    |                                                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/asset_manager.rs:51:66
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn normal_map_from_path(&mut self, path: &'a str) -> Box<NormalMappable> {
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `primitive::plane::Triangle`
[INFO] [stdout]  --> src/mesh.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use primitive::plane::Triangle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mesh.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |           ///println!("BoundingNode check_intersect hit_point: {}", hit_point);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 177 | 
[INFO] [stdout] 178 | /         match self {
[INFO] [stdout] 179 | |             BoundingNode::Interior{axis, split, child} => {
[INFO] [stdout] 180 | |                 //println!("BoundingNode check_intersect interior node: split: {}", split);
[INFO] [stdout] 181 | |                 // First check if the ray intersects with this node at all
[INFO] [stdout] ...   |
[INFO] [stdout] 277 | |             },
[INFO] [stdout] 278 | |         }
[INFO] [stdout]     | |_________- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scene`
[INFO] [stdout]    --> src/shader.rs:170:25
[INFO] [stdout]     |
[INFO] [stdout] 170 |     fn get_color(&self, scene: &Scene, intersect: Intersect) -> Color {
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_scene`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scene`
[INFO] [stdout]    --> src/shader.rs:175:32
[INFO] [stdout]     |
[INFO] [stdout] 175 |     fn modify_intersect(&self, scene: &Scene, intersect: Intersect) -> Intersect {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_scene`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `acc`
[INFO] [stdout]    --> src/primitive/plane.rs:219:47
[INFO] [stdout]     |
[INFO] [stdout] 219 | ...                   .try_fold(true, |acc, x| 
[INFO] [stdout]     |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_acc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depth`
[INFO] [stdout]    --> src/light.rs:189:56
[INFO] [stdout]     |
[INFO] [stdout] 189 |     fn subdivide_points(&self, min: DVec2, max: DVec2, depth: usize) -> Vec<DVec3> {
[INFO] [stdout]     |                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/light.rs:306:13
[INFO] [stdout]     |
[INFO] [stdout] 306 |         for i in 0..num_rays {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `surface_dot`
[INFO] [stdout]    --> src/light.rs:346:31
[INFO] [stdout]     |
[INFO] [stdout] 346 |             if let Illum::Lit{surface_dot, light_direction, ref mut intensity} = x {
[INFO] [stdout]     |                               ^^^^^^^^^^^ help: try ignoring the field: `surface_dot: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_direction`
[INFO] [stdout]    --> src/light.rs:346:44
[INFO] [stdout]     |
[INFO] [stdout] 346 |             if let Illum::Lit{surface_dot, light_direction, ref mut intensity} = x {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^ help: try ignoring the field: `light_direction: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depth`
[INFO] [stdout]    --> src/light.rs:335:13
[INFO] [stdout]     |
[INFO] [stdout] 335 |         for depth in 0..SquareLight::PROG_DEPTH {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/light.rs:359:13
[INFO] [stdout]     |
[INFO] [stdout] 359 |         for i in 0..SquareLight::SAMPLE_RATE {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `x` is never read
[INFO] [stdout]    --> src/render.rs:316:13
[INFO] [stdout]     |
[INFO] [stdout] 316 |     let mut x = 0;
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `y` is never read
[INFO] [stdout]    --> src/render.rs:317:13
[INFO] [stdout]     |
[INFO] [stdout] 317 |     let mut y = 0;
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_err`
[INFO] [stdout]   --> src/mesh.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let max_err = max - err;
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `min_err`
[INFO] [stdout]   --> src/mesh.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let min_err = min + err;
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `prim_overlap` is assigned to, but never used
[INFO] [stdout]    --> src/mesh.rs:306:21
[INFO] [stdout]     |
[INFO] [stdout] 306 |             let mut prim_overlap = 0;
[INFO] [stdout]     |                     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_prim_overlap` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `materials`
[INFO] [stdout]    --> src/mesh.rs:384:22
[INFO] [stdout]     |
[INFO] [stdout] 384 |         let (models, materials) = tobj::load_obj(path).unwrap();
[INFO] [stdout]     |                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_materials`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/scene.rs:241:25
[INFO] [stdout]     |
[INFO] [stdout] 241 |             if let Some(mut child_node_intersect) = child.partial_trace_until_distance(ray, max_distance) {
[INFO] [stdout]     |                         ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/composite_shape.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let mut intersects: Vec<(usize, Hit, Intersect)> = shape_sects.into_iter().map(|x| (i, hit_direction(x), x)).collect();
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mesh.rs:436:17
[INFO] [stdout]     |
[INFO] [stdout] 436 |             let mut v = e1.cross(hit_v1);
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mesh.rs:439:17
[INFO] [stdout]     |
[INFO] [stdout] 439 |             let mut w = e2.cross(hit_v2);
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mesh.rs:442:17
[INFO] [stdout]     |
[INFO] [stdout] 442 |             let mut u = e3.cross(hit_v3);
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Enter`
[INFO] [stdout]   --> src/shader/phong.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Enter,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Exit`
[INFO] [stdout]   --> src/shader/phong.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Exit,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `total_light_blocked`
[INFO] [stdout]   --> src/shader/phong.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn total_light_blocked(opacity: Color, enter: f64, exit: f64) -> Color {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `AMBIENT_PORTION`
[INFO] [stdout]   --> src/light.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | const AMBIENT_PORTION : f64 = 0.01;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `trace_sample_rays`
[INFO] [stdout]    --> src/light.rs:300:8
[INFO] [stdout]     |
[INFO] [stdout] 300 |     fn trace_sample_rays(&self, scene: &Scene, intersect: &Intersect, num_rays: usize) -> (usize, Vec<Illum>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant is never used: `START_SAMPLE`
[INFO] [stdout]    --> src/light.rs:327:5
[INFO] [stdout]     |
[INFO] [stdout] 327 |     const START_SAMPLE: usize = 32;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant is never used: `PROG_DEPTH`
[INFO] [stdout]    --> src/light.rs:328:5
[INFO] [stdout]     |
[INFO] [stdout] 328 |     const PROG_DEPTH: usize = 4;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant is never used: `PROG_THRESH`
[INFO] [stdout]    --> src/light.rs:329:5
[INFO] [stdout]     |
[INFO] [stdout] 329 |     const PROG_THRESH: f64 = 0.05;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `progressive_random_illumination`
[INFO] [stdout]    --> src/light.rs:331:8
[INFO] [stdout]     |
[INFO] [stdout] 331 |     fn progressive_random_illumination(&self, scene: &Scene, intersect: &Intersect) -> Vec<Illum> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `id`
[INFO] [stdout]   --> src/multithread.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     id: usize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `image_dimension`
[INFO] [stdout]  --> src/progress_tracker.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     image_dimension: ImageDimension,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `bound_nothing`
[INFO] [stdout]   --> src/mesh.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn bound_nothing() -> BoundingBox {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `expand`
[INFO] [stdout]   --> src/mesh.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn expand(&mut self, vertices: &Vec<DVec3>) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `from_positions`
[INFO] [stdout]   --> src/mesh.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn from_positions(positions: Vec<f32>) -> BoundingBox {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `texture_offsets` should have an upper case name
[INFO] [stdout]   --> src/primitive/cube.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 |     const texture_offsets: [(f64, f64); 6] = [(2.0, 1.0), (0.0, 1.0), (1.0, 1.0), (3.0, 1.0), (1.0, 2.0), (1.0, 0.0)];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TEXTURE_OFFSETS`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]   --> src/composite_shape.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn merge(A: Vec<(usize, Hit, Intersect)>, B: Vec<(usize, Hit, Intersect)>) -> Vec<(usize, Hit, Intersect)> {
[INFO] [stdout]    |          ^ help: convert the identifier to snake case: `a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]   --> src/composite_shape.rs:33:43
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn merge(A: Vec<(usize, Hit, Intersect)>, B: Vec<(usize, Hit, Intersect)>) -> Vec<(usize, Hit, Intersect)> {
[INFO] [stdout]    |                                           ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 174 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `light1`
[INFO] [stdout]  --> src/main.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn light1() -> Box<PointLight> {
[INFO] [stdout]   |    ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `light2`
[INFO] [stdout]   --> src/main.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn light2() -> Box<PointLight> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `light4`
[INFO] [stdout]   --> src/main.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn light4() -> Box<PointLight> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `front_light`
[INFO] [stdout]   --> src/main.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn front_light() -> Box<PointLight> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `square_light`
[INFO] [stdout]   --> src/main.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn square_light(pos: DVec3, size: f64) -> Box<SquareLight> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 26.69s
[INFO] running `Command { std: "docker" "inspect" "da99ad7f8d8e8a0e8d4eacecd175c117690ab1a2bad232c74cc8e0cf9b44828d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "da99ad7f8d8e8a0e8d4eacecd175c117690ab1a2bad232c74cc8e0cf9b44828d", kill_on_drop: false }`
[INFO] [stdout] da99ad7f8d8e8a0e8d4eacecd175c117690ab1a2bad232c74cc8e0cf9b44828d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-60/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-60/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fb2127e74a1a5eb84c2ea7bbc4bc3ba70078a38137eea1b634bdf27ed02fda84
[INFO] running `Command { std: "docker" "start" "-a" "fb2127e74a1a5eb84c2ea7bbc4bc3ba70078a38137eea1b634bdf27ed02fda84", kill_on_drop: false }`
[INFO] [stdout] warning: unused imports: `ImageBuffer`, `RgbImage`
[INFO] [stdout]  --> src/scene.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use image::{RgbImage, ImageBuffer};
[INFO] [stdout]   |             ^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/scene.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     image: Box<TextureMappable + Send + Sync>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:48:19
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub root: Box<Traceable + Send + Sync>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:49:25
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub lights: Vec<Box<Lightable + Send + Sync>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Lightable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:87:44
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn add_light(&mut self, light: Box<Lightable + Send + Sync>) {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Lightable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:111:40
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn add_child(&mut self, child: Box<Traceable + Send + Sync>);
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:112:50
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn add_children(&mut self, children: Vec<Box<Traceable + Send + Sync>>) {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:123:32
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn clone_box(&self) -> Box<Traceable + Send + Sync>;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:130:32
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn clone_box(&self) -> Box<Traceable + Send + Sync> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:135:20
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Clone for Box<Traceable + Send + Sync> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:136:28
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn clone(&self) -> Box<Traceable + Send + Sync> {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:144:27
[INFO] [stdout]     |
[INFO] [stdout] 144 |     primitive: Option<Box<Intersectable + Send + Sync>>,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:145:19
[INFO] [stdout]     |
[INFO] [stdout] 145 |     material: Box<Shadable + Send + Sync>,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:147:23
[INFO] [stdout]     |
[INFO] [stdout] 147 |     children: Vec<Box<Traceable + Send + Sync>>,
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:163:52
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub fn set_primitive(&mut self, primitive: Box<Intersectable + Send + Sync>) {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:167:50
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn set_material(&mut self, material: Box<Shadable + Send + Sync>) {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:192:40
[INFO] [stdout]     |
[INFO] [stdout] 192 |     fn add_child(&mut self, child: Box<Traceable + Send + Sync>) {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::EPSILON as e`
[INFO] [stdout]   --> src/geometry/surface_coord.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |         use std::f64::EPSILON as e;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/intersect.rs:73:22
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub shader: &'a (Shadable + Send + Sync + 'a),
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync + 'a`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/intersect.rs:78:54
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn new(hit_id: ProcessUniqueId, shader: &'a (Shadable + Send + Sync + 'a), intersect: Intersect) -> NodeIntersect<'a> {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync + 'a`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry.rs:33:32
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn clone_box(&self) -> Box<Intersectable + Send + Sync>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry.rs:40:32
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn clone_box(&self) -> Box<Intersectable + Send + Sync> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry.rs:45:20
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl Clone for Box<Intersectable + Send + Sync> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry.rs:46:28
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn clone(&self) -> Box<Intersectable + Send + Sync> {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn clone_box(&self) -> Box<Transformable + Send + Sync>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Transformable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry.rs:72:32
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn clone_box(&self) -> Box<Transformable + Send + Sync> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Transformable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry.rs:77:20
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl Clone for Box<Transformable + Send + Sync> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Transformable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry.rs:78:28
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn clone(&self) -> Box<Transformable + Send + Sync> {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Transformable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ray`
[INFO] [stdout]  --> src/shader.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 | use geometry::{Intersect, Ray};
[INFO] [stdout]   |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/shader.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `snowflake::ProcessUniqueId`
[INFO] [stdout]  --> src/shader.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use snowflake::ProcessUniqueId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/shader/texture.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 |     texture: Box<TextureMappable + Send + Sync>,
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/shader/texture.rs:9:29
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new(texture: Box<TextureMappable + Send + Sync>) -> Box<TextureShader> {
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `geometry::Ray`
[INFO] [stdout]  --> src/shader/translucent.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use geometry::Ray;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `euler::DVec3`
[INFO] [stdout]  --> src/shader/translucent.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use euler::DVec3;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:33:32
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn clone_box(&self) -> Box<Shadable + Send + Sync>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:40:32
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn clone_box(&self) -> Box<Shadable + Send + Sync> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:45:20
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl Clone for Box<Shadable + Send + Sync> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:46:28
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn clone(&self) -> Box<Shadable + Send + Sync> {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:53:22
[INFO] [stdout]    |
[INFO] [stdout] 53 |     shaders: Vec<Box<Shadable + Send + Sync>>,
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:57:42
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn from_shaders(shaders: Vec<Box<Shadable + Send + Sync>>) -> Box<MixShader> {
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:61:46
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn add_shader(&mut self, shader: Box<Shadable + Send + Sync>) {
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:78:28
[INFO] [stdout]    |
[INFO] [stdout] 78 |     shaders: Vec<(f64, Box<Shadable + Send + Sync>)>,
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:86:59
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub fn add_shader(&mut self, weight: f64, shader: Box<Shadable + Send + Sync>) {
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:90:48
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn from_shaders(shaders: Vec<(f64, Box<Shadable + Send + Sync>)>) -> Box<CompositeShader> {
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shader.rs:115:22
[INFO] [stdout]     |
[INFO] [stdout] 115 |     shaders: Vec<Box<Shadable + Send + Sync>>,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shader.rs:125:42
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn from_shaders(shaders: Vec<Box<Shadable + Send + Sync>>) -> Box<ChainShader> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shader.rs:129:47
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn push_shader(&mut self, shader: Box<Shadable + Send + Sync>) {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shader.rs:157:21
[INFO] [stdout]     |
[INFO] [stdout] 157 |     normal_map: Box<NormalMappable + Send + Sync>,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shader.rs:161:32
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn new(normal_map: Box<NormalMappable + Send + Sync>) -> Box<NormalMapShader> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitive.rs:21:20
[INFO] [stdout]    |
[INFO] [stdout] 21 |     primitive: Box<Intersectable + Send + Sync>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitive.rs:25:31
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn new(primitive: Box<Intersectable + Send + Sync>) -> OneWay {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitive.rs:50:20
[INFO] [stdout]    |
[INFO] [stdout] 50 |     primitive: Box<Intersectable + Send + Sync>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitive.rs:54:31
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn new(primitive: Box<Intersectable + Send + Sync>) -> Inverted {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/light.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light.rs:47:32
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn clone_box(&self) -> Box<Lightable + Send + Sync>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Lightable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light.rs:54:32
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn clone_box(&self) -> Box<Lightable + Send + Sync> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Lightable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light.rs:59:20
[INFO] [stdout]    |
[INFO] [stdout] 59 | impl Clone for Box<Lightable + Send + Sync> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Lightable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light.rs:60:28
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn clone(&self) -> Box<Lightable + Send + Sync> {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Lightable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/multithread.rs:19:16
[INFO] [stdout]    |
[INFO] [stdout] 19 | type Job = Box<FnBox + Send>;
[INFO] [stdout]    |                ^^^^^^^^^^^^ help: use `dyn`: `dyn FnBox + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `light::*`
[INFO] [stdout]  --> src/render.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use light::*;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/base_shape.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 |     primitive: Box<Intersectable + Send + Sync>,
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/base_shape.rs:10:46
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(matrix: DMat4, primitive: Box<Intersectable + Send + Sync>) -> BaseShape {
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/base_shape.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn get_shapes(&self) -> Vec<&(Compositable + Send + Sync)> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/subtract_shape.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 |     positive: Box<Compositable + Send + Sync>,
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/subtract_shape.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 |     negative: Box<Compositable + Send + Sync>,
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/subtract_shape.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(positive: Box<Compositable + Send + Sync>, negative: Box<Compositable + Send + Sync>) -> SubtractShape {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/subtract_shape.rs:11:73
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(positive: Box<Compositable + Send + Sync>, negative: Box<Compositable + Send + Sync>) -> SubtractShape {
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/subtract_shape.rs:21:35
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn get_shapes(&self) -> Vec<&(Compositable + Send + Sync)> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/or_shape.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 |     primary: Box<Compositable + Send + Sync>,
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/or_shape.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 |     secondary: Box<Compositable + Send + Sync>,
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/or_shape.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> OrShape {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/or_shape.rs:11:73
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> OrShape {
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/or_shape.rs:51:35
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn get_shapes(&self) -> Vec<&(Compositable + Send + Sync)> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/xor_shape.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 |     primary: Box<Compositable + Send + Sync>,
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/xor_shape.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 |     secondary: Box<Compositable + Send + Sync>,
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/xor_shape.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> XorShape {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/xor_shape.rs:11:73
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> XorShape {
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/xor_shape.rs:58:35
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn get_shapes(&self) -> Vec<&(Compositable + Send + Sync)> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/and_shape.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 |     primary: Box<Compositable + Send + Sync>,
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/and_shape.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 |     secondary: Box<Compositable + Send + Sync>,
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/and_shape.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> AndShape {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/and_shape.rs:11:73
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> AndShape {
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/and_shape.rs:47:35
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn get_shapes(&self) -> Vec<&(Compositable + Send + Sync)> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/and_shape.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 |     shapes: Vec<Box<Compositable + Send + Sync>>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/and_shape.rs:74:37
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn from_vec(shapes: Vec<Box<Compositable + Send + Sync>>) -> MultiAndShape {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/and_shape.rs:83:35
[INFO] [stdout]    |
[INFO] [stdout] 83 |     fn get_shapes(&self) -> Vec<&(Compositable + Send + Sync)> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape.rs:75:33
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn calculate_intersects(comp: &(Compositable + Send + Sync), ray: Ray, check_get: &mut FnMut(usize, &Vec<bool>, Intersect) -> Control) 
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape.rs:75:88
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn calculate_intersects(comp: &(Compositable + Send + Sync), ray: Ray, check_get: &mut FnMut(usize, &Vec<bool>, Intersect) -> Control) 
[INFO] [stdout]    |                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(usize, &Vec<bool>, Intersect) -> Control`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/composite_shape.rs:126:35
[INFO] [stdout]     |
[INFO] [stdout] 126 |     fn get_shapes(&self) -> Vec<&(Compositable + Send + Sync)>;
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/composite_shape.rs:132:45
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn clone_compositable_box(&self) -> Box<Compositable + Send + Sync>;
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/composite_shape.rs:139:45
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn clone_compositable_box(&self) -> Box<Compositable + Send + Sync> {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/composite_shape.rs:144:20
[INFO] [stdout]     |
[INFO] [stdout] 144 | impl Clone for Box<Compositable + Send + Sync> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/composite_shape.rs:145:28
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn clone(&self) -> Box<Compositable + Send + Sync> {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util.rs:35:36
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn build_scene(lights: Vec<Box<Lightable + Send + Sync>>, 
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Lightable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util.rs:38:30
[INFO] [stdout]    |
[INFO] [stdout] 38 |                    root: Box<Traceable + Send + Sync>) -> Scene {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util.rs:58:33
[INFO] [stdout]    |
[INFO] [stdout] 58 |                   material: Box<Shadable + Send + Sync>,
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util.rs:59:34
[INFO] [stdout]    |
[INFO] [stdout] 59 |                   primitive: Box<Intersectable + Send + Sync>,
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util.rs:60:37
[INFO] [stdout]    |
[INFO] [stdout] 60 |                   children: Vec<Box<Traceable + Send + Sync>>) -> Box<SceneNode> {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util.rs:72:37
[INFO] [stdout]    |
[INFO] [stdout] 72 |                   children: Vec<Box<Traceable + Send + Sync>>) -> Box<SceneNode> {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:101:59
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub fn create_wall_from_material(size: f64, material: Box<Shadable + Send + Sync>, transform: DMat4) -> SceneNode {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:128:60
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub fn create_floor_from_material(size: f64, material: Box<Shadable + Send + Sync>) -> Box<SceneNode> {
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:147:22
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub ceiling: Box<Shadable + Send + Sync>,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:148:20
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub floor: Box<Shadable + Send + Sync>,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:149:20
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub front: Box<Shadable + Send + Sync>,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:150:19
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub back: Box<Shadable + Send + Sync>,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:151:19
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub left: Box<Shadable + Send + Sync>,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:152:20
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub right: Box<Shadable + Send + Sync>,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:299:55
[INFO] [stdout]     |
[INFO] [stdout] 299 | pub fn subtract_shape(transform: DMat4, positive: Box<Compositable + Send + Sync>, negative: Box<Compositable + Send + Sync>) -> Box<Subt...
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:299:98
[INFO] [stdout]     |
[INFO] [stdout] 299 | ... Send + Sync>, negative: Box<Compositable + Send + Sync>) -> Box<SubtractShape> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:305:48
[INFO] [stdout]     |
[INFO] [stdout] 305 | pub fn or_shape(transform: DMat4, primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> Box<OrShape> {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:305:92
[INFO] [stdout]     |
[INFO] [stdout] 305 | pub fn or_shape(transform: DMat4, primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> Box<OrShape> {
[INFO] [stdout]     |                                                                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:311:49
[INFO] [stdout]     |
[INFO] [stdout] 311 | pub fn xor_shape(transform: DMat4, primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> Box<XorShape> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:311:93
[INFO] [stdout]     |
[INFO] [stdout] 311 | pub fn xor_shape(transform: DMat4, primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> Box<XorShape> {
[INFO] [stdout]     |                                                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:317:49
[INFO] [stdout]     |
[INFO] [stdout] 317 | pub fn and_shape(transform: DMat4, primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> Box<AndShape> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:317:93
[INFO] [stdout]     |
[INFO] [stdout] 317 | pub fn and_shape(transform: DMat4, primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> Box<AndShape> {
[INFO] [stdout]     |                                                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:325:26
[INFO] [stdout]     |
[INFO] [stdout] 325 |     let spheres: Vec<Box<Compositable + Send + Sync>> = vec!(
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:351:52
[INFO] [stdout]     |
[INFO] [stdout] 351 | pub fn base_shape(transform: DMat4, primitive: Box<Intersectable + Send + Sync>) -> Box<BaseShape> {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn clone_box(&self) -> Box<TextureMappable + Send + Sync>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn clone_box(&self) -> Box<TextureMappable + Send + Sync> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture.rs:23:20
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Clone for Box<TextureMappable + Send + Sync> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn clone(&self) -> Box<TextureMappable + Send + Sync> {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `color::Color`
[INFO] [stdout]  --> src/normal_map.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use color::Color;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/normal_map.rs:16:32
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn clone_box(&self) -> Box<NormalMappable + Send + Sync>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/normal_map.rs:23:32
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn clone_box(&self) -> Box<NormalMappable + Send + Sync> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/normal_map.rs:28:20
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Clone for Box<NormalMappable + Send + Sync> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/normal_map.rs:29:28
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn clone(&self) -> Box<NormalMappable + Send + Sync> {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::RgbImage`
[INFO] [stdout]  --> src/asset_manager.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use image::RgbImage;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/asset_manager.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/asset_manager.rs:16:41
[INFO] [stdout]    |
[INFO] [stdout] 16 |     texture_cache: HashMap<&'a str, Box<TextureMappable + Send + Sync>>,
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/asset_manager.rs:17:44
[INFO] [stdout]    |
[INFO] [stdout] 17 |     normal_map_cache: HashMap<&'a str, Box<NormalMappable + Send + Sync>>,
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/asset_manager.rs:29:69
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn image_texture_from_path(&mut self, path: &'a str) -> Box<TextureMappable + Send + Sync> {
[INFO] [stdout]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/asset_manager.rs:41:76
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn bump_map_from_path(&mut self, path: &'a str, depth: f64) -> Box<NormalMappable + Send + Sync> {
[INFO] [stdout]    |                                                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/asset_manager.rs:51:66
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn normal_map_from_path(&mut self, path: &'a str) -> Box<NormalMappable> {
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `primitive::plane::Triangle`
[INFO] [stdout]  --> src/mesh.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use primitive::plane::Triangle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mesh.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |           ///println!("BoundingNode check_intersect hit_point: {}", hit_point);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 177 | 
[INFO] [stdout] 178 | /         match self {
[INFO] [stdout] 179 | |             BoundingNode::Interior{axis, split, child} => {
[INFO] [stdout] 180 | |                 //println!("BoundingNode check_intersect interior node: split: {}", split);
[INFO] [stdout] 181 | |                 // First check if the ray intersects with this node at all
[INFO] [stdout] ...   |
[INFO] [stdout] 277 | |             },
[INFO] [stdout] 278 | |         }
[INFO] [stdout]     | |_________- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scene`
[INFO] [stdout]    --> src/shader.rs:170:25
[INFO] [stdout]     |
[INFO] [stdout] 170 |     fn get_color(&self, scene: &Scene, intersect: Intersect) -> Color {
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_scene`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scene`
[INFO] [stdout]    --> src/shader.rs:175:32
[INFO] [stdout]     |
[INFO] [stdout] 175 |     fn modify_intersect(&self, scene: &Scene, intersect: Intersect) -> Intersect {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_scene`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `acc`
[INFO] [stdout]    --> src/primitive/plane.rs:219:47
[INFO] [stdout]     |
[INFO] [stdout] 219 | ...                   .try_fold(true, |acc, x| 
[INFO] [stdout]     |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_acc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depth`
[INFO] [stdout]    --> src/light.rs:189:56
[INFO] [stdout]     |
[INFO] [stdout] 189 |     fn subdivide_points(&self, min: DVec2, max: DVec2, depth: usize) -> Vec<DVec3> {
[INFO] [stdout]     |                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/light.rs:306:13
[INFO] [stdout]     |
[INFO] [stdout] 306 |         for i in 0..num_rays {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `surface_dot`
[INFO] [stdout]    --> src/light.rs:346:31
[INFO] [stdout]     |
[INFO] [stdout] 346 |             if let Illum::Lit{surface_dot, light_direction, ref mut intensity} = x {
[INFO] [stdout]     |                               ^^^^^^^^^^^ help: try ignoring the field: `surface_dot: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_direction`
[INFO] [stdout]    --> src/light.rs:346:44
[INFO] [stdout]     |
[INFO] [stdout] 346 |             if let Illum::Lit{surface_dot, light_direction, ref mut intensity} = x {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^ help: try ignoring the field: `light_direction: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depth`
[INFO] [stdout]    --> src/light.rs:335:13
[INFO] [stdout]     |
[INFO] [stdout] 335 |         for depth in 0..SquareLight::PROG_DEPTH {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/light.rs:359:13
[INFO] [stdout]     |
[INFO] [stdout] 359 |         for i in 0..SquareLight::SAMPLE_RATE {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `x` is never read
[INFO] [stdout]    --> src/render.rs:316:13
[INFO] [stdout]     |
[INFO] [stdout] 316 |     let mut x = 0;
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `y` is never read
[INFO] [stdout]    --> src/render.rs:317:13
[INFO] [stdout]     |
[INFO] [stdout] 317 |     let mut y = 0;
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_err`
[INFO] [stdout]   --> src/mesh.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let max_err = max - err;
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `min_err`
[INFO] [stdout]   --> src/mesh.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let min_err = min + err;
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `prim_overlap` is assigned to, but never used
[INFO] [stdout]    --> src/mesh.rs:306:21
[INFO] [stdout]     |
[INFO] [stdout] 306 |             let mut prim_overlap = 0;
[INFO] [stdout]     |                     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_prim_overlap` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `materials`
[INFO] [stdout]    --> src/mesh.rs:384:22
[INFO] [stdout]     |
[INFO] [stdout] 384 |         let (models, materials) = tobj::load_obj(path).unwrap();
[INFO] [stdout]     |                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_materials`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/scene.rs:241:25
[INFO] [stdout]     |
[INFO] [stdout] 241 |             if let Some(mut child_node_intersect) = child.partial_trace_until_distance(ray, max_distance) {
[INFO] [stdout]     |                         ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/composite_shape.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let mut intersects: Vec<(usize, Hit, Intersect)> = shape_sects.into_iter().map(|x| (i, hit_direction(x), x)).collect();
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mesh.rs:436:17
[INFO] [stdout]     |
[INFO] [stdout] 436 |             let mut v = e1.cross(hit_v1);
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mesh.rs:439:17
[INFO] [stdout]     |
[INFO] [stdout] 439 |             let mut w = e2.cross(hit_v2);
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mesh.rs:442:17
[INFO] [stdout]     |
[INFO] [stdout] 442 |             let mut u = e3.cross(hit_v3);
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Enter`
[INFO] [stdout]   --> src/shader/phong.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Enter,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Exit`
[INFO] [stdout]   --> src/shader/phong.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Exit,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `total_light_blocked`
[INFO] [stdout]   --> src/shader/phong.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn total_light_blocked(opacity: Color, enter: f64, exit: f64) -> Color {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `AMBIENT_PORTION`
[INFO] [stdout]   --> src/light.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | const AMBIENT_PORTION : f64 = 0.01;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `trace_sample_rays`
[INFO] [stdout]    --> src/light.rs:300:8
[INFO] [stdout]     |
[INFO] [stdout] 300 |     fn trace_sample_rays(&self, scene: &Scene, intersect: &Intersect, num_rays: usize) -> (usize, Vec<Illum>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant is never used: `START_SAMPLE`
[INFO] [stdout]    --> src/light.rs:327:5
[INFO] [stdout]     |
[INFO] [stdout] 327 |     const START_SAMPLE: usize = 32;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant is never used: `PROG_DEPTH`
[INFO] [stdout]    --> src/light.rs:328:5
[INFO] [stdout]     |
[INFO] [stdout] 328 |     const PROG_DEPTH: usize = 4;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant is never used: `PROG_THRESH`
[INFO] [stdout]    --> src/light.rs:329:5
[INFO] [stdout]     |
[INFO] [stdout] 329 |     const PROG_THRESH: f64 = 0.05;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `progressive_random_illumination`
[INFO] [stdout]    --> src/light.rs:331:8
[INFO] [stdout]     |
[INFO] [stdout] 331 |     fn progressive_random_illumination(&self, scene: &Scene, intersect: &Intersect) -> Vec<Illum> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `id`
[INFO] [stdout]   --> src/multithread.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     id: usize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `image_dimension`
[INFO] [stdout]  --> src/progress_tracker.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     image_dimension: ImageDimension,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `bound_nothing`
[INFO] [stdout]   --> src/mesh.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn bound_nothing() -> BoundingBox {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `expand`
[INFO] [stdout]   --> src/mesh.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn expand(&mut self, vertices: &Vec<DVec3>) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `from_positions`
[INFO] [stdout]   --> src/mesh.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn from_positions(positions: Vec<f32>) -> BoundingBox {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `texture_offsets` should have an upper case name
[INFO] [stdout]   --> src/primitive/cube.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 |     const texture_offsets: [(f64, f64); 6] = [(2.0, 1.0), (0.0, 1.0), (1.0, 1.0), (3.0, 1.0), (1.0, 2.0), (1.0, 0.0)];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TEXTURE_OFFSETS`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]   --> src/composite_shape.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn merge(A: Vec<(usize, Hit, Intersect)>, B: Vec<(usize, Hit, Intersect)>) -> Vec<(usize, Hit, Intersect)> {
[INFO] [stdout]    |          ^ help: convert the identifier to snake case: `a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]   --> src/composite_shape.rs:33:43
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn merge(A: Vec<(usize, Hit, Intersect)>, B: Vec<(usize, Hit, Intersect)>) -> Vec<(usize, Hit, Intersect)> {
[INFO] [stdout]    |                                           ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 174 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `light1`
[INFO] [stdout]  --> src/main.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn light1() -> Box<PointLight> {
[INFO] [stdout]   |    ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `light2`
[INFO] [stdout]   --> src/main.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn light2() -> Box<PointLight> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `light4`
[INFO] [stdout]   --> src/main.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn light4() -> Box<PointLight> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `front_light`
[INFO] [stdout]   --> src/main.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn front_light() -> Box<PointLight> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `square_light`
[INFO] [stdout]   --> src/main.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn square_light(pos: DVec3, size: f64) -> Box<SquareLight> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling raytracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> tests/square_light_test.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `raytracer::matrix::*`
[INFO] [stdout]  --> tests/anti_alias_test.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use raytracer::matrix::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> tests/transparency_test.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `raytracer::matrix::*`
[INFO] [stdout]  --> tests/dice_scene.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use raytracer::matrix::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `light1`
[INFO] [stdout]   --> tests/square_light_test.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn light1() -> Box<PointLight> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `light3`
[INFO] [stdout]   --> tests/square_light_test.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn light3() -> Box<PointLight> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `light4`
[INFO] [stdout]   --> tests/square_light_test.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn light4() -> Box<PointLight> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `make_camera`
[INFO] [stdout]   --> tests/dice_scene.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn make_camera() -> CameraConfig {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `raytracer::matrix::*`
[INFO] [stdout]  --> tests/basic_test.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use raytracer::matrix::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/bump_map_test.rs:16:55
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn test_bump_shader(color: Color, normal_map: Box<NormalMappable + Send + Sync>) -> Box<ChainShader> {
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `light3`
[INFO] [stdout]   --> tests/normal_map_test.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn light3() -> Box<PointLight> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `light4`
[INFO] [stdout]   --> tests/normal_map_test.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn light4() -> Box<PointLight> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `light1`
[INFO] [stdout]  --> src/main.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn light1() -> Box<PointLight> {
[INFO] [stdout]   |    ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `light2`
[INFO] [stdout]   --> src/main.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn light2() -> Box<PointLight> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `light4`
[INFO] [stdout]   --> src/main.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn light4() -> Box<PointLight> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `front_light`
[INFO] [stdout]   --> src/main.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn front_light() -> Box<PointLight> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `square_light`
[INFO] [stdout]   --> src/main.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn square_light(pos: DVec3, size: f64) -> Box<SquareLight> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `light4`
[INFO] [stdout]   --> tests/polyhedra_test.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn light4() -> Box<PointLight> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `front_light`
[INFO] [stdout]   --> tests/mesh_test.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn front_light() -> Box<PointLight> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `raytracer::matrix::*`
[INFO] [stdout]  --> tests/composite_shape_test.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use raytracer::matrix::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ImageBuffer`, `RgbImage`
[INFO] [stdout]  --> src/scene.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use image::{RgbImage, ImageBuffer};
[INFO] [stdout]   |             ^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/scene.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     image: Box<TextureMappable + Send + Sync>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:48:19
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub root: Box<Traceable + Send + Sync>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:49:25
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub lights: Vec<Box<Lightable + Send + Sync>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Lightable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:87:44
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn add_light(&mut self, light: Box<Lightable + Send + Sync>) {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Lightable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:111:40
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn add_child(&mut self, child: Box<Traceable + Send + Sync>);
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:112:50
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn add_children(&mut self, children: Vec<Box<Traceable + Send + Sync>>) {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:123:32
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn clone_box(&self) -> Box<Traceable + Send + Sync>;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:130:32
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn clone_box(&self) -> Box<Traceable + Send + Sync> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:135:20
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Clone for Box<Traceable + Send + Sync> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:136:28
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn clone(&self) -> Box<Traceable + Send + Sync> {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:144:27
[INFO] [stdout]     |
[INFO] [stdout] 144 |     primitive: Option<Box<Intersectable + Send + Sync>>,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:145:19
[INFO] [stdout]     |
[INFO] [stdout] 145 |     material: Box<Shadable + Send + Sync>,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:147:23
[INFO] [stdout]     |
[INFO] [stdout] 147 |     children: Vec<Box<Traceable + Send + Sync>>,
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:163:52
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub fn set_primitive(&mut self, primitive: Box<Intersectable + Send + Sync>) {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:167:50
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn set_material(&mut self, material: Box<Shadable + Send + Sync>) {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scene.rs:192:40
[INFO] [stdout]     |
[INFO] [stdout] 192 |     fn add_child(&mut self, child: Box<Traceable + Send + Sync>) {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::EPSILON as e`
[INFO] [stdout]   --> src/geometry/surface_coord.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |         use std::f64::EPSILON as e;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/intersect.rs:73:22
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub shader: &'a (Shadable + Send + Sync + 'a),
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync + 'a`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/intersect.rs:78:54
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn new(hit_id: ProcessUniqueId, shader: &'a (Shadable + Send + Sync + 'a), intersect: Intersect) -> NodeIntersect<'a> {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync + 'a`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry.rs:33:32
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn clone_box(&self) -> Box<Intersectable + Send + Sync>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry.rs:40:32
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn clone_box(&self) -> Box<Intersectable + Send + Sync> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry.rs:45:20
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl Clone for Box<Intersectable + Send + Sync> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry.rs:46:28
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn clone(&self) -> Box<Intersectable + Send + Sync> {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn clone_box(&self) -> Box<Transformable + Send + Sync>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Transformable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry.rs:72:32
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn clone_box(&self) -> Box<Transformable + Send + Sync> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Transformable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry.rs:77:20
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl Clone for Box<Transformable + Send + Sync> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Transformable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry.rs:78:28
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn clone(&self) -> Box<Transformable + Send + Sync> {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Transformable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ray`
[INFO] [stdout]  --> src/shader.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 | use geometry::{Intersect, Ray};
[INFO] [stdout]   |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/shader.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `snowflake::ProcessUniqueId`
[INFO] [stdout]  --> src/shader.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use snowflake::ProcessUniqueId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/shader/texture.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 |     texture: Box<TextureMappable + Send + Sync>,
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/shader/texture.rs:9:29
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new(texture: Box<TextureMappable + Send + Sync>) -> Box<TextureShader> {
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `geometry::Ray`
[INFO] [stdout]  --> src/shader/translucent.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use geometry::Ray;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `euler::DVec3`
[INFO] [stdout]  --> src/shader/translucent.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use euler::DVec3;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:33:32
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn clone_box(&self) -> Box<Shadable + Send + Sync>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:40:32
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn clone_box(&self) -> Box<Shadable + Send + Sync> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:45:20
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl Clone for Box<Shadable + Send + Sync> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:46:28
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn clone(&self) -> Box<Shadable + Send + Sync> {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:53:22
[INFO] [stdout]    |
[INFO] [stdout] 53 |     shaders: Vec<Box<Shadable + Send + Sync>>,
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:57:42
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn from_shaders(shaders: Vec<Box<Shadable + Send + Sync>>) -> Box<MixShader> {
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:61:46
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn add_shader(&mut self, shader: Box<Shadable + Send + Sync>) {
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:78:28
[INFO] [stdout]    |
[INFO] [stdout] 78 |     shaders: Vec<(f64, Box<Shadable + Send + Sync>)>,
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:86:59
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub fn add_shader(&mut self, weight: f64, shader: Box<Shadable + Send + Sync>) {
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shader.rs:90:48
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn from_shaders(shaders: Vec<(f64, Box<Shadable + Send + Sync>)>) -> Box<CompositeShader> {
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shader.rs:115:22
[INFO] [stdout]     |
[INFO] [stdout] 115 |     shaders: Vec<Box<Shadable + Send + Sync>>,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shader.rs:125:42
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn from_shaders(shaders: Vec<Box<Shadable + Send + Sync>>) -> Box<ChainShader> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shader.rs:129:47
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn push_shader(&mut self, shader: Box<Shadable + Send + Sync>) {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shader.rs:157:21
[INFO] [stdout]     |
[INFO] [stdout] 157 |     normal_map: Box<NormalMappable + Send + Sync>,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shader.rs:161:32
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn new(normal_map: Box<NormalMappable + Send + Sync>) -> Box<NormalMapShader> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitive.rs:21:20
[INFO] [stdout]    |
[INFO] [stdout] 21 |     primitive: Box<Intersectable + Send + Sync>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitive.rs:25:31
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn new(primitive: Box<Intersectable + Send + Sync>) -> OneWay {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitive.rs:50:20
[INFO] [stdout]    |
[INFO] [stdout] 50 |     primitive: Box<Intersectable + Send + Sync>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitive.rs:54:31
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn new(primitive: Box<Intersectable + Send + Sync>) -> Inverted {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/light.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light.rs:47:32
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn clone_box(&self) -> Box<Lightable + Send + Sync>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Lightable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light.rs:54:32
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn clone_box(&self) -> Box<Lightable + Send + Sync> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Lightable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light.rs:59:20
[INFO] [stdout]    |
[INFO] [stdout] 59 | impl Clone for Box<Lightable + Send + Sync> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Lightable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light.rs:60:28
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn clone(&self) -> Box<Lightable + Send + Sync> {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Lightable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/multithread.rs:19:16
[INFO] [stdout]    |
[INFO] [stdout] 19 | type Job = Box<FnBox + Send>;
[INFO] [stdout]    |                ^^^^^^^^^^^^ help: use `dyn`: `dyn FnBox + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `light::*`
[INFO] [stdout]  --> src/render.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use light::*;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/base_shape.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 |     primitive: Box<Intersectable + Send + Sync>,
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/base_shape.rs:10:46
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(matrix: DMat4, primitive: Box<Intersectable + Send + Sync>) -> BaseShape {
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/base_shape.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn get_shapes(&self) -> Vec<&(Compositable + Send + Sync)> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/subtract_shape.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 |     positive: Box<Compositable + Send + Sync>,
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/subtract_shape.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 |     negative: Box<Compositable + Send + Sync>,
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/subtract_shape.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(positive: Box<Compositable + Send + Sync>, negative: Box<Compositable + Send + Sync>) -> SubtractShape {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/subtract_shape.rs:11:73
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(positive: Box<Compositable + Send + Sync>, negative: Box<Compositable + Send + Sync>) -> SubtractShape {
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/subtract_shape.rs:21:35
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn get_shapes(&self) -> Vec<&(Compositable + Send + Sync)> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/or_shape.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 |     primary: Box<Compositable + Send + Sync>,
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/or_shape.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 |     secondary: Box<Compositable + Send + Sync>,
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/or_shape.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> OrShape {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/or_shape.rs:11:73
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> OrShape {
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/or_shape.rs:51:35
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn get_shapes(&self) -> Vec<&(Compositable + Send + Sync)> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/xor_shape.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 |     primary: Box<Compositable + Send + Sync>,
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/xor_shape.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 |     secondary: Box<Compositable + Send + Sync>,
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/xor_shape.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> XorShape {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/xor_shape.rs:11:73
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> XorShape {
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/xor_shape.rs:58:35
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn get_shapes(&self) -> Vec<&(Compositable + Send + Sync)> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/and_shape.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 |     primary: Box<Compositable + Send + Sync>,
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/composite_shape/and_shape.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 |     secondary: Box<Compositable + Send + Sync>,
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/and_shape.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> AndShape {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/and_shape.rs:11:73
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> AndShape {
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/and_shape.rs:47:35
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn get_shapes(&self) -> Vec<&(Compositable + Send + Sync)> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/and_shape.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 |     shapes: Vec<Box<Compositable + Send + Sync>>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/and_shape.rs:74:37
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn from_vec(shapes: Vec<Box<Compositable + Send + Sync>>) -> MultiAndShape {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape/and_shape.rs:83:35
[INFO] [stdout]    |
[INFO] [stdout] 83 |     fn get_shapes(&self) -> Vec<&(Compositable + Send + Sync)> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape.rs:75:33
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn calculate_intersects(comp: &(Compositable + Send + Sync), ray: Ray, check_get: &mut FnMut(usize, &Vec<bool>, Intersect) -> Control) 
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/composite_shape.rs:75:88
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn calculate_intersects(comp: &(Compositable + Send + Sync), ray: Ray, check_get: &mut FnMut(usize, &Vec<bool>, Intersect) -> Control) 
[INFO] [stdout]    |                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(usize, &Vec<bool>, Intersect) -> Control`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/composite_shape.rs:126:35
[INFO] [stdout]     |
[INFO] [stdout] 126 |     fn get_shapes(&self) -> Vec<&(Compositable + Send + Sync)>;
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/composite_shape.rs:132:45
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn clone_compositable_box(&self) -> Box<Compositable + Send + Sync>;
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/composite_shape.rs:139:45
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn clone_compositable_box(&self) -> Box<Compositable + Send + Sync> {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/composite_shape.rs:144:20
[INFO] [stdout]     |
[INFO] [stdout] 144 | impl Clone for Box<Compositable + Send + Sync> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/composite_shape.rs:145:28
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn clone(&self) -> Box<Compositable + Send + Sync> {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util.rs:35:36
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn build_scene(lights: Vec<Box<Lightable + Send + Sync>>, 
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Lightable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util.rs:38:30
[INFO] [stdout]    |
[INFO] [stdout] 38 |                    root: Box<Traceable + Send + Sync>) -> Scene {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util.rs:58:33
[INFO] [stdout]    |
[INFO] [stdout] 58 |                   material: Box<Shadable + Send + Sync>,
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util.rs:59:34
[INFO] [stdout]    |
[INFO] [stdout] 59 |                   primitive: Box<Intersectable + Send + Sync>,
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util.rs:60:37
[INFO] [stdout]    |
[INFO] [stdout] 60 |                   children: Vec<Box<Traceable + Send + Sync>>) -> Box<SceneNode> {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util.rs:72:37
[INFO] [stdout]    |
[INFO] [stdout] 72 |                   children: Vec<Box<Traceable + Send + Sync>>) -> Box<SceneNode> {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Traceable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:101:59
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub fn create_wall_from_material(size: f64, material: Box<Shadable + Send + Sync>, transform: DMat4) -> SceneNode {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:128:60
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub fn create_floor_from_material(size: f64, material: Box<Shadable + Send + Sync>) -> Box<SceneNode> {
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:147:22
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub ceiling: Box<Shadable + Send + Sync>,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:148:20
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub floor: Box<Shadable + Send + Sync>,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:149:20
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub front: Box<Shadable + Send + Sync>,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:150:19
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub back: Box<Shadable + Send + Sync>,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:151:19
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub left: Box<Shadable + Send + Sync>,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:152:20
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub right: Box<Shadable + Send + Sync>,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Shadable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:299:55
[INFO] [stdout]     |
[INFO] [stdout] 299 | pub fn subtract_shape(transform: DMat4, positive: Box<Compositable + Send + Sync>, negative: Box<Compositable + Send + Sync>) -> Box<Subt...
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:299:98
[INFO] [stdout]     |
[INFO] [stdout] 299 | ... Send + Sync>, negative: Box<Compositable + Send + Sync>) -> Box<SubtractShape> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:305:48
[INFO] [stdout]     |
[INFO] [stdout] 305 | pub fn or_shape(transform: DMat4, primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> Box<OrShape> {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:305:92
[INFO] [stdout]     |
[INFO] [stdout] 305 | pub fn or_shape(transform: DMat4, primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> Box<OrShape> {
[INFO] [stdout]     |                                                                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:311:49
[INFO] [stdout]     |
[INFO] [stdout] 311 | pub fn xor_shape(transform: DMat4, primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> Box<XorShape> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:311:93
[INFO] [stdout]     |
[INFO] [stdout] 311 | pub fn xor_shape(transform: DMat4, primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> Box<XorShape> {
[INFO] [stdout]     |                                                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:317:49
[INFO] [stdout]     |
[INFO] [stdout] 317 | pub fn and_shape(transform: DMat4, primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> Box<AndShape> {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:317:93
[INFO] [stdout]     |
[INFO] [stdout] 317 | pub fn and_shape(transform: DMat4, primary: Box<Compositable + Send + Sync>, secondary: Box<Compositable + Send + Sync>) -> Box<AndShape> {
[INFO] [stdout]     |                                                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:325:26
[INFO] [stdout]     |
[INFO] [stdout] 325 |     let spheres: Vec<Box<Compositable + Send + Sync>> = vec!(
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Compositable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util.rs:351:52
[INFO] [stdout]     |
[INFO] [stdout] 351 | pub fn base_shape(transform: DMat4, primitive: Box<Intersectable + Send + Sync>) -> Box<BaseShape> {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Intersectable + Send + Sync`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn clone_box(&self) -> Box<TextureMappable + Send + Sync>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn clone_box(&self) -> Box<TextureMappable + Send + Sync> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture.rs:23:20
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Clone for Box<TextureMappable + Send + Sync> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `double_subracted_sphere`
[INFO] [stdout]    --> tests/composite_shape_test.rs:128:4
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn double_subracted_sphere(size: f64) -> Box<SubtractShape> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn clone(&self) -> Box<TextureMappable + Send + Sync> {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `color::Color`
[INFO] [stdout]  --> src/normal_map.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use color::Color;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/normal_map.rs:16:32
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn clone_box(&self) -> Box<NormalMappable + Send + Sync>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/normal_map.rs:23:32
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn clone_box(&self) -> Box<NormalMappable + Send + Sync> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/normal_map.rs:28:20
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Clone for Box<NormalMappable + Send + Sync> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/normal_map.rs:29:28
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn clone(&self) -> Box<NormalMappable + Send + Sync> {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::RgbImage`
[INFO] [stdout]  --> src/asset_manager.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use image::RgbImage;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/asset_manager.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/asset_manager.rs:16:41
[INFO] [stdout]    |
[INFO] [stdout] 16 |     texture_cache: HashMap<&'a str, Box<TextureMappable + Send + Sync>>,
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/asset_manager.rs:17:44
[INFO] [stdout]    |
[INFO] [stdout] 17 |     normal_map_cache: HashMap<&'a str, Box<NormalMappable + Send + Sync>>,
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/asset_manager.rs:29:69
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn image_texture_from_path(&mut self, path: &'a str) -> Box<TextureMappable + Send + Sync> {
[INFO] [stdout]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TextureMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/asset_manager.rs:41:76
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn bump_map_from_path(&mut self, path: &'a str, depth: f64) -> Box<NormalMappable + Send + Sync> {
[INFO] [stdout]    |                                                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable + Send + Sync`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/asset_manager.rs:51:66
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn normal_map_from_path(&mut self, path: &'a str) -> Box<NormalMappable> {
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn NormalMappable`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `primitive::plane::Triangle`
[INFO] [stdout]  --> src/mesh.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use primitive::plane::Triangle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mesh.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |           ///println!("BoundingNode check_intersect hit_point: {}", hit_point);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 177 | 
[INFO] [stdout] 178 | /         match self {
[INFO] [stdout] 179 | |             BoundingNode::Interior{axis, split, child} => {
[INFO] [stdout] 180 | |                 //println!("BoundingNode check_intersect interior node: split: {}", split);
[INFO] [stdout] 181 | |                 // First check if the ray intersects with this node at all
[INFO] [stdout] ...   |
[INFO] [stdout] 277 | |             },
[INFO] [stdout] 278 | |         }
[INFO] [stdout]     | |_________- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `raytracer::matrix::*`
[INFO] [stdout]  --> tests/scene_test.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use raytracer::matrix::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> tests/texture_test.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scene`
[INFO] [stdout]    --> src/shader.rs:170:25
[INFO] [stdout]     |
[INFO] [stdout] 170 |     fn get_color(&self, scene: &Scene, intersect: Intersect) -> Color {
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_scene`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scene`
[INFO] [stdout]    --> src/shader.rs:175:32
[INFO] [stdout]     |
[INFO] [stdout] 175 |     fn modify_intersect(&self, scene: &Scene, intersect: Intersect) -> Intersect {
[INFO] [stdout]     |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_scene`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `acc`
[INFO] [stdout]    --> src/primitive/plane.rs:219:47
[INFO] [stdout]     |
[INFO] [stdout] 219 | ...                   .try_fold(true, |acc, x| 
[INFO] [stdout]     |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_acc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depth`
[INFO] [stdout]    --> src/light.rs:189:56
[INFO] [stdout]     |
[INFO] [stdout] 189 |     fn subdivide_points(&self, min: DVec2, max: DVec2, depth: usize) -> Vec<DVec3> {
[INFO] [stdout]     |                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/light.rs:306:13
[INFO] [stdout]     |
[INFO] [stdout] 306 |         for i in 0..num_rays {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `surface_dot`
[INFO] [stdout]    --> src/light.rs:346:31
[INFO] [stdout]     |
[INFO] [stdout] 346 |             if let Illum::Lit{surface_dot, light_direction, ref mut intensity} = x {
[INFO] [stdout]     |                               ^^^^^^^^^^^ help: try ignoring the field: `surface_dot: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_direction`
[INFO] [stdout]    --> src/light.rs:346:44
[INFO] [stdout]     |
[INFO] [stdout] 346 |             if let Illum::Lit{surface_dot, light_direction, ref mut intensity} = x {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^ help: try ignoring the field: `light_direction: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depth`
[INFO] [stdout]    --> src/light.rs:335:13
[INFO] [stdout]     |
[INFO] [stdout] 335 |         for depth in 0..SquareLight::PROG_DEPTH {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/light.rs:359:13
[INFO] [stdout]     |
[INFO] [stdout] 359 |         for i in 0..SquareLight::SAMPLE_RATE {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `x` is never read
[INFO] [stdout]    --> src/render.rs:316:13
[INFO] [stdout]     |
[INFO] [stdout] 316 |     let mut x = 0;
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `y` is never read
[INFO] [stdout]    --> src/render.rs:317:13
[INFO] [stdout]     |
[INFO] [stdout] 317 |     let mut y = 0;
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_err`
[INFO] [stdout]   --> src/mesh.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let max_err = max - err;
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `min_err`
[INFO] [stdout]   --> src/mesh.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let min_err = min + err;
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `prim_overlap` is assigned to, but never used
[INFO] [stdout]    --> src/mesh.rs:306:21
[INFO] [stdout]     |
[INFO] [stdout] 306 |             let mut prim_overlap = 0;
[INFO] [stdout]     |                     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_prim_overlap` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `materials`
[INFO] [stdout]    --> src/mesh.rs:384:22
[INFO] [stdout]     |
[INFO] [stdout] 384 |         let (models, materials) = tobj::load_obj(path).unwrap();
[INFO] [stdout]     |                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_materials`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/scene.rs:241:25
[INFO] [stdout]     |
[INFO] [stdout] 241 |             if let Some(mut child_node_intersect) = child.partial_trace_until_distance(ray, max_distance) {
[INFO] [stdout]     |                         ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/composite_shape.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let mut intersects: Vec<(usize, Hit, Intersect)> = shape_sects.into_iter().map(|x| (i, hit_direction(x), x)).collect();
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mesh.rs:436:17
[INFO] [stdout]     |
[INFO] [stdout] 436 |             let mut v = e1.cross(hit_v1);
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mesh.rs:439:17
[INFO] [stdout]     |
[INFO] [stdout] 439 |             let mut w = e2.cross(hit_v2);
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mesh.rs:442:17
[INFO] [stdout]     |
[INFO] [stdout] 442 |             let mut u = e3.cross(hit_v3);
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Enter`
[INFO] [stdout]   --> src/shader/phong.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Enter,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Exit`
[INFO] [stdout]   --> src/shader/phong.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Exit,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `total_light_blocked`
[INFO] [stdout]   --> src/shader/phong.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn total_light_blocked(opacity: Color, enter: f64, exit: f64) -> Color {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `AMBIENT_PORTION`
[INFO] [stdout]   --> src/light.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | const AMBIENT_PORTION : f64 = 0.01;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `trace_sample_rays`
[INFO] [stdout]    --> src/light.rs:300:8
[INFO] [stdout]     |
[INFO] [stdout] 300 |     fn trace_sample_rays(&self, scene: &Scene, intersect: &Intersect, num_rays: usize) -> (usize, Vec<Illum>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant is never used: `START_SAMPLE`
[INFO] [stdout]    --> src/light.rs:327:5
[INFO] [stdout]     |
[INFO] [stdout] 327 |     const START_SAMPLE: usize = 32;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant is never used: `PROG_DEPTH`
[INFO] [stdout]    --> src/light.rs:328:5
[INFO] [stdout]     |
[INFO] [stdout] 328 |     const PROG_DEPTH: usize = 4;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant is never used: `PROG_THRESH`
[INFO] [stdout]    --> src/light.rs:329:5
[INFO] [stdout]     |
[INFO] [stdout] 329 |     const PROG_THRESH: f64 = 0.05;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `progressive_random_illumination`
[INFO] [stdout]    --> src/light.rs:331:8
[INFO] [stdout]     |
[INFO] [stdout] 331 |     fn progressive_random_illumination(&self, scene: &Scene, intersect: &Intersect) -> Vec<Illum> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `id`
[INFO] [stdout]   --> src/multithread.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     id: usize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `image_dimension`
[INFO] [stdout]  --> src/progress_tracker.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     image_dimension: ImageDimension,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `bound_nothing`
[INFO] [stdout]   --> src/mesh.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn bound_nothing() -> BoundingBox {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `expand`
[INFO] [stdout]   --> src/mesh.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn expand(&mut self, vertices: &Vec<DVec3>) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `from_positions`
[INFO] [stdout]   --> src/mesh.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn from_positions(positions: Vec<f32>) -> BoundingBox {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `texture_offsets` should have an upper case name
[INFO] [stdout]   --> src/primitive/cube.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 |     const texture_offsets: [(f64, f64); 6] = [(2.0, 1.0), (0.0, 1.0), (1.0, 1.0), (3.0, 1.0), (1.0, 2.0), (1.0, 0.0)];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TEXTURE_OFFSETS`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]   --> src/composite_shape.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn merge(A: Vec<(usize, Hit, Intersect)>, B: Vec<(usize, Hit, Intersect)>) -> Vec<(usize, Hit, Intersect)> {
[INFO] [stdout]    |          ^ help: convert the identifier to snake case: `a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]   --> src/composite_shape.rs:33:43
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn merge(A: Vec<(usize, Hit, Intersect)>, B: Vec<(usize, Hit, Intersect)>) -> Vec<(usize, Hit, Intersect)> {
[INFO] [stdout]    |                                           ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `raytracer`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `rustc --crate-name raytracer src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --test -C metadata=fa1c09cef0a2a9d3 -C extra-filename=-fa1c09cef0a2a9d3 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern euler=/opt/rustwide/target/debug/deps/libeuler-81eb4309b7eeb097.rlib --extern image=/opt/rustwide/target/debug/deps/libimage-75ce79cbf13775f4.rlib --extern rand=/opt/rustwide/target/debug/deps/librand-7f83158fdaca1b93.rlib --extern snowflake=/opt/rustwide/target/debug/deps/libsnowflake-4f00f61ad52c8560.rlib --extern tobj=/opt/rustwide/target/debug/deps/libtobj-79d2ad934da6e2a7.rlib --cap-lints=warn` (signal: 9, SIGKILL: kill)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note: "cc" "-m64" "/opt/rustwide/target/debug/deps/anti_alias_test-d8e638bd2a0db37c.anti_alias_test.9oh8czch-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/anti_alias_test-d8e638bd2a0db37c.anti_alias_test.9oh8czch-cgu.1.rcgu.o" "/opt/rustwide/target/debug/deps/anti_alias_test-d8e638bd2a0db37c.anti_alias_test.9oh8czch-cgu.10.rcgu.o" "/opt/rustwide/target/debug/deps/anti_alias_test-d8e638bd2a0db37c.anti_alias_test.9oh8czch-cgu.11.rcgu.o" "/opt/rustwide/target/debug/deps/anti_alias_test-d8e638bd2a0db37c.anti_alias_test.9oh8czch-cgu.12.rcgu.o" "/opt/rustwide/target/debug/deps/anti_alias_test-d8e638bd2a0db37c.anti_alias_test.9oh8czch-cgu.13.rcgu.o" "/opt/rustwide/target/debug/deps/anti_alias_test-d8e638bd2a0db37c.anti_alias_test.9oh8czch-cgu.14.rcgu.o" "/opt/rustwide/target/debug/deps/anti_alias_test-d8e638bd2a0db37c.anti_alias_test.9oh8czch-cgu.15.rcgu.o" "/opt/rustwide/target/debug/deps/anti_alias_test-d8e638bd2a0db37c.anti_alias_test.9oh8czch-cgu.2.rcgu.o" "/opt/rustwide/target/debug/deps/anti_alias_test-d8e638bd2a0db37c.anti_alias_test.9oh8czch-cgu.3.rcgu.o" "/opt/rustwide/target/debug/deps/anti_alias_test-d8e638bd2a0db37c.anti_alias_test.9oh8czch-cgu.4.rcgu.o" "/opt/rustwide/target/debug/deps/anti_alias_test-d8e638bd2a0db37c.anti_alias_test.9oh8czch-cgu.5.rcgu.o" "/opt/rustwide/target/debug/deps/anti_alias_test-d8e638bd2a0db37c.anti_alias_test.9oh8czch-cgu.6.rcgu.o" "/opt/rustwide/target/debug/deps/anti_alias_test-d8e638bd2a0db37c.anti_alias_test.9oh8czch-cgu.7.rcgu.o" "/opt/rustwide/target/debug/deps/anti_alias_test-d8e638bd2a0db37c.anti_alias_test.9oh8czch-cgu.8.rcgu.o" "/opt/rustwide/target/debug/deps/anti_alias_test-d8e638bd2a0db37c.anti_alias_test.9oh8czch-cgu.9.rcgu.o" "/opt/rustwide/target/debug/deps/anti_alias_test-d8e638bd2a0db37c.m4aapb3oa89g450.rcgu.o" "-Wl,--as-needed" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-3599c5491d44663f.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libterm-1d56ea45a67842c8.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-9749f7c936ebf9a7.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-627a220173eefff1.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-16ed15e5bfe21b9b.rlib" "/opt/rustwide/target/debug/deps/libraytracer-c84f3fa36dafbc9b.rlib" "/opt/rustwide/target/debug/deps/libtobj-79d2ad934da6e2a7.rlib" "/opt/rustwide/target/debug/deps/librand-7f83158fdaca1b93.rlib" "/opt/rustwide/target/debug/deps/librand_core-47e8829b7e973ebc.rlib" "/opt/rustwide/target/debug/deps/libeuler-81eb4309b7eeb097.rlib" "/opt/rustwide/target/debug/deps/libcgmath-315a6392b4b126f7.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-41f96ce4b161a4b3.rlib" "/opt/rustwide/target/debug/deps/librand-19a21b24ccb3ba1b.rlib" "/opt/rustwide/target/debug/deps/libmint-90edc8b0174d8772.rlib" "/opt/rustwide/target/debug/deps/libapprox-f622ad8331202241.rlib" "/opt/rustwide/target/debug/deps/libimage-75ce79cbf13775f4.rlib" "/opt/rustwide/target/debug/deps/libtiff-f66e1ad42585b2eb.rlib" "/opt/rustwide/target/debug/deps/libpng-5276eeac3ef4fbd2.rlib" "/opt/rustwide/target/debug/deps/libdeflate-744d76a3b9a9a22d.rlib" "/opt/rustwide/target/debug/deps/libinflate-53ee43d839f5770b.rlib" "/opt/rustwide/target/debug/deps/libadler32-6f1c368293731f61.rlib" "/opt/rustwide/target/debug/deps/libbitflags-b342a0414369ae71.rlib" "/opt/rustwide/target/debug/deps/libjpeg_decoder-47b8ae804210c0f4.rlib" "/opt/rustwide/target/debug/deps/librayon-6871c7ae053c322b.rlib" "/opt/rustwide/target/debug/deps/libeither-db496612baa4811a.rlib" "/opt/rustwide/target/debug/deps/librayon_core-37d69b6bae81bb98.rlib" "/opt/rustwide/target/debug/deps/libnum_cpus-959013e196d268ab.rlib" "/opt/rustwide/target/debug/deps/liblibc-7e2034425bc21933.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_deque-cbcaffef1f480ce4.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_epoch-14b08b634c4d2de4.rlib" "/opt/rustwide/target/debug/deps/libscopeguard-4fa2c7730d201034.rlib" "/opt/rustwide/target/debug/deps/libmemoffset-2dc0ada3578618fd.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-fe06c7e6da52f139.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_utils-a21fb7a7d00ea2e8.rlib" "/opt/rustwide/target/debug/deps/libcfg_if-a595498796837d50.rlib" "/opt/rustwide/target/debug/deps/libarrayvec-3b30afd51f007dd6.rlib" "/opt/rustwide/target/debug/deps/libnodrop-4b3951e1b9d2ffdf.rlib" "/opt/rustwide/target/debug/deps/libscoped_threadpool-b57ca677d8d780cf.rlib" "/opt/rustwide/target/debug/deps/libgif-1113c5606d2c715b.rlib" "/opt/rustwide/target/debug/deps/libcolor_quant-c1085f86cbd02ea9.rlib" "/opt/rustwide/target/debug/deps/libnum_rational-015594b4a487d774.rlib" "/opt/rustwide/target/debug/deps/libnum_iter-b7b2cb3d4c9496b6.rlib" "/opt/rustwide/target/debug/deps/libnum_integer-db4d183109f70fac.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-41b0918ec22bd961.rlib" "/opt/rustwide/target/debug/deps/liblzw-297107eb927d29ad.rlib" "/opt/rustwide/target/debug/deps/libbyteorder-07fa2012fece4be3.rlib" "/opt/rustwide/target/debug/deps/libsnowflake-4f00f61ad52c8560.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-2420485b9e5ef5e1.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-785e3cb61c4b1960.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-087191a88bdaa22d.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-9981842c02975178.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-6fb405869b015fde.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-d05c5c3c56004b7b.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-42d74d2097528b38.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-fb36534c113d2209.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-b56b9042c12b6535.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-491902d6cb3e76df.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-61834e0981b8c367.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-f78aa99d613a55bc.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-53ee54cd7fed2c57.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-544ecdbd6cda3c58.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-379cc252b6943a79.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-8063eea38dcc5e62.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-5b228734afae15ee.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-d6c7a399d95d173f.rlib" "-Wl,-Bdynamic" "-lutil" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/anti_alias_test-d8e638bd2a0db37c" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs"
[INFO] [stdout]   = note: collect2: fatal error: ld terminated with signal 9 [Killed]
[INFO] [stdout]           compilation terminated.
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note: "cc" "-m64" "/opt/rustwide/target/debug/deps/square_light_test-2d6fde36b67a5c1b.square_light_test.aelloi9c-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/square_light_test-2d6fde36b67a5c1b.square_light_test.aelloi9c-cgu.1.rcgu.o" "/opt/rustwide/target/debug/deps/square_light_test-2d6fde36b67a5c1b.square_light_test.aelloi9c-cgu.10.rcgu.o" "/opt/rustwide/target/debug/deps/square_light_test-2d6fde36b67a5c1b.square_light_test.aelloi9c-cgu.11.rcgu.o" "/opt/rustwide/target/debug/deps/square_light_test-2d6fde36b67a5c1b.square_light_test.aelloi9c-cgu.12.rcgu.o" "/opt/rustwide/target/debug/deps/square_light_test-2d6fde36b67a5c1b.square_light_test.aelloi9c-cgu.13.rcgu.o" "/opt/rustwide/target/debug/deps/square_light_test-2d6fde36b67a5c1b.square_light_test.aelloi9c-cgu.14.rcgu.o" "/opt/rustwide/target/debug/deps/square_light_test-2d6fde36b67a5c1b.square_light_test.aelloi9c-cgu.15.rcgu.o" "/opt/rustwide/target/debug/deps/square_light_test-2d6fde36b67a5c1b.square_light_test.aelloi9c-cgu.2.rcgu.o" "/opt/rustwide/target/debug/deps/square_light_test-2d6fde36b67a5c1b.square_light_test.aelloi9c-cgu.3.rcgu.o" "/opt/rustwide/target/debug/deps/square_light_test-2d6fde36b67a5c1b.square_light_test.aelloi9c-cgu.4.rcgu.o" "/opt/rustwide/target/debug/deps/square_light_test-2d6fde36b67a5c1b.square_light_test.aelloi9c-cgu.5.rcgu.o" "/opt/rustwide/target/debug/deps/square_light_test-2d6fde36b67a5c1b.square_light_test.aelloi9c-cgu.6.rcgu.o" "/opt/rustwide/target/debug/deps/square_light_test-2d6fde36b67a5c1b.square_light_test.aelloi9c-cgu.7.rcgu.o" "/opt/rustwide/target/debug/deps/square_light_test-2d6fde36b67a5c1b.square_light_test.aelloi9c-cgu.8.rcgu.o" "/opt/rustwide/target/debug/deps/square_light_test-2d6fde36b67a5c1b.square_light_test.aelloi9c-cgu.9.rcgu.o" "/opt/rustwide/target/debug/deps/square_light_test-2d6fde36b67a5c1b.2u8gy112fyo4slct.rcgu.o" "-Wl,--as-needed" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-3599c5491d44663f.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libterm-1d56ea45a67842c8.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-9749f7c936ebf9a7.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-627a220173eefff1.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-16ed15e5bfe21b9b.rlib" "/opt/rustwide/target/debug/deps/libraytracer-c84f3fa36dafbc9b.rlib" "/opt/rustwide/target/debug/deps/libtobj-79d2ad934da6e2a7.rlib" "/opt/rustwide/target/debug/deps/librand-7f83158fdaca1b93.rlib" "/opt/rustwide/target/debug/deps/librand_core-47e8829b7e973ebc.rlib" "/opt/rustwide/target/debug/deps/libeuler-81eb4309b7eeb097.rlib" "/opt/rustwide/target/debug/deps/libcgmath-315a6392b4b126f7.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-41f96ce4b161a4b3.rlib" "/opt/rustwide/target/debug/deps/librand-19a21b24ccb3ba1b.rlib" "/opt/rustwide/target/debug/deps/libmint-90edc8b0174d8772.rlib" "/opt/rustwide/target/debug/deps/libapprox-f622ad8331202241.rlib" "/opt/rustwide/target/debug/deps/libimage-75ce79cbf13775f4.rlib" "/opt/rustwide/target/debug/deps/libtiff-f66e1ad42585b2eb.rlib" "/opt/rustwide/target/debug/deps/libpng-5276eeac3ef4fbd2.rlib" "/opt/rustwide/target/debug/deps/libdeflate-744d76a3b9a9a22d.rlib" "/opt/rustwide/target/debug/deps/libinflate-53ee43d839f5770b.rlib" "/opt/rustwide/target/debug/deps/libadler32-6f1c368293731f61.rlib" "/opt/rustwide/target/debug/deps/libbitflags-b342a0414369ae71.rlib" "/opt/rustwide/target/debug/deps/libjpeg_decoder-47b8ae804210c0f4.rlib" "/opt/rustwide/target/debug/deps/librayon-6871c7ae053c322b.rlib" "/opt/rustwide/target/debug/deps/libeither-db496612baa4811a.rlib" "/opt/rustwide/target/debug/deps/librayon_core-37d69b6bae81bb98.rlib" "/opt/rustwide/target/debug/deps/libnum_cpus-959013e196d268ab.rlib" "/opt/rustwide/target/debug/deps/liblibc-7e2034425bc21933.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_deque-cbcaffef1f480ce4.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_epoch-14b08b634c4d2de4.rlib" "/opt/rustwide/target/debug/deps/libscopeguard-4fa2c7730d201034.rlib" "/opt/rustwide/target/debug/deps/libmemoffset-2dc0ada3578618fd.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-fe06c7e6da52f139.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_utils-a21fb7a7d00ea2e8.rlib" "/opt/rustwide/target/debug/deps/libcfg_if-a595498796837d50.rlib" "/opt/rustwide/target/debug/deps/libarrayvec-3b30afd51f007dd6.rlib" "/opt/rustwide/target/debug/deps/libnodrop-4b3951e1b9d2ffdf.rlib" "/opt/rustwide/target/debug/deps/libscoped_threadpool-b57ca677d8d780cf.rlib" "/opt/rustwide/target/debug/deps/libgif-1113c5606d2c715b.rlib" "/opt/rustwide/target/debug/deps/libcolor_quant-c1085f86cbd02ea9.rlib" "/opt/rustwide/target/debug/deps/libnum_rational-015594b4a487d774.rlib" "/opt/rustwide/target/debug/deps/libnum_iter-b7b2cb3d4c9496b6.rlib" "/opt/rustwide/target/debug/deps/libnum_integer-db4d183109f70fac.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-41b0918ec22bd961.rlib" "/opt/rustwide/target/debug/deps/liblzw-297107eb927d29ad.rlib" "/opt/rustwide/target/debug/deps/libbyteorder-07fa2012fece4be3.rlib" "/opt/rustwide/target/debug/deps/libsnowflake-4f00f61ad52c8560.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-2420485b9e5ef5e1.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-785e3cb61c4b1960.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-087191a88bdaa22d.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-9981842c02975178.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-6fb405869b015fde.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-d05c5c3c56004b7b.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-42d74d2097528b38.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-fb36534c113d2209.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-b56b9042c12b6535.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-491902d6cb3e76df.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-61834e0981b8c367.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-f78aa99d613a55bc.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-53ee54cd7fed2c57.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-544ecdbd6cda3c58.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-379cc252b6943a79.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-8063eea38dcc5e62.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-5b228734afae15ee.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-d6c7a399d95d173f.rlib" "-Wl,-Bdynamic" "-lutil" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/square_light_test-2d6fde36b67a5c1b" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs"
[INFO] [stdout]   = note: collect2: fatal error: ld terminated with signal 9 [Killed]
[INFO] [stdout]           compilation terminated.
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error; 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note: "cc" "-m64" "/opt/rustwide/target/debug/deps/dice_scene-598e98aeea89b4a4.dice_scene.68c78o40-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/dice_scene-598e98aeea89b4a4.dice_scene.68c78o40-cgu.1.rcgu.o" "/opt/rustwide/target/debug/deps/dice_scene-598e98aeea89b4a4.dice_scene.68c78o40-cgu.10.rcgu.o" "/opt/rustwide/target/debug/deps/dice_scene-598e98aeea89b4a4.dice_scene.68c78o40-cgu.11.rcgu.o" "/opt/rustwide/target/debug/deps/dice_scene-598e98aeea89b4a4.dice_scene.68c78o40-cgu.12.rcgu.o" "/opt/rustwide/target/debug/deps/dice_scene-598e98aeea89b4a4.dice_scene.68c78o40-cgu.13.rcgu.o" "/opt/rustwide/target/debug/deps/dice_scene-598e98aeea89b4a4.dice_scene.68c78o40-cgu.14.rcgu.o" "/opt/rustwide/target/debug/deps/dice_scene-598e98aeea89b4a4.dice_scene.68c78o40-cgu.15.rcgu.o" "/opt/rustwide/target/debug/deps/dice_scene-598e98aeea89b4a4.dice_scene.68c78o40-cgu.2.rcgu.o" "/opt/rustwide/target/debug/deps/dice_scene-598e98aeea89b4a4.dice_scene.68c78o40-cgu.3.rcgu.o" "/opt/rustwide/target/debug/deps/dice_scene-598e98aeea89b4a4.dice_scene.68c78o40-cgu.4.rcgu.o" "/opt/rustwide/target/debug/deps/dice_scene-598e98aeea89b4a4.dice_scene.68c78o40-cgu.5.rcgu.o" "/opt/rustwide/target/debug/deps/dice_scene-598e98aeea89b4a4.dice_scene.68c78o40-cgu.6.rcgu.o" "/opt/rustwide/target/debug/deps/dice_scene-598e98aeea89b4a4.dice_scene.68c78o40-cgu.7.rcgu.o" "/opt/rustwide/target/debug/deps/dice_scene-598e98aeea89b4a4.dice_scene.68c78o40-cgu.8.rcgu.o" "/opt/rustwide/target/debug/deps/dice_scene-598e98aeea89b4a4.dice_scene.68c78o40-cgu.9.rcgu.o" "/opt/rustwide/target/debug/deps/dice_scene-598e98aeea89b4a4.11oav73jxq6gwymk.rcgu.o" "-Wl,--as-needed" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-3599c5491d44663f.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libterm-1d56ea45a67842c8.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-9749f7c936ebf9a7.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-627a220173eefff1.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-16ed15e5bfe21b9b.rlib" "/opt/rustwide/target/debug/deps/libraytracer-c84f3fa36dafbc9b.rlib" "/opt/rustwide/target/debug/deps/libtobj-79d2ad934da6e2a7.rlib" "/opt/rustwide/target/debug/deps/librand-7f83158fdaca1b93.rlib" "/opt/rustwide/target/debug/deps/librand_core-47e8829b7e973ebc.rlib" "/opt/rustwide/target/debug/deps/libeuler-81eb4309b7eeb097.rlib" "/opt/rustwide/target/debug/deps/libcgmath-315a6392b4b126f7.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-41f96ce4b161a4b3.rlib" "/opt/rustwide/target/debug/deps/librand-19a21b24ccb3ba1b.rlib" "/opt/rustwide/target/debug/deps/libmint-90edc8b0174d8772.rlib" "/opt/rustwide/target/debug/deps/libapprox-f622ad8331202241.rlib" "/opt/rustwide/target/debug/deps/libimage-75ce79cbf13775f4.rlib" "/opt/rustwide/target/debug/deps/libtiff-f66e1ad42585b2eb.rlib" "/opt/rustwide/target/debug/deps/libpng-5276eeac3ef4fbd2.rlib" "/opt/rustwide/target/debug/deps/libdeflate-744d76a3b9a9a22d.rlib" "/opt/rustwide/target/debug/deps/libinflate-53ee43d839f5770b.rlib" "/opt/rustwide/target/debug/deps/libadler32-6f1c368293731f61.rlib" "/opt/rustwide/target/debug/deps/libbitflags-b342a0414369ae71.rlib" "/opt/rustwide/target/debug/deps/libjpeg_decoder-47b8ae804210c0f4.rlib" "/opt/rustwide/target/debug/deps/librayon-6871c7ae053c322b.rlib" "/opt/rustwide/target/debug/deps/libeither-db496612baa4811a.rlib" "/opt/rustwide/target/debug/deps/librayon_core-37d69b6bae81bb98.rlib" "/opt/rustwide/target/debug/deps/libnum_cpus-959013e196d268ab.rlib" "/opt/rustwide/target/debug/deps/liblibc-7e2034425bc21933.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_deque-cbcaffef1f480ce4.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_epoch-14b08b634c4d2de4.rlib" "/opt/rustwide/target/debug/deps/libscopeguard-4fa2c7730d201034.rlib" "/opt/rustwide/target/debug/deps/libmemoffset-2dc0ada3578618fd.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-fe06c7e6da52f139.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_utils-a21fb7a7d00ea2e8.rlib" "/opt/rustwide/target/debug/deps/libcfg_if-a595498796837d50.rlib" "/opt/rustwide/target/debug/deps/libarrayvec-3b30afd51f007dd6.rlib" "/opt/rustwide/target/debug/deps/libnodrop-4b3951e1b9d2ffdf.rlib" "/opt/rustwide/target/debug/deps/libscoped_threadpool-b57ca677d8d780cf.rlib" "/opt/rustwide/target/debug/deps/libgif-1113c5606d2c715b.rlib" "/opt/rustwide/target/debug/deps/libcolor_quant-c1085f86cbd02ea9.rlib" "/opt/rustwide/target/debug/deps/libnum_rational-015594b4a487d774.rlib" "/opt/rustwide/target/debug/deps/libnum_iter-b7b2cb3d4c9496b6.rlib" "/opt/rustwide/target/debug/deps/libnum_integer-db4d183109f70fac.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-41b0918ec22bd961.rlib" "/opt/rustwide/target/debug/deps/liblzw-297107eb927d29ad.rlib" "/opt/rustwide/target/debug/deps/libbyteorder-07fa2012fece4be3.rlib" "/opt/rustwide/target/debug/deps/libsnowflake-4f00f61ad52c8560.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-2420485b9e5ef5e1.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-785e3cb61c4b1960.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-087191a88bdaa22d.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-9981842c02975178.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-6fb405869b015fde.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-d05c5c3c56004b7b.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-42d74d2097528b38.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-fb36534c113d2209.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-b56b9042c12b6535.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-491902d6cb3e76df.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-61834e0981b8c367.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-f78aa99d613a55bc.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-53ee54cd7fed2c57.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-544ecdbd6cda3c58.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-379cc252b6943a79.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-8063eea38dcc5e62.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-5b228734afae15ee.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-d6c7a399d95d173f.rlib" "-Wl,-Bdynamic" "-lutil" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/dice_scene-598e98aeea89b4a4" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs"
[INFO] [stdout]   = note: collect2: fatal error: ld terminated with signal 9 [Killed]
[INFO] [stdout]           compilation terminated.
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note: "cc" "-m64" "/opt/rustwide/target/debug/deps/mesh_test-73b34e54dbfa0937.mesh_test.85jbmdh0-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/mesh_test-73b34e54dbfa0937.mesh_test.85jbmdh0-cgu.1.rcgu.o" "/opt/rustwide/target/debug/deps/mesh_test-73b34e54dbfa0937.mesh_test.85jbmdh0-cgu.10.rcgu.o" "/opt/rustwide/target/debug/deps/mesh_test-73b34e54dbfa0937.mesh_test.85jbmdh0-cgu.11.rcgu.o" "/opt/rustwide/target/debug/deps/mesh_test-73b34e54dbfa0937.mesh_test.85jbmdh0-cgu.12.rcgu.o" "/opt/rustwide/target/debug/deps/mesh_test-73b34e54dbfa0937.mesh_test.85jbmdh0-cgu.13.rcgu.o" "/opt/rustwide/target/debug/deps/mesh_test-73b34e54dbfa0937.mesh_test.85jbmdh0-cgu.14.rcgu.o" "/opt/rustwide/target/debug/deps/mesh_test-73b34e54dbfa0937.mesh_test.85jbmdh0-cgu.15.rcgu.o" "/opt/rustwide/target/debug/deps/mesh_test-73b34e54dbfa0937.mesh_test.85jbmdh0-cgu.2.rcgu.o" "/opt/rustwide/target/debug/deps/mesh_test-73b34e54dbfa0937.mesh_test.85jbmdh0-cgu.3.rcgu.o" "/opt/rustwide/target/debug/deps/mesh_test-73b34e54dbfa0937.mesh_test.85jbmdh0-cgu.4.rcgu.o" "/opt/rustwide/target/debug/deps/mesh_test-73b34e54dbfa0937.mesh_test.85jbmdh0-cgu.5.rcgu.o" "/opt/rustwide/target/debug/deps/mesh_test-73b34e54dbfa0937.mesh_test.85jbmdh0-cgu.6.rcgu.o" "/opt/rustwide/target/debug/deps/mesh_test-73b34e54dbfa0937.mesh_test.85jbmdh0-cgu.7.rcgu.o" "/opt/rustwide/target/debug/deps/mesh_test-73b34e54dbfa0937.mesh_test.85jbmdh0-cgu.8.rcgu.o" "/opt/rustwide/target/debug/deps/mesh_test-73b34e54dbfa0937.mesh_test.85jbmdh0-cgu.9.rcgu.o" "/opt/rustwide/target/debug/deps/mesh_test-73b34e54dbfa0937.1ytzlvsstdyblgtu.rcgu.o" "-Wl,--as-needed" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-3599c5491d44663f.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libterm-1d56ea45a67842c8.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-9749f7c936ebf9a7.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-627a220173eefff1.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-16ed15e5bfe21b9b.rlib" "/opt/rustwide/target/debug/deps/libraytracer-c84f3fa36dafbc9b.rlib" "/opt/rustwide/target/debug/deps/libtobj-79d2ad934da6e2a7.rlib" "/opt/rustwide/target/debug/deps/librand-7f83158fdaca1b93.rlib" "/opt/rustwide/target/debug/deps/librand_core-47e8829b7e973ebc.rlib" "/opt/rustwide/target/debug/deps/libeuler-81eb4309b7eeb097.rlib" "/opt/rustwide/target/debug/deps/libcgmath-315a6392b4b126f7.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-41f96ce4b161a4b3.rlib" "/opt/rustwide/target/debug/deps/librand-19a21b24ccb3ba1b.rlib" "/opt/rustwide/target/debug/deps/libmint-90edc8b0174d8772.rlib" "/opt/rustwide/target/debug/deps/libapprox-f622ad8331202241.rlib" "/opt/rustwide/target/debug/deps/libimage-75ce79cbf13775f4.rlib" "/opt/rustwide/target/debug/deps/libtiff-f66e1ad42585b2eb.rlib" "/opt/rustwide/target/debug/deps/libpng-5276eeac3ef4fbd2.rlib" "/opt/rustwide/target/debug/deps/libdeflate-744d76a3b9a9a22d.rlib" "/opt/rustwide/target/debug/deps/libinflate-53ee43d839f5770b.rlib" "/opt/rustwide/target/debug/deps/libadler32-6f1c368293731f61.rlib" "/opt/rustwide/target/debug/deps/libbitflags-b342a0414369ae71.rlib" "/opt/rustwide/target/debug/deps/libjpeg_decoder-47b8ae804210c0f4.rlib" "/opt/rustwide/target/debug/deps/librayon-6871c7ae053c322b.rlib" "/opt/rustwide/target/debug/deps/libeither-db496612baa4811a.rlib" "/opt/rustwide/target/debug/deps/librayon_core-37d69b6bae81bb98.rlib" "/opt/rustwide/target/debug/deps/libnum_cpus-959013e196d268ab.rlib" "/opt/rustwide/target/debug/deps/liblibc-7e2034425bc21933.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_deque-cbcaffef1f480ce4.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_epoch-14b08b634c4d2de4.rlib" "/opt/rustwide/target/debug/deps/libscopeguard-4fa2c7730d201034.rlib" "/opt/rustwide/target/debug/deps/libmemoffset-2dc0ada3578618fd.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-fe06c7e6da52f139.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_utils-a21fb7a7d00ea2e8.rlib" "/opt/rustwide/target/debug/deps/libcfg_if-a595498796837d50.rlib" "/opt/rustwide/target/debug/deps/libarrayvec-3b30afd51f007dd6.rlib" "/opt/rustwide/target/debug/deps/libnodrop-4b3951e1b9d2ffdf.rlib" "/opt/rustwide/target/debug/deps/libscoped_threadpool-b57ca677d8d780cf.rlib" "/opt/rustwide/target/debug/deps/libgif-1113c5606d2c715b.rlib" "/opt/rustwide/target/debug/deps/libcolor_quant-c1085f86cbd02ea9.rlib" "/opt/rustwide/target/debug/deps/libnum_rational-015594b4a487d774.rlib" "/opt/rustwide/target/debug/deps/libnum_iter-b7b2cb3d4c9496b6.rlib" "/opt/rustwide/target/debug/deps/libnum_integer-db4d183109f70fac.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-41b0918ec22bd961.rlib" "/opt/rustwide/target/debug/deps/liblzw-297107eb927d29ad.rlib" "/opt/rustwide/target/debug/deps/libbyteorder-07fa2012fece4be3.rlib" "/opt/rustwide/target/debug/deps/libsnowflake-4f00f61ad52c8560.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-2420485b9e5ef5e1.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-785e3cb61c4b1960.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-087191a88bdaa22d.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-9981842c02975178.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-6fb405869b015fde.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-d05c5c3c56004b7b.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-42d74d2097528b38.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-fb36534c113d2209.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-b56b9042c12b6535.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-491902d6cb3e76df.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-61834e0981b8c367.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-f78aa99d613a55bc.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-53ee54cd7fed2c57.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-544ecdbd6cda3c58.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-379cc252b6943a79.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-8063eea38dcc5e62.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-5b228734afae15ee.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-d6c7a399d95d173f.rlib" "-Wl,-Bdynamic" "-lutil" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/mesh_test-73b34e54dbfa0937" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs"
[INFO] [stdout]   = note: collect2: fatal error: ld terminated with signal 9 [Killed]
[INFO] [stdout]           compilation terminated.
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "fb2127e74a1a5eb84c2ea7bbc4bc3ba70078a38137eea1b634bdf27ed02fda84", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fb2127e74a1a5eb84c2ea7bbc4bc3ba70078a38137eea1b634bdf27ed02fda84", kill_on_drop: false }`
[INFO] [stdout] fb2127e74a1a5eb84c2ea7bbc4bc3ba70078a38137eea1b634bdf27ed02fda84
