[INFO] cloning repository https://github.com/dbearden/Ray-Tracer-Challenge
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dbearden/Ray-Tracer-Challenge" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdbearden%2FRay-Tracer-Challenge", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdbearden%2FRay-Tracer-Challenge'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] db8ad4754445c49e59e9a2f86dfedc2aae96f00b
[INFO] checking dbearden/Ray-Tracer-Challenge against beta-2021-10-15 for beta-1.56-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdbearden%2FRay-Tracer-Challenge" "/workspace/builds/worker-6/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/dbearden/Ray-Tracer-Challenge on toolchain beta-2021-10-15
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/dbearden/Ray-Tracer-Challenge
[INFO] finished tweaking git repo https://github.com/dbearden/Ray-Tracer-Challenge
[INFO] tweaked toml for git repo https://github.com/dbearden/Ray-Tracer-Challenge written to /workspace/builds/worker-6/source/Cargo.toml
[INFO] crate git repo https://github.com/dbearden/Ray-Tracer-Challenge already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 4a545f36feb8ffa6007d3414ac267e28e60b7745b8cf221a2ca2f763cf54fe22
[INFO] running `Command { std: "docker" "start" "-a" "4a545f36feb8ffa6007d3414ac267e28e60b7745b8cf221a2ca2f763cf54fe22", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4a545f36feb8ffa6007d3414ac267e28e60b7745b8cf221a2ca2f763cf54fe22", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4a545f36feb8ffa6007d3414ac267e28e60b7745b8cf221a2ca2f763cf54fe22", kill_on_drop: false }`
[INFO] [stdout] 4a545f36feb8ffa6007d3414ac267e28e60b7745b8cf221a2ca2f763cf54fe22
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d2fd790ac56cc15348f939e4b0be5c422fd9b3a43d9d0ab0172f3138e9d9924a
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "d2fd790ac56cc15348f939e4b0be5c422fd9b3a43d9d0ab0172f3138e9d9924a", kill_on_drop: false }`
[INFO] [stderr]     Checking ray_tracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch13/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in favor of `#![feature(adt_const_params]` and `#![feature(generic_const_exprs)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch13/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: renamed to `generic_const_exprs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch4/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_generics)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in favor of `#![feature(adt_const_params]` and `#![feature(generic_const_exprs)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch11/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in favor of `#![feature(adt_const_params]` and `#![feature(generic_const_exprs)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch11/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: renamed to `generic_const_exprs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch4/main.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: renamed to `generic_const_exprs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch9/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in favor of `#![feature(adt_const_params]` and `#![feature(generic_const_exprs)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch5/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in favor of `#![feature(adt_const_params]` and `#![feature(generic_const_exprs)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch5/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: renamed to `generic_const_exprs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch9/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: renamed to `generic_const_exprs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch7/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in favor of `#![feature(adt_const_params]` and `#![feature(generic_const_exprs)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch7/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: renamed to `generic_const_exprs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch7/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in favor of `#![feature(adt_const_params]` and `#![feature(generic_const_exprs)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch7/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: renamed to `generic_const_exprs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch7/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch7/main.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch4/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_generics)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in favor of `#![feature(adt_const_params]` and `#![feature(generic_const_exprs)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch4/main.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: renamed to `generic_const_exprs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch10/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in favor of `#![feature(adt_const_params]` and `#![feature(generic_const_exprs)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch8/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in favor of `#![feature(adt_const_params]` and `#![feature(generic_const_exprs)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch8/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: renamed to `generic_const_exprs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch10/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: renamed to `generic_const_exprs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch5/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch5/main.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch11/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch11/main.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch11/main.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(assert_matches)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch8/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in favor of `#![feature(adt_const_params]` and `#![feature(generic_const_exprs)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch8/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: renamed to `generic_const_exprs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch5/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in favor of `#![feature(adt_const_params]` and `#![feature(generic_const_exprs)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch5/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: renamed to `generic_const_exprs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DEFAULT_REFLECTION_COUNT`
[INFO] [stdout]  --> src/bin/ch11/camera.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     DEFAULT_REFLECTION_COUNT,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell`, `rc::Rc`
[INFO] [stdout]  --> src/bin/ch11/materials.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{cell::RefCell, rc::Rc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pattern::Stripe`
[INFO] [stdout]  --> src/bin/ch11/materials.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pattern::Stripe,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell`, `rc::Rc`
[INFO] [stdout]  --> src/bin/ch11/pattern/stripe.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cell::RefCell, rc::Rc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shape::Shape`
[INFO] [stdout]  --> src/bin/ch11/pattern/stripe.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     shape::Shape,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell`, `rc::Rc`
[INFO] [stdout]  --> src/bin/ch11/pattern/mod.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{cell::RefCell, fmt::Debug, rc::Rc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `transformations::Transformation`
[INFO] [stdout]   --> src/bin/ch11/pattern/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     transformations::Transformation,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bin/ch11/pattern/mod.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn pattern_at_shape(&self, shape: &Shape, point: &Point) -> Color {
[INFO] [stdout]    |                                        ^^^^^ help: use `dyn`: `dyn Shape`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `World`
[INFO] [stdout]  --> src/bin/ch11/ray.rs:5:34
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::world::{Computations, World};
[INFO] [stdout]   |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rc::Rc`
[INFO] [stdout]  --> src/bin/ch11/shape/plane.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{f64::EPSILON, rc::Rc};
[INFO] [stdout]   |                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `float_cmp::approx_eq`
[INFO] [stdout]  --> src/bin/ch11/shape/plane.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use float_cmp::approx_eq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell`, `rc::Rc`
[INFO] [stdout]  --> src/bin/ch11/shape/sphere.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cell::RefCell, rc::Rc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Intersection`
[INFO] [stdout]  --> src/bin/ch11/shape/sphere.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 |     ray::{Intersection, Ray},
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell`, `rc::Rc`
[INFO] [stdout]  --> src/bin/ch11/shape/mod.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{cell::RefCell, fmt::Debug, rc::Rc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Intersection`, `pattern::Pattern`
[INFO] [stdout]   --> src/bin/ch11/shape/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pattern::Pattern,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     ray::{Intersection, Ray},
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FRAC_PI_3`, `FRAC_PI_4`, `FRAC_PI_6`
[INFO] [stdout]   --> src/bin/ch11/main.rs:23:30
[INFO] [stdout]    |
[INFO] [stdout] 23 |     f64::consts::{FRAC_PI_2, FRAC_PI_3, FRAC_PI_4, FRAC_PI_6},
[INFO] [stdout]    |                              ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Gradient`, `Ring`, `Stripe`, `lights::PointLight`
[INFO] [stdout]   --> src/bin/ch11/main.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     lights::PointLight,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     pattern::{Checkerboard, Gradient, Pattern, Ring, Stripe},
[INFO] [stdout]    |                             ^^^^^^^^           ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch4/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(destructuring_assignment)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch4/main.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_generics)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch4/main.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch13/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in favor of `#![feature(adt_const_params]` and `#![feature(generic_const_exprs)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch13/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: renamed to `generic_const_exprs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch13/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch13/main.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch13/main.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(assert_matches)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch4/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(destructuring_assignment)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch4/main.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_generics)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch4/main.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch9/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in favor of `#![feature(adt_const_params]` and `#![feature(generic_const_exprs)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch9/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: renamed to `generic_const_exprs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DEFAULT_REFLECTION_COUNT`
[INFO] [stdout]  --> src/bin/ch13/camera.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     DEFAULT_REFLECTION_COUNT,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell`, `rc::Rc`
[INFO] [stdout]  --> src/bin/ch13/materials.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{cell::RefCell, rc::Rc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pattern::Stripe`
[INFO] [stdout]  --> src/bin/ch13/materials.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pattern::Stripe,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell`, `rc::Rc`
[INFO] [stdout]  --> src/bin/ch13/pattern/stripe.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cell::RefCell, rc::Rc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shape::Shape`
[INFO] [stdout]  --> src/bin/ch13/pattern/stripe.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     shape::Shape,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell`, `rc::Rc`
[INFO] [stdout]  --> src/bin/ch13/pattern/mod.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{cell::RefCell, fmt::Debug, rc::Rc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `transformations::Transformation`
[INFO] [stdout]   --> src/bin/ch13/pattern/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     transformations::Transformation,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bin/ch13/pattern/mod.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn pattern_at_shape(&self, shape: &Shape, point: &Point) -> Color {
[INFO] [stdout]    |                                        ^^^^^ help: use `dyn`: `dyn Shape`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `World`
[INFO] [stdout]  --> src/bin/ch13/ray.rs:5:34
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::world::{Computations, World};
[INFO] [stdout]   |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Point`
[INFO] [stdout]  --> src/bin/ch13/shape/cube.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 |     tuple::{Point, Tuple, Vector},
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rc::Rc`
[INFO] [stdout]  --> src/bin/ch13/shape/plane.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{f64::EPSILON, rc::Rc};
[INFO] [stdout]   |                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `float_cmp::approx_eq`
[INFO] [stdout]  --> src/bin/ch13/shape/plane.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use float_cmp::approx_eq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell`, `rc::Rc`
[INFO] [stdout]  --> src/bin/ch13/shape/sphere.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cell::RefCell, rc::Rc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Intersection`
[INFO] [stdout]  --> src/bin/ch13/shape/sphere.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 |     ray::{Intersection, Ray},
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell`, `rc::Rc`
[INFO] [stdout]  --> src/bin/ch13/shape/mod.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{cell::RefCell, fmt::Debug, rc::Rc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Intersection`, `pattern::Pattern`
[INFO] [stdout]   --> src/bin/ch13/shape/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pattern::Pattern,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     ray::{Intersection, Ray},
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `materials::Material`
[INFO] [stdout]   --> src/bin/ch13/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use materials::Material;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FRAC_PI_3`, `FRAC_PI_4`, `FRAC_PI_6`
[INFO] [stdout]   --> src/bin/ch13/main.rs:25:30
[INFO] [stdout]    |
[INFO] [stdout] 25 |     f64::consts::{FRAC_PI_2, FRAC_PI_3, FRAC_PI_4, FRAC_PI_6},
[INFO] [stdout]    |                              ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Cone`, `Gradient`, `Ring`, `lights::PointLight`
[INFO] [stdout]   --> src/bin/ch13/main.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     lights::PointLight,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     pattern::{Checkerboard, Gradient, Pattern, Ring, Stripe},
[INFO] [stdout]    |                             ^^^^^^^^           ^^^^
[INFO] [stdout] 36 |     shape::{Cone, Cylinder},
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch9/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch9/main.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch8/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `dot`
[INFO] [stdout]   --> src/bin/ch1/tuple.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn dot(&self, other: Self) -> f64 {
[INFO] [stdout]    |            ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `cross`
[INFO] [stdout]   --> src/bin/ch1/tuple.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn cross(&self, other: Self) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch8/main.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `path::is_separator`
[INFO] [stdout]  --> src/bin/ch8/world.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cell::RefCell, path::is_separator, rc::Rc};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FRAC_PI_3`
[INFO] [stdout]   --> src/bin/ch8/main.rs:21:30
[INFO] [stdout]    |
[INFO] [stdout] 21 |     f64::consts::{FRAC_PI_2, FRAC_PI_3, FRAC_PI_4},
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::world::World`
[INFO] [stdout]  --> src/bin/ch9/ray.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::world::World;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `float_cmp::approx_eq`
[INFO] [stdout]  --> src/bin/ch9/shapes/plane.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use float_cmp::approx_eq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `borrow::BorrowMut`
[INFO] [stdout]   --> src/bin/ch9/shapes/plane.rs:63:15
[INFO] [stdout]    |
[INFO] [stdout] 63 |     use std::{borrow::BorrowMut, cell::RefCell};
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell`, `rc::Rc`
[INFO] [stdout]  --> src/bin/ch9/shapes/sphere.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cell::RefCell, rc::Rc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Intersection`
[INFO] [stdout]  --> src/bin/ch9/shapes/sphere.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 |     ray::{Intersection, Ray},
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell`, `rc::Rc`
[INFO] [stdout]  --> src/bin/ch9/shapes/mod.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{cell::RefCell, fmt::Debug, rc::Rc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Intersection`
[INFO] [stdout]   --> src/bin/ch9/shapes/mod.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 |     ray::{Intersection, Ray},
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `any::type_name`
[INFO] [stdout]   --> src/bin/ch9/shapes/mod.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         any::type_name,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `path::is_separator`
[INFO] [stdout]  --> src/bin/ch9/world.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cell::RefCell, path::is_separator, rc::Rc};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cell::RefMut`
[INFO] [stdout]    --> src/bin/ch9/world.rs:163:34
[INFO] [stdout]     |
[INFO] [stdout] 163 |     use std::{borrow::BorrowMut, cell::RefMut};
[INFO] [stdout]     |                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FRAC_PI_6`
[INFO] [stdout]   --> src/bin/ch9/main.rs:21:52
[INFO] [stdout]    |
[INFO] [stdout] 21 |     f64::consts::{FRAC_PI_2, FRAC_PI_3, FRAC_PI_4, FRAC_PI_6},
[INFO] [stdout]    |                                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch10/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch10/main.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch7/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch7/main.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch5/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch5/main.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::Write`
[INFO] [stdout]  --> src/bin/ch2/main.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{io::Write};
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0554, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pattern::Stripe`
[INFO] [stdout]  --> src/bin/ch10/materials.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pattern::Stripe,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shape::Shape`
[INFO] [stdout]  --> src/bin/ch10/pattern/stripe.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     shape::Shape,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell`, `rc::Rc`
[INFO] [stdout]  --> src/bin/ch10/pattern/mod.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{cell::RefCell, fmt::Debug, rc::Rc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bin/ch10/pattern/mod.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn pattern_at_shape(&self, shape: &Shape, point: &Point) -> Color {
[INFO] [stdout]    |                                        ^^^^^ help: use `dyn`: `dyn Shape`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::world::World`
[INFO] [stdout]  --> src/bin/ch10/ray.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::world::World;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `float_cmp::approx_eq`
[INFO] [stdout]  --> src/bin/ch10/shape/plane.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use float_cmp::approx_eq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell`, `rc::Rc`
[INFO] [stdout]  --> src/bin/ch10/shape/sphere.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cell::RefCell, rc::Rc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Intersection`
[INFO] [stdout]  --> src/bin/ch10/shape/sphere.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 |     ray::{Intersection, Ray},
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell`, `rc::Rc`
[INFO] [stdout]  --> src/bin/ch10/shape/mod.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{cell::RefCell, fmt::Debug, rc::Rc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Intersection`
[INFO] [stdout]   --> src/bin/ch10/shape/mod.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ray::{Intersection, Ray},
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `any::type_name`
[INFO] [stdout]   --> src/bin/ch10/shape/mod.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         any::type_name,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefMut`
[INFO] [stdout]    --> src/bin/ch10/world.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 164 |     use std::cell::RefMut;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FRAC_PI_6`
[INFO] [stdout]   --> src/bin/ch10/main.rs:22:52
[INFO] [stdout]    |
[INFO] [stdout] 22 |     f64::consts::{FRAC_PI_2, FRAC_PI_3, FRAC_PI_4, FRAC_PI_6},
[INFO] [stdout]    |                                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ray_tracer` due to 5 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch8/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `pixel_at`
[INFO] [stdout]   --> src/bin/ch2/canvas/mod.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn pixel_at(&self, x: usize, y: usize) -> Color {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch9/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch9/main.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0554, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch8/main.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::world::World`
[INFO] [stdout]  --> src/bin/ch9/ray.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::world::World;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rc::Rc`
[INFO] [stdout]  --> src/bin/ch9/shapes/plane.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{f64::EPSILON, rc::Rc};
[INFO] [stdout]   |                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `float_cmp::approx_eq`
[INFO] [stdout]  --> src/bin/ch9/shapes/plane.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use float_cmp::approx_eq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell`, `rc::Rc`
[INFO] [stdout]  --> src/bin/ch9/shapes/sphere.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cell::RefCell, rc::Rc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Intersection`
[INFO] [stdout]  --> src/bin/ch9/shapes/sphere.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 |     ray::{Intersection, Ray},
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell`, `rc::Rc`
[INFO] [stdout]  --> src/bin/ch9/shapes/mod.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{cell::RefCell, fmt::Debug, rc::Rc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Intersection`
[INFO] [stdout]   --> src/bin/ch9/shapes/mod.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 |     ray::{Intersection, Ray},
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `path::is_separator`
[INFO] [stdout]  --> src/bin/ch9/world.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cell::RefCell, path::is_separator, rc::Rc};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FRAC_PI_6`
[INFO] [stdout]   --> src/bin/ch9/main.rs:21:52
[INFO] [stdout]    |
[INFO] [stdout] 21 |     f64::consts::{FRAC_PI_2, FRAC_PI_3, FRAC_PI_4, FRAC_PI_6},
[INFO] [stdout]    |                                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0554, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_matches` in this scope
[INFO] [stdout]    --> src/bin/ch13/world.rs:553:9
[INFO] [stdout]     |
[INFO] [stdout] 553 |         assert_matches!(w.color_at(&r, DEFAULT_REFLECTION_COUNT), Color { .. });
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider importing one of these items:
[INFO] [stdout]             core::assert_matches::assert_matches
[INFO] [stdout]             std::assert_matches::assert_matches
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `path::is_separator`
[INFO] [stdout]  --> src/bin/ch8/world.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cell::RefCell, path::is_separator, rc::Rc};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FRAC_PI_3`
[INFO] [stdout]   --> src/bin/ch8/main.rs:21:30
[INFO] [stdout]    |
[INFO] [stdout] 21 |     f64::consts::{FRAC_PI_2, FRAC_PI_3, FRAC_PI_4},
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch13/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch13/main.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch13/main.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(assert_matches)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pattern::Pattern`
[INFO] [stdout]   --> src/bin/ch11/ray.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::{pattern::Pattern, shape::Shape};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pattern::Pattern`
[INFO] [stdout]  --> src/bin/ch11/shape/plane.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pattern::Pattern,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pattern::Pattern`
[INFO] [stdout]  --> src/bin/ch11/shape/sphere.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pattern::Pattern,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Pattern`
[INFO] [stdout]   --> src/bin/ch11/main.rs:33:39
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pattern::{Checkerboard, Gradient, Pattern, Ring, Stripe},
[INFO] [stdout]    |                                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors; 21 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0554, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pattern::Stripe`
[INFO] [stdout]  --> src/bin/ch13/materials.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pattern::Stripe,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `f64::consts::FRAC_2_PI`
[INFO] [stdout]   --> src/bin/ch13/materials.rs:90:43
[INFO] [stdout]    |
[INFO] [stdout] 90 |     use std::{f64::consts::FRAC_1_SQRT_2, f64::consts::FRAC_2_PI};
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Intersection`, `Plane`, `Ray`
[INFO] [stdout]   --> src/bin/ch13/materials.rs:94:15
[INFO] [stdout]    |
[INFO] [stdout] 94 |         ray::{Intersection, Ray},
[INFO] [stdout]    |               ^^^^^^^^^^^^  ^^^
[INFO] [stdout] 95 |         shape::{Plane, Sphere},
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shape::Shape`
[INFO] [stdout]  --> src/bin/ch13/pattern/stripe.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     shape::Shape,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell`, `rc::Rc`
[INFO] [stdout]  --> src/bin/ch13/pattern/mod.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{cell::RefCell, fmt::Debug, rc::Rc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bin/ch13/pattern/mod.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn pattern_at_shape(&self, shape: &Shape, point: &Point) -> Color {
[INFO] [stdout]    |                                        ^^^^^ help: use `dyn`: `dyn Shape`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `World`
[INFO] [stdout]  --> src/bin/ch13/ray.rs:5:34
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::world::{Computations, World};
[INFO] [stdout]   |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DEFAULT_REFLECTION_COUNT`, `tuple::Color`
[INFO] [stdout]   --> src/bin/ch13/ray.rs:94:73
[INFO] [stdout]    |
[INFO] [stdout] 94 |         matrix::Matrix, shape::Sphere, transformations::Transformation, tuple::Color,
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^
[INFO] [stdout] 95 |         world::prepare_computations, DEFAULT_REFLECTION_COUNT,
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Point`
[INFO] [stdout]  --> src/bin/ch13/shape/cube.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 |     tuple::{Point, Tuple, Vector},
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `float_cmp::approx_eq`
[INFO] [stdout]  --> src/bin/ch13/shape/plane.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use float_cmp::approx_eq;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell`, `rc::Rc`
[INFO] [stdout]  --> src/bin/ch13/shape/sphere.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cell::RefCell, rc::Rc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Intersection`
[INFO] [stdout]  --> src/bin/ch13/shape/sphere.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 |     ray::{Intersection, Ray},
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell`, `rc::Rc`
[INFO] [stdout]  --> src/bin/ch13/shape/mod.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{cell::RefCell, fmt::Debug, rc::Rc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Intersection`
[INFO] [stdout]   --> src/bin/ch13/shape/mod.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 |     ray::{Intersection, Ray},
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `any::type_name`
[INFO] [stdout]   --> src/bin/ch13/shape/mod.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         any::type_name,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cell::RefMut`
[INFO] [stdout]    --> src/bin/ch13/world.rs:275:9
[INFO] [stdout]     |
[INFO] [stdout] 275 |         cell::RefMut,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `materials::Material`
[INFO] [stdout]   --> src/bin/ch13/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use materials::Material;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FRAC_PI_3`, `FRAC_PI_4`, `FRAC_PI_6`
[INFO] [stdout]   --> src/bin/ch13/main.rs:25:30
[INFO] [stdout]    |
[INFO] [stdout] 25 |     f64::consts::{FRAC_PI_2, FRAC_PI_3, FRAC_PI_4, FRAC_PI_6},
[INFO] [stdout]    |                              ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Cone`, `Gradient`, `Ring`, `lights::PointLight`
[INFO] [stdout]   --> src/bin/ch13/main.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     lights::PointLight,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     pattern::{Checkerboard, Gradient, Pattern, Ring, Stripe},
[INFO] [stdout]    |                             ^^^^^^^^           ^^^^
[INFO] [stdout] 36 |     shape::{Cone, Cylinder},
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0554, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0554, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pattern::Pattern`
[INFO] [stdout]   --> src/bin/ch13/ray.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::{pattern::Pattern, shape::Shape};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pattern::Pattern`
[INFO] [stdout]  --> src/bin/ch13/shape/plane.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pattern::Pattern,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pattern::Pattern`
[INFO] [stdout]  --> src/bin/ch13/shape/sphere.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pattern::Pattern,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors; 22 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0554, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Tuple`
[INFO] [stdout]  --> src/bin/ch9/ray.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 |     tuple::{Point, Tuple, Vector},
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0554, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0554, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0554, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch6/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in favor of `#![feature(adt_const_params]` and `#![feature(generic_const_exprs)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/bin/ch6/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: renamed to `generic_const_exprs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0554, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch6/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(const_generics)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/bin/ch6/main.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_evaluatable_checked)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `borrow::BorrowMut`
[INFO] [stdout]    --> src/bin/ch9/world.rs:163:15
[INFO] [stdout]     |
[INFO] [stdout] 163 |     use std::{borrow::BorrowMut, cell::RefMut};
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0554, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pattern::Pattern`
[INFO] [stdout]   --> src/bin/ch10/ray.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::{pattern::Pattern, shape::Shape};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pattern::Pattern`
[INFO] [stdout]  --> src/bin/ch10/shape/plane.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pattern::Pattern,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pattern::Pattern`
[INFO] [stdout]  --> src/bin/ch10/shape/sphere.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pattern::Pattern,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pattern::Pattern`
[INFO] [stdout]   --> src/bin/ch10/shape/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pattern::Pattern,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 17 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0554, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0554, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pattern::Pattern`
[INFO] [stdout]   --> src/bin/ch13/ray.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::{pattern::Pattern, shape::Shape};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pattern::Pattern`
[INFO] [stdout]  --> src/bin/ch13/shape/plane.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pattern::Pattern,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pattern::Pattern`
[INFO] [stdout]  --> src/bin/ch13/shape/sphere.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pattern::Pattern,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pattern::Pattern`
[INFO] [stdout]   --> src/bin/ch13/shape/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pattern::Pattern,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors; 23 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0554, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "d2fd790ac56cc15348f939e4b0be5c422fd9b3a43d9d0ab0172f3138e9d9924a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d2fd790ac56cc15348f939e4b0be5c422fd9b3a43d9d0ab0172f3138e9d9924a", kill_on_drop: false }`
[INFO] [stdout] d2fd790ac56cc15348f939e4b0be5c422fd9b3a43d9d0ab0172f3138e9d9924a
