[INFO] updating cached repository https://github.com/luqmana/rray
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] 08bd23260234b94c5899e89e7d3f571268f5708d
[INFO] checking luqmana/rray against master#209b2be09fcaff937480d1fbbe8b31646e361c7a for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fluqmana%2Frray" "/workspace/builds/worker-4/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/luqmana/rray on toolchain 209b2be09fcaff937480d1fbbe8b31646e361c7a
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/luqmana/rray
[INFO] finished tweaking git repo https://github.com/luqmana/rray
[INFO] tweaked toml for git repo https://github.com/luqmana/rray written to /workspace/builds/worker-4/source/Cargo.toml
[INFO] crate git repo https://github.com/luqmana/rray already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] ae242f5c581d3af8fd7ce073e06d75a191852eeacb018f1171b09aa965ea3d18
[INFO] running `"docker" "start" "-a" "ae242f5c581d3af8fd7ce073e06d75a191852eeacb018f1171b09aa965ea3d18"`
[INFO] [stderr]     Checking rray v0.0.1 (/opt/rustwide/workdir)
[INFO] [stderr] error: invalid suffix `u` for integer literal
[INFO] [stderr]   --> src/rray.rs:26:20
[INFO] [stderr]    |
[INFO] [stderr] 26 |     for y in range(0u, scene.height) {
[INFO] [stderr]    |                    ^^ invalid suffix `u`
[INFO] [stderr]    |
[INFO] [stderr]    = help: the suffix must be one of the integral types (`u32`, `isize`, etc)
[INFO] [stderr] 
[INFO] [stderr] error: invalid suffix `u` for integer literal
[INFO] [stderr]   --> src/rray.rs:27:24
[INFO] [stderr]    |
[INFO] [stderr] 27 |         for x in range(0u, scene.width) {
[INFO] [stderr]    |                        ^^ invalid suffix `u`
[INFO] [stderr]    |
[INFO] [stderr]    = help: the suffix must be one of the integral types (`u32`, `isize`, etc)
[INFO] [stderr] 
[INFO] [stderr] error: invalid suffix `u` for integer literal
[INFO] [stderr]   --> src/rray.rs:26:20
[INFO] [stderr]    |
[INFO] [stderr] 26 |     for y in range(0u, scene.height) {
[INFO] [stderr]    |                    ^^ invalid suffix `u`
[INFO] [stderr]    |
[INFO] [stderr]    = help: the suffix must be one of the integral types (`u32`, `isize`, etc)
[INFO] [stderr] 
[INFO] [stderr] error: invalid suffix `u` for integer literal
[INFO] [stderr]   --> src/rray.rs:27:24
[INFO] [stderr]    |
[INFO] [stderr] 27 |         for x in range(0u, scene.width) {
[INFO] [stderr]    |                        ^^ invalid suffix `u`
[INFO] [stderr]    |
[INFO] [stderr]    = help: the suffix must be one of the integral types (`u32`, `isize`, etc)
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved import `std::num::Float`
[INFO] [stderr]  --> src/geometry.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::num::Float;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^ no `Float` in `num`
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved imports `std::num::Float`, `std::num::One`
[INFO] [stderr]  --> src/math.rs:1:16
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::num::{Float, One};
[INFO] [stderr]   |                ^^^^^  ^^^ no `One` in `num`
[INFO] [stderr]   |                |
[INFO] [stderr]   |                no `Float` in `num`
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved imports `std::num::Float`, `std::num::FloatMath`
[INFO] [stderr]  --> src/scene.rs:3:16
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::num::{Float, FloatMath};
[INFO] [stderr]   |                ^^^^^  ^^^^^^^^^ no `FloatMath` in `num`
[INFO] [stderr]   |                |
[INFO] [stderr]   |                no `Float` in `num`
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved import `std::num::Float`
[INFO] [stderr]  --> src/trace.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::num::Float;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^ no `Float` in `num`
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `uint` in this scope
[INFO] [stderr]   --> src/scene.rs:40:16
[INFO] [stderr]    |
[INFO] [stderr] 40 |     pub width: uint,
[INFO] [stderr]    |                ^^^^ not found in this scope
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `uint` in this scope
[INFO] [stderr]   --> src/scene.rs:41:17
[INFO] [stderr]    |
[INFO] [stderr] 41 |     pub height: uint,
[INFO] [stderr]    |                 ^^^^ not found in this scope
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `uint` in this scope
[INFO] [stderr]  --> src/trace.rs:6:17
[INFO] [stderr]   |
[INFO] [stderr] 6 | fn make_grid(w: uint, h: uint, x: uint, y: uint) -> Vec<Vec<Pixel>> {
[INFO] [stderr]   |                 ^^^^ not found in this scope
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `uint` in this scope
[INFO] [stderr]  --> src/trace.rs:6:26
[INFO] [stderr]   |
[INFO] [stderr] 6 | fn make_grid(w: uint, h: uint, x: uint, y: uint) -> Vec<Vec<Pixel>> {
[INFO] [stderr]   |                          ^^^^ not found in this scope
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `uint` in this scope
[INFO] [stderr]  --> src/trace.rs:6:35
[INFO] [stderr]   |
[INFO] [stderr] 6 | fn make_grid(w: uint, h: uint, x: uint, y: uint) -> Vec<Vec<Pixel>> {
[INFO] [stderr]   |                                   ^^^^ not found in this scope
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `uint` in this scope
[INFO] [stderr]  --> src/trace.rs:6:44
[INFO] [stderr]   |
[INFO] [stderr] 6 | fn make_grid(w: uint, h: uint, x: uint, y: uint) -> Vec<Vec<Pixel>> {
[INFO] [stderr]   |                                            ^^^^ not found in this scope
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function `range` in this scope
[INFO] [stderr]   --> src/rray.rs:26:14
[INFO] [stderr]    |
[INFO] [stderr] 26 |     for y in range(0u, scene.height) {
[INFO] [stderr]    |              ^^^^^ not found in this scope
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function `range` in this scope
[INFO] [stderr]   --> src/rray.rs:27:18
[INFO] [stderr]    |
[INFO] [stderr] 27 |         for x in range(0u, scene.width) {
[INFO] [stderr]    |                  ^^^^^ not found in this scope
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `int` in this scope
[INFO] [stderr]   --> src/rray.rs:31:56
[INFO] [stderr]    |
[INFO] [stderr] 31 |             let r = (pix.x * 255.0).clamp(0., 255.) as int;
[INFO] [stderr]    |                                                        ^^^ not found in this scope
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `int` in this scope
[INFO] [stderr]   --> src/rray.rs:32:56
[INFO] [stderr]    |
[INFO] [stderr] 32 |             let g = (pix.y * 255.0).clamp(0., 255.) as int;
[INFO] [stderr]    |                                                        ^^^ not found in this scope
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `int` in this scope
[INFO] [stderr]   --> src/rray.rs:33:56
[INFO] [stderr]    |
[INFO] [stderr] 33 |             let b = (pix.z * 255.0).clamp(0., 255.) as int;
[INFO] [stderr]    |                                                        ^^^ not found in this scope
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function `println` in module `std::io`
[INFO] [stderr]   --> src/rray.rs:39:14
[INFO] [stderr]    |
[INFO] [stderr] 39 |     std::io::println(data.as_slice());
[INFO] [stderr]    |              ^^^^^^^ not found in `std::io`
[INFO] [stderr] 
[INFO] [stderr] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead
[INFO] [stderr]    --> src/scene.rs:101:13
[INFO] [stderr]     |
[INFO] [stderr] 101 | /             box Sphere {
[INFO] [stderr] 102 | |                 pos: Vec3::new(0.0, 0.0, -400.0),
[INFO] [stderr] 103 | |                 rad: 100.0,
[INFO] [stderr] 104 | |                 mat: mat1
[INFO] [stderr] 105 | |             } as Box<Object>,
[INFO] [stderr]     | |_____________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: see issue #49733 <https://github.com/rust-lang/rust/issues/49733> for more information
[INFO] [stderr]     = help: add `#![feature(box_syntax)]` to the crate attributes to enable
[INFO] [stderr] 
[INFO] [stderr] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead
[INFO] [stderr]    --> src/scene.rs:106:13
[INFO] [stderr]     |
[INFO] [stderr] 106 | /             box Sphere {
[INFO] [stderr] 107 | |                 pos: Vec3::new(200.0, 50.0, -100.0),
[INFO] [stderr] 108 | |                 rad: 150.0,
[INFO] [stderr] 109 | |                 mat: mat1
[INFO] [stderr] 110 | |             } as Box<Object>,
[INFO] [stderr]     | |_____________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: see issue #49733 <https://github.com/rust-lang/rust/issues/49733> for more information
[INFO] [stderr]     = help: add `#![feature(box_syntax)]` to the crate attributes to enable
[INFO] [stderr] 
[INFO] [stderr] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead
[INFO] [stderr]    --> src/scene.rs:111:13
[INFO] [stderr]     |
[INFO] [stderr] 111 | /             box Sphere {
[INFO] [stderr] 112 | |                 pos: Vec3::new(0.0, -1200.0, -500.0),
[INFO] [stderr] 113 | |                 rad: 1000.0,
[INFO] [stderr] 114 | |                 mat: mat2
[INFO] [stderr] 115 | |             } as Box<Object>,
[INFO] [stderr]     | |_____________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: see issue #49733 <https://github.com/rust-lang/rust/issues/49733> for more information
[INFO] [stderr]     = help: add `#![feature(box_syntax)]` to the crate attributes to enable
[INFO] [stderr] 
[INFO] [stderr] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead
[INFO] [stderr]    --> src/scene.rs:116:13
[INFO] [stderr]     |
[INFO] [stderr] 116 | /             box Sphere {
[INFO] [stderr] 117 | |                 pos: Vec3::new(-100.0, 25.0, -300.0),
[INFO] [stderr] 118 | |                 rad: 50.0,
[INFO] [stderr] 119 | |                 mat: mat3
[INFO] [stderr] 120 | |             } as Box<Object>,
[INFO] [stderr]     | |_____________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: see issue #49733 <https://github.com/rust-lang/rust/issues/49733> for more information
[INFO] [stderr]     = help: add `#![feature(box_syntax)]` to the crate attributes to enable
[INFO] [stderr] 
[INFO] [stderr] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead
[INFO] [stderr]    --> src/scene.rs:121:13
[INFO] [stderr]     |
[INFO] [stderr] 121 | /             box Sphere {
[INFO] [stderr] 122 | |                 pos: Vec3::new(0.0, 100.0, -250.0),
[INFO] [stderr] 123 | |                 rad: 25.0,
[INFO] [stderr] 124 | |                 mat: mat1
[INFO] [stderr] 125 | |             } as Box<Object>
[INFO] [stderr]     | |_____________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: see issue #49733 <https://github.com/rust-lang/rust/issues/49733> for more information
[INFO] [stderr]     = help: add `#![feature(box_syntax)]` to the crate attributes to enable
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/geometry.rs:8:49
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub type Intersection<'a> = (f32, Vec3f32, &'a (Object + 'a));
[INFO] [stderr]   |                                                 ^^^^^^^^^^^ help: use `dyn`: `dyn Object + 'a`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/geometry.rs:60:55
[INFO] [stderr]    |
[INFO] [stderr] 60 |                 Some((rayLen, intersect_ray, self as &Object))
[INFO] [stderr]    |                                                       ^^^^^^ help: use `dyn`: `dyn Object`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/scene.rs:25:29
[INFO] [stderr]    |
[INFO] [stderr] 25 |     pub primitives: Vec<Box<Object + 'static>>,
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Object + 'static`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/scene.rs:105:22
[INFO] [stderr]     |
[INFO] [stderr] 105 |             } as Box<Object>,
[INFO] [stderr]     |                      ^^^^^^ help: use `dyn`: `dyn Object`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/scene.rs:110:22
[INFO] [stderr]     |
[INFO] [stderr] 110 |             } as Box<Object>,
[INFO] [stderr]     |                      ^^^^^^ help: use `dyn`: `dyn Object`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/scene.rs:115:22
[INFO] [stderr]     |
[INFO] [stderr] 115 |             } as Box<Object>,
[INFO] [stderr]     |                      ^^^^^^ help: use `dyn`: `dyn Object`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/scene.rs:120:22
[INFO] [stderr]     |
[INFO] [stderr] 120 |             } as Box<Object>,
[INFO] [stderr]     |                      ^^^^^^ help: use `dyn`: `dyn Object`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/scene.rs:125:22
[INFO] [stderr]     |
[INFO] [stderr] 125 |             } as Box<Object>
[INFO] [stderr]     |                      ^^^^^^ help: use `dyn`: `dyn Object`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/trace.rs:15:37
[INFO] [stderr]    |
[INFO] [stderr] 15 | fn intersect_nodes<'a>(ps: &'a [Box<Object>], ray: &Vec3f32, origin: &Vec3f32) -> Option<Intersection<'a>> {
[INFO] [stderr]    |                                     ^^^^^^ help: use `dyn`: `dyn Object`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/trace.rs:31:20
[INFO] [stderr]    |
[INFO] [stderr] 31 | fn trace(ps: &[Box<Object>], amb: &Vec3f32, ray: &Vec3f32, origin: &Vec3f32, lights: &[Light]) -> Colour {
[INFO] [stderr]    |                    ^^^^^^ help: use `dyn`: `dyn Object`
[INFO] [stderr] 
[INFO] [stderr] warning: `#[inline]` is ignored on function prototypes
[INFO] [stderr]   --> src/geometry.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 |     #[inline(always)]
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_attributes)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 23 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0412, E0425, E0432, E0658.
[INFO] [stderr] For more information about an error, try `rustc --explain E0412`.
[INFO] [stderr] error: could not compile `rray`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error[E0432]: unresolved import `std::num::Float`
[INFO] [stderr]  --> src/geometry.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::num::Float;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^ no `Float` in `num`
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved imports `std::num::Float`, `std::num::One`
[INFO] [stderr]  --> src/math.rs:1:16
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::num::{Float, One};
[INFO] [stderr]   |                ^^^^^  ^^^ no `One` in `num`
[INFO] [stderr]   |                |
[INFO] [stderr]   |                no `Float` in `num`
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved imports `std::num::Float`, `std::num::FloatMath`
[INFO] [stderr]  --> src/scene.rs:3:16
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::num::{Float, FloatMath};
[INFO] [stderr]   |                ^^^^^  ^^^^^^^^^ no `FloatMath` in `num`
[INFO] [stderr]   |                |
[INFO] [stderr]   |                no `Float` in `num`
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved import `std::num::Float`
[INFO] [stderr]  --> src/trace.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::num::Float;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^ no `Float` in `num`
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `uint` in this scope
[INFO] [stderr]   --> src/scene.rs:40:16
[INFO] [stderr]    |
[INFO] [stderr] 40 |     pub width: uint,
[INFO] [stderr]    |                ^^^^ not found in this scope
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `uint` in this scope
[INFO] [stderr]   --> src/scene.rs:41:17
[INFO] [stderr]    |
[INFO] [stderr] 41 |     pub height: uint,
[INFO] [stderr]    |                 ^^^^ not found in this scope
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `uint` in this scope
[INFO] [stderr]  --> src/trace.rs:6:17
[INFO] [stderr]   |
[INFO] [stderr] 6 | fn make_grid(w: uint, h: uint, x: uint, y: uint) -> Vec<Vec<Pixel>> {
[INFO] [stderr]   |                 ^^^^ not found in this scope
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `uint` in this scope
[INFO] [stderr]  --> src/trace.rs:6:26
[INFO] [stderr]   |
[INFO] [stderr] 6 | fn make_grid(w: uint, h: uint, x: uint, y: uint) -> Vec<Vec<Pixel>> {
[INFO] [stderr]   |                          ^^^^ not found in this scope
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `uint` in this scope
[INFO] [stderr]  --> src/trace.rs:6:35
[INFO] [stderr]   |
[INFO] [stderr] 6 | fn make_grid(w: uint, h: uint, x: uint, y: uint) -> Vec<Vec<Pixel>> {
[INFO] [stderr]   |                                   ^^^^ not found in this scope
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `uint` in this scope
[INFO] [stderr]  --> src/trace.rs:6:44
[INFO] [stderr]   |
[INFO] [stderr] 6 | fn make_grid(w: uint, h: uint, x: uint, y: uint) -> Vec<Vec<Pixel>> {
[INFO] [stderr]   |                                            ^^^^ not found in this scope
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function `range` in this scope
[INFO] [stderr]   --> src/rray.rs:26:14
[INFO] [stderr]    |
[INFO] [stderr] 26 |     for y in range(0u, scene.height) {
[INFO] [stderr]    |              ^^^^^ not found in this scope
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function `range` in this scope
[INFO] [stderr]   --> src/rray.rs:27:18
[INFO] [stderr]    |
[INFO] [stderr] 27 |         for x in range(0u, scene.width) {
[INFO] [stderr]    |                  ^^^^^ not found in this scope
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `int` in this scope
[INFO] [stderr]   --> src/rray.rs:31:56
[INFO] [stderr]    |
[INFO] [stderr] 31 |             let r = (pix.x * 255.0).clamp(0., 255.) as int;
[INFO] [stderr]    |                                                        ^^^ not found in this scope
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `int` in this scope
[INFO] [stderr]   --> src/rray.rs:32:56
[INFO] [stderr]    |
[INFO] [stderr] 32 |             let g = (pix.y * 255.0).clamp(0., 255.) as int;
[INFO] [stderr]    |                                                        ^^^ not found in this scope
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `int` in this scope
[INFO] [stderr]   --> src/rray.rs:33:56
[INFO] [stderr]    |
[INFO] [stderr] 33 |             let b = (pix.z * 255.0).clamp(0., 255.) as int;
[INFO] [stderr]    |                                                        ^^^ not found in this scope
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function `println` in module `std::io`
[INFO] [stderr]   --> src/rray.rs:39:14
[INFO] [stderr]    |
[INFO] [stderr] 39 |     std::io::println(data.as_slice());
[INFO] [stderr]    |              ^^^^^^^ not found in `std::io`
[INFO] [stderr] 
[INFO] [stderr] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead
[INFO] [stderr]    --> src/scene.rs:101:13
[INFO] [stderr]     |
[INFO] [stderr] 101 | /             box Sphere {
[INFO] [stderr] 102 | |                 pos: Vec3::new(0.0, 0.0, -400.0),
[INFO] [stderr] 103 | |                 rad: 100.0,
[INFO] [stderr] 104 | |                 mat: mat1
[INFO] [stderr] 105 | |             } as Box<Object>,
[INFO] [stderr]     | |_____________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: see issue #49733 <https://github.com/rust-lang/rust/issues/49733> for more information
[INFO] [stderr]     = help: add `#![feature(box_syntax)]` to the crate attributes to enable
[INFO] [stderr] 
[INFO] [stderr] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead
[INFO] [stderr]    --> src/scene.rs:106:13
[INFO] [stderr]     |
[INFO] [stderr] 106 | /             box Sphere {
[INFO] [stderr] 107 | |                 pos: Vec3::new(200.0, 50.0, -100.0),
[INFO] [stderr] 108 | |                 rad: 150.0,
[INFO] [stderr] 109 | |                 mat: mat1
[INFO] [stderr] 110 | |             } as Box<Object>,
[INFO] [stderr]     | |_____________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: see issue #49733 <https://github.com/rust-lang/rust/issues/49733> for more information
[INFO] [stderr]     = help: add `#![feature(box_syntax)]` to the crate attributes to enable
[INFO] [stderr] 
[INFO] [stderr] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead
[INFO] [stderr]    --> src/scene.rs:111:13
[INFO] [stderr]     |
[INFO] [stderr] 111 | /             box Sphere {
[INFO] [stderr] 112 | |                 pos: Vec3::new(0.0, -1200.0, -500.0),
[INFO] [stderr] 113 | |                 rad: 1000.0,
[INFO] [stderr] 114 | |                 mat: mat2
[INFO] [stderr] 115 | |             } as Box<Object>,
[INFO] [stderr]     | |_____________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: see issue #49733 <https://github.com/rust-lang/rust/issues/49733> for more information
[INFO] [stderr]     = help: add `#![feature(box_syntax)]` to the crate attributes to enable
[INFO] [stderr] 
[INFO] [stderr] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead
[INFO] [stderr]    --> src/scene.rs:116:13
[INFO] [stderr]     |
[INFO] [stderr] 116 | /             box Sphere {
[INFO] [stderr] 117 | |                 pos: Vec3::new(-100.0, 25.0, -300.0),
[INFO] [stderr] 118 | |                 rad: 50.0,
[INFO] [stderr] 119 | |                 mat: mat3
[INFO] [stderr] 120 | |             } as Box<Object>,
[INFO] [stderr]     | |_____________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: see issue #49733 <https://github.com/rust-lang/rust/issues/49733> for more information
[INFO] [stderr]     = help: add `#![feature(box_syntax)]` to the crate attributes to enable
[INFO] [stderr] 
[INFO] [stderr] error[E0658]: box expression syntax is experimental; you can call `Box::new` instead
[INFO] [stderr]    --> src/scene.rs:121:13
[INFO] [stderr]     |
[INFO] [stderr] 121 | /             box Sphere {
[INFO] [stderr] 122 | |                 pos: Vec3::new(0.0, 100.0, -250.0),
[INFO] [stderr] 123 | |                 rad: 25.0,
[INFO] [stderr] 124 | |                 mat: mat1
[INFO] [stderr] 125 | |             } as Box<Object>
[INFO] [stderr]     | |_____________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: see issue #49733 <https://github.com/rust-lang/rust/issues/49733> for more information
[INFO] [stderr]     = help: add `#![feature(box_syntax)]` to the crate attributes to enable
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/geometry.rs:8:49
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub type Intersection<'a> = (f32, Vec3f32, &'a (Object + 'a));
[INFO] [stderr]   |                                                 ^^^^^^^^^^^ help: use `dyn`: `dyn Object + 'a`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/geometry.rs:60:55
[INFO] [stderr]    |
[INFO] [stderr] 60 |                 Some((rayLen, intersect_ray, self as &Object))
[INFO] [stderr]    |                                                       ^^^^^^ help: use `dyn`: `dyn Object`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/scene.rs:25:29
[INFO] [stderr]    |
[INFO] [stderr] 25 |     pub primitives: Vec<Box<Object + 'static>>,
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Object + 'static`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/scene.rs:105:22
[INFO] [stderr]     |
[INFO] [stderr] 105 |             } as Box<Object>,
[INFO] [stderr]     |                      ^^^^^^ help: use `dyn`: `dyn Object`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/scene.rs:110:22
[INFO] [stderr]     |
[INFO] [stderr] 110 |             } as Box<Object>,
[INFO] [stderr]     |                      ^^^^^^ help: use `dyn`: `dyn Object`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/scene.rs:115:22
[INFO] [stderr]     |
[INFO] [stderr] 115 |             } as Box<Object>,
[INFO] [stderr]     |                      ^^^^^^ help: use `dyn`: `dyn Object`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/scene.rs:120:22
[INFO] [stderr]     |
[INFO] [stderr] 120 |             } as Box<Object>,
[INFO] [stderr]     |                      ^^^^^^ help: use `dyn`: `dyn Object`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/scene.rs:125:22
[INFO] [stderr]     |
[INFO] [stderr] 125 |             } as Box<Object>
[INFO] [stderr]     |                      ^^^^^^ help: use `dyn`: `dyn Object`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/trace.rs:15:37
[INFO] [stderr]    |
[INFO] [stderr] 15 | fn intersect_nodes<'a>(ps: &'a [Box<Object>], ray: &Vec3f32, origin: &Vec3f32) -> Option<Intersection<'a>> {
[INFO] [stderr]    |                                     ^^^^^^ help: use `dyn`: `dyn Object`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/trace.rs:31:20
[INFO] [stderr]    |
[INFO] [stderr] 31 | fn trace(ps: &[Box<Object>], amb: &Vec3f32, ray: &Vec3f32, origin: &Vec3f32, lights: &[Light]) -> Colour {
[INFO] [stderr]    |                    ^^^^^^ help: use `dyn`: `dyn Object`
[INFO] [stderr] 
[INFO] [stderr] warning: `#[inline]` is ignored on function prototypes
[INFO] [stderr]   --> src/geometry.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 |     #[inline(always)]
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_attributes)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 23 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0412, E0425, E0432, E0658.
[INFO] [stderr] For more information about an error, try `rustc --explain E0412`.
[INFO] [stderr] error: could not compile `rray`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "ae242f5c581d3af8fd7ce073e06d75a191852eeacb018f1171b09aa965ea3d18"`
[INFO] running `"docker" "rm" "-f" "ae242f5c581d3af8fd7ce073e06d75a191852eeacb018f1171b09aa965ea3d18"`
[INFO] [stdout] ae242f5c581d3af8fd7ce073e06d75a191852eeacb018f1171b09aa965ea3d18
