[INFO] cloning repository https://github.com/pathologyenigma/ray_tracing_in_one_weekend
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pathologyenigma/ray_tracing_in_one_weekend" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpathologyenigma%2Fray_tracing_in_one_weekend", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpathologyenigma%2Fray_tracing_in_one_weekend'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fbffe02c10fb30b0e797dc2372c473c52940c120
[INFO] testing pathologyenigma/ray_tracing_in_one_weekend against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpathologyenigma%2Fray_tracing_in_one_weekend" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/pathologyenigma/ray_tracing_in_one_weekend
[INFO] finished tweaking git repo https://github.com/pathologyenigma/ray_tracing_in_one_weekend
[INFO] tweaked toml for git repo https://github.com/pathologyenigma/ray_tracing_in_one_weekend written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/pathologyenigma/ray_tracing_in_one_weekend on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/pathologyenigma/ray_tracing_in_one_weekend already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: package.license_file
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded getrandom v0.2.3
[INFO] [stderr]   Downloaded rand_chacha v0.3.0
[INFO] [stderr]   Downloaded rand_core v0.6.2
[INFO] [stderr]   Downloaded ppv-lite86 v0.2.10
[INFO] [stderr]   Downloaded rand_hc v0.3.0
[INFO] [stderr]   Downloaded rand v0.8.3
[INFO] [stderr]   Downloaded adler32 v1.2.0
[INFO] [stderr]   Downloaded memoffset v0.6.4
[INFO] [stderr]   Downloaded num-iter v0.1.42
[INFO] [stderr]   Downloaded crossbeam-deque v0.8.0
[INFO] [stderr]   Downloaded num_cpus v1.13.0
[INFO] [stderr]   Downloaded bytemuck v1.7.0
[INFO] [stderr]   Downloaded crc32fast v1.2.1
[INFO] [stderr]   Downloaded deflate v0.8.6
[INFO] [stderr]   Downloaded rayon-core v1.9.1
[INFO] [stderr]   Downloaded miniz_oxide v0.4.4
[INFO] [stderr]   Downloaded miniz_oxide v0.3.7
[INFO] [stderr]   Downloaded image v0.23.14
[INFO] [stderr]   Downloaded crossbeam-channel v0.5.1
[INFO] [stderr]   Downloaded png v0.16.8
[INFO] [stderr]   Downloaded crossbeam-epoch v0.9.5
[INFO] [stderr]   Downloaded rayon v1.5.1
[INFO] [stderr]   Downloaded crossbeam-utils v0.8.5
[INFO] [stderr]   Downloaded weezl v0.1.5
[INFO] [stderr]   Downloaded jpeg-decoder v0.1.22
[INFO] [stderr]   Downloaded gif v0.11.2
[INFO] [stderr]   Downloaded num-integer v0.1.44
[INFO] [stderr]   Downloaded libc v0.2.95
[INFO] [stderr]   Downloaded num-rational v0.3.2
[INFO] [stderr]   Downloaded autocfg v1.0.1
[INFO] [stderr]   Downloaded hermit-abi v0.1.18
[INFO] [stderr]   Downloaded tiff v0.6.1
[INFO] [stderr]   Downloaded scoped_threadpool v0.1.9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f92e885a26d1f5aef0bda418f7ba08249146baca11677e8eb36c76532a4aea12
[INFO] running `Command { std: "docker" "start" "-a" "f92e885a26d1f5aef0bda418f7ba08249146baca11677e8eb36c76532a4aea12", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f92e885a26d1f5aef0bda418f7ba08249146baca11677e8eb36c76532a4aea12", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f92e885a26d1f5aef0bda418f7ba08249146baca11677e8eb36c76532a4aea12", kill_on_drop: false }`
[INFO] [stdout] f92e885a26d1f5aef0bda418f7ba08249146baca11677e8eb36c76532a4aea12
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2c85177fd0599e28db1b1d7046fd1b61569330ea0b03935b630a12cbf5ccc746
[INFO] running `Command { std: "docker" "start" "-a" "2c85177fd0599e28db1b1d7046fd1b61569330ea0b03935b630a12cbf5ccc746", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: package.license_file
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling libc v0.2.95
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.5
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling rayon-core v1.9.1
[INFO] [stderr]    Compiling crc32fast v1.2.1
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling adler32 v1.2.0
[INFO] [stderr]    Compiling weezl v0.1.5
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling color_quant v1.1.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.10
[INFO] [stderr]    Compiling bytemuck v1.7.0
[INFO] [stderr]    Compiling miniz_oxide v0.3.7
[INFO] [stderr]    Compiling scoped_threadpool v0.1.9
[INFO] [stderr]    Compiling deflate v0.8.6
[INFO] [stderr]    Compiling memoffset v0.6.4
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling rayon v1.5.1
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]    Compiling gif v0.11.2
[INFO] [stderr]    Compiling crossbeam-channel v0.5.1
[INFO] [stderr]    Compiling png v0.16.8
[INFO] [stderr]    Compiling crossbeam-deque v0.8.0
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling rand_core v0.6.2
[INFO] [stderr]    Compiling rand_chacha v0.3.0
[INFO] [stderr]    Compiling rand v0.8.3
[INFO] [stderr]    Compiling jpeg-decoder v0.1.22
[INFO] [stderr]    Compiling tiff v0.6.1
[INFO] [stderr]    Compiling image v0.23.14
[INFO] [stderr]    Compiling ray_tracing_the_next_week v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `cell::RefCell` and `rc::Rc`
[INFO] [stdout]  --> src/hittable/plane.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cell::RefCell, rc::Rc, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell` and `rc::Rc`
[INFO] [stdout]  --> src/hittable/box.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cell::RefCell, rc::Rc, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `w` is never read
[INFO] [stdout]   --> src/camera.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct Camera {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     w: Vec3,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Camera` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.21s
[INFO] running `Command { std: "docker" "inspect" "2c85177fd0599e28db1b1d7046fd1b61569330ea0b03935b630a12cbf5ccc746", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c85177fd0599e28db1b1d7046fd1b61569330ea0b03935b630a12cbf5ccc746", kill_on_drop: false }`
[INFO] [stdout] 2c85177fd0599e28db1b1d7046fd1b61569330ea0b03935b630a12cbf5ccc746
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 13aa03320dcbf7646ec14c4a4081aade6329cf05a1c21b01a1f421d322b1179e
[INFO] running `Command { std: "docker" "start" "-a" "13aa03320dcbf7646ec14c4a4081aade6329cf05a1c21b01a1f421d322b1179e", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: package.license_file
[INFO] [stdout] warning: unused imports: `cell::RefCell` and `rc::Rc`
[INFO] [stdout]  --> src/hittable/plane.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cell::RefCell, rc::Rc, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell` and `rc::Rc`
[INFO] [stdout]  --> src/hittable/box.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cell::RefCell, rc::Rc, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `w` is never read
[INFO] [stdout]   --> src/camera.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct Camera {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     w: Vec3,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Camera` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ray_tracing_the_next_week v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> examples/chapter-7.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> examples/chapter-5.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rgb`
[INFO] [stdout]  --> examples/chapter-10.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use image::{Rgb, RgbImage};
[INFO] [stdout]   |             ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fs::File` and `thread::JoinHandle`
[INFO] [stdout]  --> examples/chapter-10.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fs::File,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 7 |     sync::{Arc, Mutex},
[INFO] [stdout] 8 |     thread::JoinHandle,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> examples/chapter-6.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-5.rs:17:72
[INFO] [stdout]    |
[INFO] [stdout] 17 |           let ground_mat = Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]    |  _______________________________________________------------------------_^
[INFO] [stdout]    | |                                               |
[INFO] [stdout]    | |                                               arguments to this function are incorrect
[INFO] [stdout] 18 | |             RefCell::new(checker),
[INFO] [stdout] 19 | |         ))));
[INFO] [stdout]    | |_________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-5.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 23 |             ground_mat,
[INFO] [stdout]    |             ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-5.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 21 | |             Point3::new((0., -1000., 0.)),
[INFO] [stdout] 22 | |             1000.,
[INFO] [stdout] 23 | |             ground_mat,
[INFO] [stdout] 24 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-5.rs:44:29
[INFO] [stdout]    |
[INFO] [stdout] 40 |                         world.add(Rc::new(RefCell::new(MovingSphere::new(
[INFO] [stdout]    |                                                        ----------------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 44 |                             sphere_mat,
[INFO] [stdout]    |                             ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<dyn Material>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<dyn Material>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-5.rs:40:35
[INFO] [stdout]    |
[INFO] [stdout] 40 |                           world.add(Rc::new(RefCell::new(MovingSphere::new(
[INFO] [stdout]    |  _______________________________---_^
[INFO] [stdout]    | |                               |
[INFO] [stdout]    | |                               arguments to this method are incorrect
[INFO] [stdout] 41 | |                             (center, center2),
[INFO] [stdout] 42 | |                             (0., 1.),
[INFO] [stdout] 43 | |                             0.2,
[INFO] [stdout] 44 | |                             sphere_mat,
[INFO] [stdout] 45 | |                         ))));
[INFO] [stdout]    | |___________________________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<MovingSphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<MovingSphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-5.rs:50:81
[INFO] [stdout]    |
[INFO] [stdout] 50 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                                                        -----------              ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<dyn Material>>`
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<dyn Material>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `lookfrom` is never read
[INFO] [stdout]    --> examples/chapter-10.rs:419:10
[INFO] [stdout]     |
[INFO] [stdout] 419 |     let (mut lookfrom, mut lookat) = (Point3::default(), Point3::default());
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `lookat` is never read
[INFO] [stdout]    --> examples/chapter-10.rs:419:24
[INFO] [stdout]     |
[INFO] [stdout] 419 |     let (mut lookfrom, mut lookat) = (Point3::default(), Point3::default());
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `vfov` is never read
[INFO] [stdout]    --> examples/chapter-10.rs:420:10
[INFO] [stdout]     |
[INFO] [stdout] 420 |     let (mut vfov, mut aperture) = (40., 0.);
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-5.rs:50:35
[INFO] [stdout]    |
[INFO] [stdout] 50 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                               --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-5.rs:53:81
[INFO] [stdout]    |
[INFO] [stdout] 53 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                                                        -----------              ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<dyn Material>>`
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<dyn Material>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-5.rs:53:35
[INFO] [stdout]    |
[INFO] [stdout] 53 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                               --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-5.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 62 |             mat_1,
[INFO] [stdout]    |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Dielectric>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Dielectric>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> examples/chapter-10.rs:397:23
[INFO] [stdout]     |
[INFO] [stdout] 397 |     match input.trim().clone() {
[INFO] [stdout]     |                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-5.rs:59:19
[INFO] [stdout]    |
[INFO] [stdout] 59 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 60 | |             Point3::new((0., 1., 0.)),
[INFO] [stdout] 61 | |             1.,
[INFO] [stdout] 62 | |             mat_1,
[INFO] [stdout] 63 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-5.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 68 |             mat_2,
[INFO] [stdout]    |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-5.rs:65:19
[INFO] [stdout]    |
[INFO] [stdout] 65 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 66 | |             Point3::new((-4., 1., 0.)),
[INFO] [stdout] 67 | |             1.,
[INFO] [stdout] 68 | |             mat_2,
[INFO] [stdout] 69 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-5.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 74 |             mat_3,
[INFO] [stdout]    |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Metal>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Metal>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-5.rs:71:19
[INFO] [stdout]    |
[INFO] [stdout] 71 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 72 | |             Point3::new((4., 1., 0.)),
[INFO] [stdout] 73 | |             1.,
[INFO] [stdout] 74 | |             mat_3,
[INFO] [stdout] 75 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-5.rs:93:59
[INFO] [stdout]    |
[INFO] [stdout] 93 |               Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]    |  __________________________________------------------------_^
[INFO] [stdout]    | |                                  |
[INFO] [stdout]    | |                                  arguments to this function are incorrect
[INFO] [stdout] 94 | |                 RefCell::new(checker.clone()),
[INFO] [stdout] 95 | |             )))),
[INFO] [stdout]    | |_____________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-5.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                            ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 93 | /             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 94 | |                 RefCell::new(checker.clone()),
[INFO] [stdout] 95 | |             )))),
[INFO] [stdout]    | |________________^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ImageTexture`, `Sphere`, `TEXTURE_PATH`, and `ray`
[INFO] [stdout]    --> examples/chapter-9.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |         ray, Color, DiffuseLight, HittableList, ImageTexture, Lambertian, Point3, RotateY, Sphere,
[INFO] [stdout]     |         ^^^                                     ^^^^^^^^^^^^                               ^^^^^^
[INFO] [stdout] 192 |         Translate, Vec3, XYPlane, XZPlane, YZPlane, TEXTURE_PATH,
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-5.rs:90:21
[INFO] [stdout]    |
[INFO] [stdout] 90 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _________________---_^
[INFO] [stdout]    | |                 |
[INFO] [stdout]    | |                 arguments to this method are incorrect
[INFO] [stdout] 91 | |             Point3::new((0., -10., 0.)),
[INFO] [stdout] 92 | |             10.,
[INFO] [stdout] 93 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 94 | |                 RefCell::new(checker.clone()),
[INFO] [stdout] 95 | |             )))),
[INFO] [stdout] 96 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-5.rs:100:59
[INFO] [stdout]     |
[INFO] [stdout] 100 |               Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]     |  __________________________________------------------------_^
[INFO] [stdout]     | |                                  |
[INFO] [stdout]     | |                                  arguments to this function are incorrect
[INFO] [stdout] 101 | |                 RefCell::new(checker),
[INFO] [stdout] 102 | |             )))),
[INFO] [stdout]     | |_____________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-5.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout]  97 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |                                            ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 100 | /             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 101 | |                 RefCell::new(checker),
[INFO] [stdout] 102 | |             )))),
[INFO] [stdout]     | |________________^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-5.rs:97:21
[INFO] [stdout]     |
[INFO] [stdout]  97 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout]  98 | |             Point3::new((0., 10., 0.)),
[INFO] [stdout]  99 | |             10.,
[INFO] [stdout] 100 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 101 | |                 RefCell::new(checker),
[INFO] [stdout] 102 | |             )))),
[INFO] [stdout] 103 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-5.rs:118:59
[INFO] [stdout]     |
[INFO] [stdout] 118 |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(RefCell::new(pertext))))),
[INFO] [stdout]     |                                  ------------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Texture>`, found `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-5.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |         objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |                                          ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 118 |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(RefCell::new(pertext))))),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-5.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 116 | |             Point3::new((0., -1000., 0.)),
[INFO] [stdout] 117 | |             1000.,
[INFO] [stdout] 118 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(RefCell::new(pertext))))),
[INFO] [stdout] 119 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-5.rs:123:59
[INFO] [stdout]     |
[INFO] [stdout] 123 |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(RefCell::new(pertext))))),
[INFO] [stdout]     |                                  ------------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Texture>`, found `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-5.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |         objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |                                          ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 123 |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(RefCell::new(pertext))))),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-5.rs:120:21
[INFO] [stdout]     |
[INFO] [stdout] 120 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 121 | |             Point3::new((0., 2., 0.)),
[INFO] [stdout] 122 | |             2.,
[INFO] [stdout] 123 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(RefCell::new(pertext))))),
[INFO] [stdout] 124 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 3 arguments but 2 arguments were supplied
[INFO] [stdout]    --> examples/chapter-5.rs:201:34
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 pixel_color += r.ray_color(&world, MAX_DEPTH as isize);
[INFO] [stdout]     |                                  ^^^^^^^^^ ------ argument #1 of type `&Vec3` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/ray.rs:34:12
[INFO] [stdout]     |
[INFO] [stdout]  34 |     pub fn ray_color(&self, background: &Color, world: &dyn Hittable, depth: isize) -> Color {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 pixel_color += r.ray_color(/* &Vec3 */, &world, MAX_DEPTH as isize);
[INFO] [stdout]     |                                            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-3.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 14 |             ground_mat,
[INFO] [stdout]    |             ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-2.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 14 |             ground_mat,
[INFO] [stdout]    |             ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-3.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 12 | |             Point3::new((0., -1000., 0.)),
[INFO] [stdout] 13 | |             1000.,
[INFO] [stdout] 14 | |             ground_mat,
[INFO] [stdout] 15 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-2.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 12 | |             Point3::new((0., -1000., 0.)),
[INFO] [stdout] 13 | |             1000.,
[INFO] [stdout] 14 | |             ground_mat,
[INFO] [stdout] 15 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-2.rs:27:107
[INFO] [stdout]    |
[INFO] [stdout] 27 |                         world.add(Rc::new(RefCell::new(MovingSphere::new((center,center2), (0., 1.), 0.2, sphere_mat))));
[INFO] [stdout]    |                                                        -----------------                                  ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<dyn Material>>`
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<dyn Material>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-6.rs:17:72
[INFO] [stdout]    |
[INFO] [stdout] 17 |           let ground_mat = Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]    |  _______________________________________________------------------------_^
[INFO] [stdout]    | |                                               |
[INFO] [stdout]    | |                                               arguments to this function are incorrect
[INFO] [stdout] 18 | |             RefCell::new(checker),
[INFO] [stdout] 19 | |         ))));
[INFO] [stdout]    | |_________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-6.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 23 |             ground_mat,
[INFO] [stdout]    |             ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> examples/chapter-4.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-2.rs:27:35
[INFO] [stdout]    |
[INFO] [stdout] 27 |                         world.add(Rc::new(RefCell::new(MovingSphere::new((center,center2), (0., 1.), 0.2, sphere_mat))));
[INFO] [stdout]    |                               --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<MovingSphere>>`
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<MovingSphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-3.rs:27:107
[INFO] [stdout]    |
[INFO] [stdout] 27 |                         world.add(Rc::new(RefCell::new(MovingSphere::new((center,center2), (0., 1.), 0.2, sphere_mat))));
[INFO] [stdout]    |                                                        -----------------                                  ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<dyn Material>>`
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<dyn Material>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-2.rs:32:81
[INFO] [stdout]    |
[INFO] [stdout] 32 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                                                        -----------              ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<dyn Material>>`
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<dyn Material>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-2.rs:32:35
[INFO] [stdout]    |
[INFO] [stdout] 32 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                               --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-2.rs:35:81
[INFO] [stdout]    |
[INFO] [stdout] 35 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                                                        -----------              ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<dyn Material>>`
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<dyn Material>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-2.rs:35:35
[INFO] [stdout]    |
[INFO] [stdout] 35 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                               --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-2.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 44 |             mat_1,
[INFO] [stdout]    |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Dielectric>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Dielectric>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-6.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 21 | |             Point3::new((0., -1000., 0.)),
[INFO] [stdout] 22 | |             1000.,
[INFO] [stdout] 23 | |             ground_mat,
[INFO] [stdout] 24 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-2.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 41 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 42 | |             Point3::new((0., 1., 0.)),
[INFO] [stdout] 43 | |             1.,
[INFO] [stdout] 44 | |             mat_1,
[INFO] [stdout] 45 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-2.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 50 |             mat_2,
[INFO] [stdout]    |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-2.rs:47:19
[INFO] [stdout]    |
[INFO] [stdout] 47 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 48 | |             Point3::new((-4.,1.,0.)),
[INFO] [stdout] 49 | |             1.,
[INFO] [stdout] 50 | |             mat_2,
[INFO] [stdout] 51 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-2.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 56 |             mat_3,
[INFO] [stdout]    |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Metal>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Metal>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-3.rs:27:35
[INFO] [stdout]    |
[INFO] [stdout] 27 |                         world.add(Rc::new(RefCell::new(MovingSphere::new((center,center2), (0., 1.), 0.2, sphere_mat))));
[INFO] [stdout]    |                               --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<MovingSphere>>`
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<MovingSphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-3.rs:32:81
[INFO] [stdout]    |
[INFO] [stdout] 32 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                                                        -----------              ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<dyn Material>>`
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<dyn Material>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-2.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 54 | |             Point3::new((4.,1.,0.)),
[INFO] [stdout] 55 | |             1.,
[INFO] [stdout] 56 | |             mat_3,
[INFO] [stdout] 57 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-3.rs:32:35
[INFO] [stdout]    |
[INFO] [stdout] 32 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                               --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-6.rs:44:29
[INFO] [stdout]    |
[INFO] [stdout] 40 |                         world.add(Rc::new(RefCell::new(MovingSphere::new(
[INFO] [stdout]    |                                                        ----------------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 44 |                             sphere_mat,
[INFO] [stdout]    |                             ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<dyn Material>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<dyn Material>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell` and `rc::Rc`
[INFO] [stdout]  --> src/hittable/plane.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cell::RefCell, rc::Rc, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell` and `rc::Rc`
[INFO] [stdout]  --> src/hittable/box.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cell::RefCell, rc::Rc, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-3.rs:35:81
[INFO] [stdout]    |
[INFO] [stdout] 35 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                                                        -----------              ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<dyn Material>>`
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<dyn Material>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 3 arguments but 2 arguments were supplied
[INFO] [stdout]   --> examples/chapter-2.rs:85:34
[INFO] [stdout]    |
[INFO] [stdout] 85 |                 pixel_color += r.ray_color(&world, MAX_DEPTH as isize);
[INFO] [stdout]    |                                  ^^^^^^^^^ ------ argument #1 of type `&Vec3` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ray.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn ray_color(&self, background: &Color, world: &dyn Hittable, depth: isize) -> Color {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 85 |                 pixel_color += r.ray_color(/* &Vec3 */, &world, MAX_DEPTH as isize);
[INFO] [stdout]    |                                            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-6.rs:40:35
[INFO] [stdout]    |
[INFO] [stdout] 40 |                           world.add(Rc::new(RefCell::new(MovingSphere::new(
[INFO] [stdout]    |  _______________________________---_^
[INFO] [stdout]    | |                               |
[INFO] [stdout]    | |                               arguments to this method are incorrect
[INFO] [stdout] 41 | |                             (center, center2),
[INFO] [stdout] 42 | |                             (0., 1.),
[INFO] [stdout] 43 | |                             0.2,
[INFO] [stdout] 44 | |                             sphere_mat,
[INFO] [stdout] 45 | |                         ))));
[INFO] [stdout]    | |___________________________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<MovingSphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<MovingSphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-6.rs:50:81
[INFO] [stdout]    |
[INFO] [stdout] 50 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                                                        -----------              ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<dyn Material>>`
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<dyn Material>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-3.rs:35:35
[INFO] [stdout]    |
[INFO] [stdout] 35 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                               --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-3.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 44 |             mat_1,
[INFO] [stdout]    |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Dielectric>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Dielectric>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-6.rs:50:35
[INFO] [stdout]    |
[INFO] [stdout] 50 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                               --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ray_tracing_the_next_week` (example "chapter-2") due to 15 previous errors
[INFO] [stdout] warning: unused imports: `Sphere` and `ray`
[INFO] [stdout]    --> examples/chapter-8.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |         ray, Color, DiffuseLight, HittableList, ImageTexture, Lambertian, Point3, RotateY, Sphere,
[INFO] [stdout]     |         ^^^                                                                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-6.rs:53:81
[INFO] [stdout]    |
[INFO] [stdout] 53 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                                                        -----------              ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<dyn Material>>`
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<dyn Material>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-3.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 41 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 42 | |             Point3::new((0., 1., 0.)),
[INFO] [stdout] 43 | |             1.,
[INFO] [stdout] 44 | |             mat_1,
[INFO] [stdout] 45 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-3.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 50 |             mat_2,
[INFO] [stdout]    |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-6.rs:53:35
[INFO] [stdout]    |
[INFO] [stdout] 53 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                               --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-3.rs:47:19
[INFO] [stdout]    |
[INFO] [stdout] 47 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 48 | |             Point3::new((-4.,1.,0.)),
[INFO] [stdout] 49 | |             1.,
[INFO] [stdout] 50 | |             mat_2,
[INFO] [stdout] 51 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-7.rs:17:72
[INFO] [stdout]    |
[INFO] [stdout] 17 |           let ground_mat = Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]    |  _______________________________________________------------------------_^
[INFO] [stdout]    | |                                               |
[INFO] [stdout]    | |                                               arguments to this function are incorrect
[INFO] [stdout] 18 | |             RefCell::new(checker),
[INFO] [stdout] 19 | |         ))));
[INFO] [stdout]    | |_________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-3.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 56 |             mat_3,
[INFO] [stdout]    |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Metal>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Metal>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-6.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 62 |             mat_1,
[INFO] [stdout]    |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Dielectric>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Dielectric>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-6.rs:59:19
[INFO] [stdout]    |
[INFO] [stdout] 59 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 60 | |             Point3::new((0., 1., 0.)),
[INFO] [stdout] 61 | |             1.,
[INFO] [stdout] 62 | |             mat_1,
[INFO] [stdout] 63 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-3.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 54 | |             Point3::new((4.,1.,0.)),
[INFO] [stdout] 55 | |             1.,
[INFO] [stdout] 56 | |             mat_3,
[INFO] [stdout] 57 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-6.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 68 |             mat_2,
[INFO] [stdout]    |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-6.rs:65:19
[INFO] [stdout]    |
[INFO] [stdout] 65 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 66 | |             Point3::new((-4., 1., 0.)),
[INFO] [stdout] 67 | |             1.,
[INFO] [stdout] 68 | |             mat_2,
[INFO] [stdout] 69 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-6.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 74 |             mat_3,
[INFO] [stdout]    |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Metal>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Metal>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-7.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 23 |             ground_mat,
[INFO] [stdout]    |             ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-6.rs:71:19
[INFO] [stdout]    |
[INFO] [stdout] 71 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 72 | |             Point3::new((4., 1., 0.)),
[INFO] [stdout] 73 | |             1.,
[INFO] [stdout] 74 | |             mat_3,
[INFO] [stdout] 75 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 3 arguments but 2 arguments were supplied
[INFO] [stdout]   --> examples/chapter-3.rs:85:34
[INFO] [stdout]    |
[INFO] [stdout] 85 |                 pixel_color += r.ray_color(&world, MAX_DEPTH as isize);
[INFO] [stdout]    |                                  ^^^^^^^^^ ------ argument #1 of type `&Vec3` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ray.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn ray_color(&self, background: &Color, world: &dyn Hittable, depth: isize) -> Color {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 85 |                 pixel_color += r.ray_color(/* &Vec3 */, &world, MAX_DEPTH as isize);
[INFO] [stdout]    |                                            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-4.rs:16:72
[INFO] [stdout]    |
[INFO] [stdout] 16 |         let ground_mat = Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(RefCell::new(checker)))));
[INFO] [stdout]    |                                               ------------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Texture>`, found `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout]    |                                               |
[INFO] [stdout]    |                                               arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-6.rs:93:59
[INFO] [stdout]    |
[INFO] [stdout] 93 |               Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]    |  __________________________________------------------------_^
[INFO] [stdout]    | |                                  |
[INFO] [stdout]    | |                                  arguments to this function are incorrect
[INFO] [stdout] 94 | |                 RefCell::new(checker.clone()),
[INFO] [stdout] 95 | |             )))),
[INFO] [stdout]    | |_____________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-6.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                            ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 93 | /             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 94 | |                 RefCell::new(checker.clone()),
[INFO] [stdout] 95 | |             )))),
[INFO] [stdout]    | |________________^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-6.rs:90:21
[INFO] [stdout]    |
[INFO] [stdout] 90 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _________________---_^
[INFO] [stdout]    | |                 |
[INFO] [stdout]    | |                 arguments to this method are incorrect
[INFO] [stdout] 91 | |             Point3::new((0., -10., 0.)),
[INFO] [stdout] 92 | |             10.,
[INFO] [stdout] 93 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 94 | |                 RefCell::new(checker.clone()),
[INFO] [stdout] 95 | |             )))),
[INFO] [stdout] 96 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-6.rs:100:59
[INFO] [stdout]     |
[INFO] [stdout] 100 |               Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]     |  __________________________________------------------------_^
[INFO] [stdout]     | |                                  |
[INFO] [stdout]     | |                                  arguments to this function are incorrect
[INFO] [stdout] 101 | |                 RefCell::new(checker),
[INFO] [stdout] 102 | |             )))),
[INFO] [stdout]     | |_____________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-6.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout]  97 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |                                            ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 100 | /             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 101 | |                 RefCell::new(checker),
[INFO] [stdout] 102 | |             )))),
[INFO] [stdout]     | |________________^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-4.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 20 |             ground_mat,
[INFO] [stdout]    |             ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-6.rs:97:21
[INFO] [stdout]     |
[INFO] [stdout]  97 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout]  98 | |             Point3::new((0., 10., 0.)),
[INFO] [stdout]  99 | |             10.,
[INFO] [stdout] 100 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 101 | |                 RefCell::new(checker),
[INFO] [stdout] 102 | |             )))),
[INFO] [stdout] 103 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-6.rs:118:59
[INFO] [stdout]     |
[INFO] [stdout] 118 |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(RefCell::new(pertext))))),
[INFO] [stdout]     |                                  ------------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Texture>`, found `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-6.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |         objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |                                          ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 118 |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(RefCell::new(pertext))))),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-7.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 21 | |             Point3::new((0., -1000., 0.)),
[INFO] [stdout] 22 | |             1000.,
[INFO] [stdout] 23 | |             ground_mat,
[INFO] [stdout] 24 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-8.rs:15:72
[INFO] [stdout]    |
[INFO] [stdout] 15 |           let ground_mat = Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]    |  _______________________________________________------------------------_^
[INFO] [stdout]    | |                                               |
[INFO] [stdout]    | |                                               arguments to this function are incorrect
[INFO] [stdout] 16 | |             RefCell::new(checker),
[INFO] [stdout] 17 | |         ))));
[INFO] [stdout]    | |_________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-4.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 18 | |             Point3::new((0., -1000., 0.)),
[INFO] [stdout] 19 | |             1000.,
[INFO] [stdout] 20 | |             ground_mat,
[INFO] [stdout] 21 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-6.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 116 | |             Point3::new((0., -1000., 0.)),
[INFO] [stdout] 117 | |             1000.,
[INFO] [stdout] 118 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(RefCell::new(pertext))))),
[INFO] [stdout] 119 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-6.rs:123:59
[INFO] [stdout]     |
[INFO] [stdout] 123 |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(RefCell::new(pertext))))),
[INFO] [stdout]     |                                  ------------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Texture>`, found `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ray_tracing_the_next_week` (example "chapter-3") due to 15 previous errors
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-6.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |         objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |                                          ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 123 |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(RefCell::new(pertext))))),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-6.rs:120:21
[INFO] [stdout]     |
[INFO] [stdout] 120 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 121 | |             Point3::new((0., 2., 0.)),
[INFO] [stdout] 122 | |             2.,
[INFO] [stdout] 123 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(RefCell::new(pertext))))),
[INFO] [stdout] 124 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-4.rs:41:29
[INFO] [stdout]    |
[INFO] [stdout] 37 |                         world.add(Rc::new(RefCell::new(MovingSphere::new(
[INFO] [stdout]    |                                                        ----------------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 41 |                             sphere_mat,
[INFO] [stdout]    |                             ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<dyn Material>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<dyn Material>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-8.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 21 |             ground_mat,
[INFO] [stdout]    |             ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-6.rs:135:54
[INFO] [stdout]     |
[INFO] [stdout] 135 |         let earth_surface = Lambertian::with_texture(Rc::new(RefCell::new(earth_texture)));
[INFO] [stdout]     |                             ------------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Texture>`, found `Rc<RefCell<ImageTexture>>`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<ImageTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-6.rs:136:85
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let globe = Rc::new(RefCell::new(Sphere::new(Point3::new((0., 0., 0.)), 2., Rc::new(RefCell::new(earth_surface)))));
[INFO] [stdout]     |                                          -----------                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-6.rs:137:44
[INFO] [stdout]     |
[INFO] [stdout] 137 |         HittableList::new_with_first_value(globe)
[INFO] [stdout]     |         ---------------------------------- ^^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:54:12
[INFO] [stdout]     |
[INFO] [stdout]  54 |     pub fn new_with_first_value(object: Arc<dyn Hittable>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-8.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 19 | |             Point3::new((0., -1000., 0.)),
[INFO] [stdout] 20 | |             1000.,
[INFO] [stdout] 21 | |             ground_mat,
[INFO] [stdout] 22 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-4.rs:37:35
[INFO] [stdout]    |
[INFO] [stdout] 37 |                           world.add(Rc::new(RefCell::new(MovingSphere::new(
[INFO] [stdout]    |  _______________________________---_^
[INFO] [stdout]    | |                               |
[INFO] [stdout]    | |                               arguments to this method are incorrect
[INFO] [stdout] 38 | |                             (center, center2),
[INFO] [stdout] 39 | |                             (0., 1.),
[INFO] [stdout] 40 | |                             0.2,
[INFO] [stdout] 41 | |                             sphere_mat,
[INFO] [stdout] 42 | |                         ))));
[INFO] [stdout]    | |___________________________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<MovingSphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<MovingSphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-4.rs:47:81
[INFO] [stdout]    |
[INFO] [stdout] 47 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                                                        -----------              ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<dyn Material>>`
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<dyn Material>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 3 arguments but 2 arguments were supplied
[INFO] [stdout]    --> examples/chapter-6.rs:220:34
[INFO] [stdout]     |
[INFO] [stdout] 220 |                 pixel_color += r.ray_color(&world, MAX_DEPTH as isize);
[INFO] [stdout]     |                                  ^^^^^^^^^ ------ argument #1 of type `&Vec3` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/ray.rs:34:12
[INFO] [stdout]     |
[INFO] [stdout]  34 |     pub fn ray_color(&self, background: &Color, world: &dyn Hittable, depth: isize) -> Color {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 220 |                 pixel_color += r.ray_color(/* &Vec3 */, &world, MAX_DEPTH as isize);
[INFO] [stdout]     |                                            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-8.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 38 |                         world.add(Rc::new(RefCell::new(MovingSphere::new(
[INFO] [stdout]    |                                                        ----------------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 42 |                             sphere_mat,
[INFO] [stdout]    |                             ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<dyn Material>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<dyn Material>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-4.rs:47:35
[INFO] [stdout]    |
[INFO] [stdout] 47 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                               --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-8.rs:38:35
[INFO] [stdout]    |
[INFO] [stdout] 38 |                           world.add(Rc::new(RefCell::new(MovingSphere::new(
[INFO] [stdout]    |  _______________________________---_^
[INFO] [stdout]    | |                               |
[INFO] [stdout]    | |                               arguments to this method are incorrect
[INFO] [stdout] 39 | |                             (center, center2),
[INFO] [stdout] 40 | |                             (0., 1.),
[INFO] [stdout] 41 | |                             0.2,
[INFO] [stdout] 42 | |                             sphere_mat,
[INFO] [stdout] 43 | |                         ))));
[INFO] [stdout]    | |___________________________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<MovingSphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<MovingSphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-4.rs:50:81
[INFO] [stdout]    |
[INFO] [stdout] 50 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                                                        -----------              ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<dyn Material>>`
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<dyn Material>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-8.rs:48:81
[INFO] [stdout]    |
[INFO] [stdout] 48 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                                                        -----------              ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<dyn Material>>`
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<dyn Material>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-8.rs:48:35
[INFO] [stdout]    |
[INFO] [stdout] 48 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                               --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-4.rs:50:35
[INFO] [stdout]    |
[INFO] [stdout] 50 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                               --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-4.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 59 |             mat_1,
[INFO] [stdout]    |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Dielectric>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Dielectric>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-8.rs:51:81
[INFO] [stdout]    |
[INFO] [stdout] 51 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                                                        -----------              ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<dyn Material>>`
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<dyn Material>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ray_tracing_the_next_week` (example "chapter-6") due to 31 previous errors; 1 warning emitted
[INFO] [stderr] error: could not compile `ray_tracing_the_next_week` (example "chapter-5") due to 28 previous errors; 1 warning emitted
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-4.rs:56:19
[INFO] [stdout]    |
[INFO] [stdout] 56 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 57 | |             Point3::new((0., 1., 0.)),
[INFO] [stdout] 58 | |             1.,
[INFO] [stdout] 59 | |             mat_1,
[INFO] [stdout] 60 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-8.rs:51:35
[INFO] [stdout]    |
[INFO] [stdout] 51 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                               --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-4.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 65 |             mat_2,
[INFO] [stdout]    |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-8.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 60 |             mat_1,
[INFO] [stdout]    |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Dielectric>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Dielectric>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-4.rs:62:19
[INFO] [stdout]    |
[INFO] [stdout] 62 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 63 | |             Point3::new((-4., 1., 0.)),
[INFO] [stdout] 64 | |             1.,
[INFO] [stdout] 65 | |             mat_2,
[INFO] [stdout] 66 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-8.rs:57:19
[INFO] [stdout]    |
[INFO] [stdout] 57 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 58 | |             Point3::new((0., 1., 0.)),
[INFO] [stdout] 59 | |             1.,
[INFO] [stdout] 60 | |             mat_1,
[INFO] [stdout] 61 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-8.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 66 |             mat_2,
[INFO] [stdout]    |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-4.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 71 |             mat_3,
[INFO] [stdout]    |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Metal>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Metal>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-7.rs:44:29
[INFO] [stdout]    |
[INFO] [stdout] 40 |                         world.add(Rc::new(RefCell::new(MovingSphere::new(
[INFO] [stdout]    |                                                        ----------------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 44 |                             sphere_mat,
[INFO] [stdout]    |                             ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<dyn Material>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<dyn Material>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-7.rs:40:35
[INFO] [stdout]    |
[INFO] [stdout] 40 |                           world.add(Rc::new(RefCell::new(MovingSphere::new(
[INFO] [stdout]    |  _______________________________---_^
[INFO] [stdout]    | |                               |
[INFO] [stdout]    | |                               arguments to this method are incorrect
[INFO] [stdout] 41 | |                             (center, center2),
[INFO] [stdout] 42 | |                             (0., 1.),
[INFO] [stdout] 43 | |                             0.2,
[INFO] [stdout] 44 | |                             sphere_mat,
[INFO] [stdout] 45 | |                         ))));
[INFO] [stdout]    | |___________________________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<MovingSphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<MovingSphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-7.rs:50:81
[INFO] [stdout]    |
[INFO] [stdout] 50 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                                                        -----------              ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<dyn Material>>`
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<dyn Material>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-4.rs:68:19
[INFO] [stdout]    |
[INFO] [stdout] 68 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 69 | |             Point3::new((4., 1., 0.)),
[INFO] [stdout] 70 | |             1.,
[INFO] [stdout] 71 | |             mat_3,
[INFO] [stdout] 72 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-8.rs:63:19
[INFO] [stdout]    |
[INFO] [stdout] 63 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 64 | |             Point3::new((-4., 1., 0.)),
[INFO] [stdout] 65 | |             1.,
[INFO] [stdout] 66 | |             mat_2,
[INFO] [stdout] 67 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-8.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 72 |             mat_3,
[INFO] [stdout]    |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Metal>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Metal>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-7.rs:50:35
[INFO] [stdout]    |
[INFO] [stdout] 50 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                               --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-8.rs:69:19
[INFO] [stdout]    |
[INFO] [stdout] 69 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 70 | |             Point3::new((4., 1., 0.)),
[INFO] [stdout] 71 | |             1.,
[INFO] [stdout] 72 | |             mat_3,
[INFO] [stdout] 73 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-4.rs:87:59
[INFO] [stdout]    |
[INFO] [stdout] 87 |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(RefCell::new(checker.clone()))))),
[INFO] [stdout]    |                                  ------------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Texture>`, found `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-7.rs:53:81
[INFO] [stdout]    |
[INFO] [stdout] 53 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                                                        -----------              ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<dyn Material>>`
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<dyn Material>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-4.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |         objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                          ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 87 |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(RefCell::new(checker.clone()))))),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-4.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _________________---_^
[INFO] [stdout]    | |                 |
[INFO] [stdout]    | |                 arguments to this method are incorrect
[INFO] [stdout] 85 | |             Point3::new((0., -10., 0.)),
[INFO] [stdout] 86 | |             10.,
[INFO] [stdout] 87 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(RefCell::new(checker.clone()))))),
[INFO] [stdout] 88 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-8.rs:91:59
[INFO] [stdout]    |
[INFO] [stdout] 91 |               Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]    |  __________________________________------------------------_^
[INFO] [stdout]    | |                                  |
[INFO] [stdout]    | |                                  arguments to this function are incorrect
[INFO] [stdout] 92 | |                 RefCell::new(checker.clone()),
[INFO] [stdout] 93 | |             )))),
[INFO] [stdout]    | |_____________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-4.rs:92:59
[INFO] [stdout]    |
[INFO] [stdout] 92 |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(RefCell::new(checker))))),
[INFO] [stdout]    |                                  ------------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Texture>`, found `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-7.rs:53:35
[INFO] [stdout]    |
[INFO] [stdout] 53 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                               --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-4.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                          ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 92 |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(RefCell::new(checker))))),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-8.rs:91:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                            ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 91 | /             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 92 | |                 RefCell::new(checker.clone()),
[INFO] [stdout] 93 | |             )))),
[INFO] [stdout]    | |________________^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-7.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 62 |             mat_1,
[INFO] [stdout]    |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Dielectric>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Dielectric>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-8.rs:88:21
[INFO] [stdout]    |
[INFO] [stdout] 88 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _________________---_^
[INFO] [stdout]    | |                 |
[INFO] [stdout]    | |                 arguments to this method are incorrect
[INFO] [stdout] 89 | |             Point3::new((0., -10., 0.)),
[INFO] [stdout] 90 | |             10.,
[INFO] [stdout] 91 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 92 | |                 RefCell::new(checker.clone()),
[INFO] [stdout] 93 | |             )))),
[INFO] [stdout] 94 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-4.rs:89:21
[INFO] [stdout]    |
[INFO] [stdout] 89 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _________________---_^
[INFO] [stdout]    | |                 |
[INFO] [stdout]    | |                 arguments to this method are incorrect
[INFO] [stdout] 90 | |             Point3::new((0., 10., 0.)),
[INFO] [stdout] 91 | |             10.,
[INFO] [stdout] 92 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(RefCell::new(checker))))),
[INFO] [stdout] 93 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-7.rs:59:19
[INFO] [stdout]    |
[INFO] [stdout] 59 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 60 | |             Point3::new((0., 1., 0.)),
[INFO] [stdout] 61 | |             1.,
[INFO] [stdout] 62 | |             mat_1,
[INFO] [stdout] 63 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-7.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 68 |             mat_2,
[INFO] [stdout]    |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-7.rs:65:19
[INFO] [stdout]    |
[INFO] [stdout] 65 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 66 | |             Point3::new((-4., 1., 0.)),
[INFO] [stdout] 67 | |             1.,
[INFO] [stdout] 68 | |             mat_2,
[INFO] [stdout] 69 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-7.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 74 |             mat_3,
[INFO] [stdout]    |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Metal>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Metal>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-9.rs:15:72
[INFO] [stdout]    |
[INFO] [stdout] 15 |           let ground_mat = Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]    |  _______________________________________________------------------------_^
[INFO] [stdout]    | |                                               |
[INFO] [stdout]    | |                                               arguments to this function are incorrect
[INFO] [stdout] 16 | |             RefCell::new(checker),
[INFO] [stdout] 17 | |         ))));
[INFO] [stdout]    | |_________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-7.rs:71:19
[INFO] [stdout]    |
[INFO] [stdout] 71 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 72 | |             Point3::new((4., 1., 0.)),
[INFO] [stdout] 73 | |             1.,
[INFO] [stdout] 74 | |             mat_3,
[INFO] [stdout] 75 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:98:59
[INFO] [stdout]     |
[INFO] [stdout]  98 |               Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]     |  __________________________________------------------------_^
[INFO] [stdout]     | |                                  |
[INFO] [stdout]     | |                                  arguments to this function are incorrect
[INFO] [stdout]  99 | |                 RefCell::new(checker),
[INFO] [stdout] 100 | |             )))),
[INFO] [stdout]     | |_____________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:98:13
[INFO] [stdout]     |
[INFO] [stdout]  95 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |                                            ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout]  98 | /             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]  99 | |                 RefCell::new(checker),
[INFO] [stdout] 100 | |             )))),
[INFO] [stdout]     | |________________^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:95:21
[INFO] [stdout]     |
[INFO] [stdout]  95 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout]  96 | |             Point3::new((0., 10., 0.)),
[INFO] [stdout]  97 | |             10.,
[INFO] [stdout]  98 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]  99 | |                 RefCell::new(checker),
[INFO] [stdout] 100 | |             )))),
[INFO] [stdout] 101 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-9.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 21 |             ground_mat,
[INFO] [stdout]    |             ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:116:59
[INFO] [stdout]     |
[INFO] [stdout] 116 |               Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]     |  __________________________________------------------------_^
[INFO] [stdout]     | |                                  |
[INFO] [stdout]     | |                                  arguments to this function are incorrect
[INFO] [stdout] 117 | |                 RefCell::new(pertext),
[INFO] [stdout] 118 | |             )))),
[INFO] [stdout]     | |_____________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-7.rs:93:59
[INFO] [stdout]    |
[INFO] [stdout] 93 |               Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]    |  __________________________________------------------------_^
[INFO] [stdout]    | |                                  |
[INFO] [stdout]    | |                                  arguments to this function are incorrect
[INFO] [stdout] 94 | |                 RefCell::new(checker.clone()),
[INFO] [stdout] 95 | |             )))),
[INFO] [stdout]    | |_____________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |                                            ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 116 | /             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 117 | |                 RefCell::new(pertext),
[INFO] [stdout] 118 | |             )))),
[INFO] [stdout]     | |________________^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-9.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 19 | |             Point3::new((0., -1000., 0.)),
[INFO] [stdout] 20 | |             1000.,
[INFO] [stdout] 21 | |             ground_mat,
[INFO] [stdout] 22 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-7.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                            ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 93 | /             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 94 | |                 RefCell::new(checker.clone()),
[INFO] [stdout] 95 | |             )))),
[INFO] [stdout]    | |________________^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-7.rs:90:21
[INFO] [stdout]    |
[INFO] [stdout] 90 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _________________---_^
[INFO] [stdout]    | |                 |
[INFO] [stdout]    | |                 arguments to this method are incorrect
[INFO] [stdout] 91 | |             Point3::new((0., -10., 0.)),
[INFO] [stdout] 92 | |             10.,
[INFO] [stdout] 93 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 94 | |                 RefCell::new(checker.clone()),
[INFO] [stdout] 95 | |             )))),
[INFO] [stdout] 96 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-9.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 38 |                         world.add(Rc::new(RefCell::new(MovingSphere::new(
[INFO] [stdout]    |                                                        ----------------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 42 |                             sphere_mat,
[INFO] [stdout]    |                             ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<dyn Material>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<dyn Material>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:100:59
[INFO] [stdout]     |
[INFO] [stdout] 100 |               Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]     |  __________________________________------------------------_^
[INFO] [stdout]     | |                                  |
[INFO] [stdout]     | |                                  arguments to this function are incorrect
[INFO] [stdout] 101 | |                 RefCell::new(checker),
[INFO] [stdout] 102 | |             )))),
[INFO] [stdout]     | |_____________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout]  97 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |                                            ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 100 | /             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 101 | |                 RefCell::new(checker),
[INFO] [stdout] 102 | |             )))),
[INFO] [stdout]     | |________________^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:113:21
[INFO] [stdout]     |
[INFO] [stdout] 113 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 114 | |             Point3::new((0., -1000., 0.)),
[INFO] [stdout] 115 | |             1000.,
[INFO] [stdout] 116 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 117 | |                 RefCell::new(pertext),
[INFO] [stdout] 118 | |             )))),
[INFO] [stdout] 119 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-9.rs:38:35
[INFO] [stdout]    |
[INFO] [stdout] 38 |                           world.add(Rc::new(RefCell::new(MovingSphere::new(
[INFO] [stdout]    |  _______________________________---_^
[INFO] [stdout]    | |                               |
[INFO] [stdout]    | |                               arguments to this method are incorrect
[INFO] [stdout] 39 | |                             (center, center2),
[INFO] [stdout] 40 | |                             (0., 1.),
[INFO] [stdout] 41 | |                             0.2,
[INFO] [stdout] 42 | |                             sphere_mat,
[INFO] [stdout] 43 | |                         ))));
[INFO] [stdout]    | |___________________________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<MovingSphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<MovingSphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:123:59
[INFO] [stdout]     |
[INFO] [stdout] 123 |               Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]     |  __________________________________------------------------_^
[INFO] [stdout]     | |                                  |
[INFO] [stdout]     | |                                  arguments to this function are incorrect
[INFO] [stdout] 124 | |                 RefCell::new(pertext),
[INFO] [stdout] 125 | |             )))),
[INFO] [stdout]     | |_____________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-9.rs:48:81
[INFO] [stdout]    |
[INFO] [stdout] 48 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                                                        -----------              ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<dyn Material>>`
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<dyn Material>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:97:21
[INFO] [stdout]     |
[INFO] [stdout]  97 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout]  98 | |             Point3::new((0., 10., 0.)),
[INFO] [stdout]  99 | |             10.,
[INFO] [stdout] 100 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 101 | |                 RefCell::new(checker),
[INFO] [stdout] 102 | |             )))),
[INFO] [stdout] 103 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 3 arguments but 2 arguments were supplied
[INFO] [stdout]    --> examples/chapter-4.rs:161:34
[INFO] [stdout]     |
[INFO] [stdout] 161 |                 pixel_color += r.ray_color(&world, MAX_DEPTH as isize);
[INFO] [stdout]     |                                  ^^^^^^^^^ ------ argument #1 of type `&Vec3` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/ray.rs:34:12
[INFO] [stdout]     |
[INFO] [stdout]  34 |     pub fn ray_color(&self, background: &Color, world: &dyn Hittable, depth: isize) -> Color {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 161 |                 pixel_color += r.ray_color(/* &Vec3 */, &world, MAX_DEPTH as isize);
[INFO] [stdout]     |                                            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |                                            ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 123 | /             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 124 | |                 RefCell::new(pertext),
[INFO] [stdout] 125 | |             )))),
[INFO] [stdout]     | |________________^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-9.rs:48:35
[INFO] [stdout]    |
[INFO] [stdout] 48 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                               --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:118:59
[INFO] [stdout]     |
[INFO] [stdout] 118 |               Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]     |  __________________________________------------------------_^
[INFO] [stdout]     | |                                  |
[INFO] [stdout]     | |                                  arguments to this function are incorrect
[INFO] [stdout] 119 | |                 RefCell::new(pertext),
[INFO] [stdout] 120 | |             )))),
[INFO] [stdout]     | |_____________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |                                            ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 118 | /             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 119 | |                 RefCell::new(pertext),
[INFO] [stdout] 120 | |             )))),
[INFO] [stdout]     | |________________^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-9.rs:51:81
[INFO] [stdout]    |
[INFO] [stdout] 51 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                                                        -----------              ^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<dyn Material>>`
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<dyn Material>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:120:21
[INFO] [stdout]     |
[INFO] [stdout] 120 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 121 | |             Point3::new((0., 2., 0.)),
[INFO] [stdout] 122 | |             2.,
[INFO] [stdout] 123 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 124 | |                 RefCell::new(pertext),
[INFO] [stdout] 125 | |             )))),
[INFO] [stdout] 126 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-9.rs:51:35
[INFO] [stdout]    |
[INFO] [stdout] 51 |                         world.add(Rc::new(RefCell::new(Sphere::new(center, 0.2, sphere_mat))));
[INFO] [stdout]    |                               --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-9.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 60 |             mat_1,
[INFO] [stdout]    |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Dielectric>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Dielectric>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 116 | |             Point3::new((0., -1000., 0.)),
[INFO] [stdout] 117 | |             1000.,
[INFO] [stdout] 118 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 119 | |                 RefCell::new(pertext),
[INFO] [stdout] 120 | |             )))),
[INFO] [stdout] 121 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:125:59
[INFO] [stdout]     |
[INFO] [stdout] 125 |               Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]     |  __________________________________------------------------_^
[INFO] [stdout]     | |                                  |
[INFO] [stdout]     | |                                  arguments to this function are incorrect
[INFO] [stdout] 126 | |                 RefCell::new(pertext),
[INFO] [stdout] 127 | |             )))),
[INFO] [stdout]     | |_____________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |                                            ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 125 | /             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 126 | |                 RefCell::new(pertext),
[INFO] [stdout] 127 | |             )))),
[INFO] [stdout]     | |________________^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:139:54
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let earth_surface = Lambertian::with_texture(Rc::new(RefCell::new(earth_texture)));
[INFO] [stdout]     |                             ------------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Texture>`, found `Rc<RefCell<ImageTexture>>`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<ImageTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-9.rs:57:19
[INFO] [stdout]    |
[INFO] [stdout] 57 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 58 | |             Point3::new((0., 1., 0.)),
[INFO] [stdout] 59 | |             1.,
[INFO] [stdout] 60 | |             mat_1,
[INFO] [stdout] 61 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-9.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 66 |             mat_2,
[INFO] [stdout]    |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:122:21
[INFO] [stdout]     |
[INFO] [stdout] 122 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 123 | |             Point3::new((0., 2., 0.)),
[INFO] [stdout] 124 | |             2.,
[INFO] [stdout] 125 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 126 | |                 RefCell::new(pertext),
[INFO] [stdout] 127 | |             )))),
[INFO] [stdout] 128 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-9.rs:63:19
[INFO] [stdout]    |
[INFO] [stdout] 63 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 64 | |             Point3::new((-4., 1., 0.)),
[INFO] [stdout] 65 | |             1.,
[INFO] [stdout] 66 | |             mat_2,
[INFO] [stdout] 67 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:141:54
[INFO] [stdout]     |
[INFO] [stdout] 141 |         let earth_surface = Lambertian::with_texture(Rc::new(RefCell::new(earth_texture)));
[INFO] [stdout]     |                             ------------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Texture>`, found `Rc<RefCell<ImageTexture>>`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<ImageTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-9.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |         world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                        ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 72 |             mat_3,
[INFO] [stdout]    |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Metal>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Metal>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |         let globe = Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |                                          ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 143 |             Rc::new(RefCell::new(earth_surface)),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let globe = Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |                                          ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 145 |             Rc::new(RefCell::new(earth_surface)),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-9.rs:69:19
[INFO] [stdout]    |
[INFO] [stdout] 69 |           world.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _______________---_^
[INFO] [stdout]    | |               |
[INFO] [stdout]    | |               arguments to this method are incorrect
[INFO] [stdout] 70 | |             Point3::new((4., 1., 0.)),
[INFO] [stdout] 71 | |             1.,
[INFO] [stdout] 72 | |             mat_3,
[INFO] [stdout] 73 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:145:44
[INFO] [stdout]     |
[INFO] [stdout] 145 |         HittableList::new_with_first_value(globe)
[INFO] [stdout]     |         ---------------------------------- ^^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:54:12
[INFO] [stdout]     |
[INFO] [stdout]  54 |     pub fn new_with_first_value(object: Arc<dyn Hittable>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-9.rs:91:59
[INFO] [stdout]    |
[INFO] [stdout] 91 |               Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]    |  __________________________________------------------------_^
[INFO] [stdout]    | |                                  |
[INFO] [stdout]    | |                                  arguments to this function are incorrect
[INFO] [stdout] 92 | |                 RefCell::new(checker.clone()),
[INFO] [stdout] 93 | |             )))),
[INFO] [stdout]    | |_____________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:162:59
[INFO] [stdout]     |
[INFO] [stdout] 162 |               Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]     |  __________________________________------------------------_^
[INFO] [stdout]     | |                                  |
[INFO] [stdout]     | |                                  arguments to this function are incorrect
[INFO] [stdout] 163 | |                 RefCell::new(pertext),
[INFO] [stdout] 164 | |             )))),
[INFO] [stdout]     | |_____________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-9.rs:91:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |                                            ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 91 | /             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 92 | |                 RefCell::new(checker.clone()),
[INFO] [stdout] 93 | |             )))),
[INFO] [stdout]    | |________________^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:162:13
[INFO] [stdout]     |
[INFO] [stdout] 159 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |                                            ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 162 | /             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 163 | |                 RefCell::new(pertext),
[INFO] [stdout] 164 | |             )))),
[INFO] [stdout]     | |________________^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> examples/chapter-9.rs:88:21
[INFO] [stdout]    |
[INFO] [stdout] 88 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]    |  _________________---_^
[INFO] [stdout]    | |                 |
[INFO] [stdout]    | |                 arguments to this method are incorrect
[INFO] [stdout] 89 | |             Point3::new((0., -10., 0.)),
[INFO] [stdout] 90 | |             10.,
[INFO] [stdout] 91 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 92 | |                 RefCell::new(checker.clone()),
[INFO] [stdout] 93 | |             )))),
[INFO] [stdout] 94 | |         ))));
[INFO] [stdout]    | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]               found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:98:59
[INFO] [stdout]     |
[INFO] [stdout]  98 |               Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]     |  __________________________________------------------------_^
[INFO] [stdout]     | |                                  |
[INFO] [stdout]     | |                                  arguments to this function are incorrect
[INFO] [stdout]  99 | |                 RefCell::new(checker),
[INFO] [stdout] 100 | |             )))),
[INFO] [stdout]     | |_____________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<CheckerTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:98:13
[INFO] [stdout]     |
[INFO] [stdout]  95 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |                                            ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout]  98 | /             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]  99 | |                 RefCell::new(checker),
[INFO] [stdout] 100 | |             )))),
[INFO] [stdout]     | |________________^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:159:21
[INFO] [stdout]     |
[INFO] [stdout] 159 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 160 | |             Point3::new((0., -1000., 0.)),
[INFO] [stdout] 161 | |             1000.,
[INFO] [stdout] 162 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 163 | |                 RefCell::new(pertext),
[INFO] [stdout] 164 | |             )))),
[INFO] [stdout] 165 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:147:44
[INFO] [stdout]     |
[INFO] [stdout] 147 |         HittableList::new_with_first_value(globe)
[INFO] [stdout]     |         ---------------------------------- ^^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:54:12
[INFO] [stdout]     |
[INFO] [stdout]  54 |     pub fn new_with_first_value(object: Arc<dyn Hittable>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:95:21
[INFO] [stdout]     |
[INFO] [stdout]  95 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout]  96 | |             Point3::new((0., 10., 0.)),
[INFO] [stdout]  97 | |             10.,
[INFO] [stdout]  98 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]  99 | |                 RefCell::new(checker),
[INFO] [stdout] 100 | |             )))),
[INFO] [stdout] 101 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ray_tracing_the_next_week` (example "chapter-4") due to 22 previous errors; 1 warning emitted
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:116:59
[INFO] [stdout]     |
[INFO] [stdout] 116 |               Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]     |  __________________________________------------------------_^
[INFO] [stdout]     | |                                  |
[INFO] [stdout]     | |                                  arguments to this function are incorrect
[INFO] [stdout] 117 | |                 RefCell::new(pertext),
[INFO] [stdout] 118 | |             )))),
[INFO] [stdout]     | |_____________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |                                            ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 116 | /             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 117 | |                 RefCell::new(pertext),
[INFO] [stdout] 118 | |             )))),
[INFO] [stdout]     | |________________^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:169:59
[INFO] [stdout]     |
[INFO] [stdout] 169 |               Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]     |  __________________________________------------------------_^
[INFO] [stdout]     | |                                  |
[INFO] [stdout]     | |                                  arguments to this function are incorrect
[INFO] [stdout] 170 | |                 RefCell::new(pertext),
[INFO] [stdout] 171 | |             )))),
[INFO] [stdout]     | |_____________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:113:21
[INFO] [stdout]     |
[INFO] [stdout] 113 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 114 | |             Point3::new((0., -1000., 0.)),
[INFO] [stdout] 115 | |             1000.,
[INFO] [stdout] 116 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 117 | |                 RefCell::new(pertext),
[INFO] [stdout] 118 | |             )))),
[INFO] [stdout] 119 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |                                            ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 169 | /             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 170 | |                 RefCell::new(pertext),
[INFO] [stdout] 171 | |             )))),
[INFO] [stdout]     | |________________^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:123:59
[INFO] [stdout]     |
[INFO] [stdout] 123 |               Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]     |  __________________________________------------------------_^
[INFO] [stdout]     | |                                  |
[INFO] [stdout]     | |                                  arguments to this function are incorrect
[INFO] [stdout] 124 | |                 RefCell::new(pertext),
[INFO] [stdout] 125 | |             )))),
[INFO] [stdout]     | |_____________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |                                            ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 123 | /             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 124 | |                 RefCell::new(pertext),
[INFO] [stdout] 125 | |             )))),
[INFO] [stdout]     | |________________^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:166:21
[INFO] [stdout]     |
[INFO] [stdout] 166 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 167 | |             Point3::new((0., 2., 0.)),
[INFO] [stdout] 168 | |             2.,
[INFO] [stdout] 169 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 170 | |                 RefCell::new(pertext),
[INFO] [stdout] 171 | |             )))),
[INFO] [stdout] 172 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:120:21
[INFO] [stdout]     |
[INFO] [stdout] 120 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 121 | |             Point3::new((0., 2., 0.)),
[INFO] [stdout] 122 | |             2.,
[INFO] [stdout] 123 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 124 | |                 RefCell::new(pertext),
[INFO] [stdout] 125 | |             )))),
[INFO] [stdout] 126 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:175:64
[INFO] [stdout]     |
[INFO] [stdout] 175 |           let difflight = Rc::new(RefCell::new(DiffuseLight::new(Rc::new(RefCell::new(
[INFO] [stdout]     |  ______________________________________________-----------------_^
[INFO] [stdout]     | |                                              |
[INFO] [stdout]     | |                                              arguments to this function are incorrect
[INFO] [stdout] 176 | |             earth_texture,
[INFO] [stdout] 177 | |         )))));
[INFO] [stdout]     | |__________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<ImageTexture>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<ImageTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn new(emit: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         objects.add(Rc::new(RefCell::new(XYPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 179 |             difflight,
[INFO] [stdout]     |             ^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<DiffuseLight>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<DiffuseLight>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:11:12
[INFO] [stdout]     |
[INFO] [stdout]  11 |     pub fn new(mp: Arc<dyn Material>, x: (f64, f64), y: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:139:54
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let earth_surface = Lambertian::with_texture(Rc::new(RefCell::new(earth_texture)));
[INFO] [stdout]     |                             ------------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Texture>`, found `Rc<RefCell<ImageTexture>>`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<ImageTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |         let globe = Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |                                          ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 143 |             Rc::new(RefCell::new(earth_surface)),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:178:21
[INFO] [stdout]     |
[INFO] [stdout] 178 |           objects.add(Rc::new(RefCell::new(XYPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 179 | |             difflight,
[INFO] [stdout] 180 | |             (3., 5.),
[INFO] [stdout] 181 | |             (1., 3.),
[INFO] [stdout] 182 | |             -2.,
[INFO] [stdout] 183 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<XYPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<XYPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:145:44
[INFO] [stdout]     |
[INFO] [stdout] 145 |         HittableList::new_with_first_value(globe)
[INFO] [stdout]     |         ---------------------------------- ^^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:54:12
[INFO] [stdout]     |
[INFO] [stdout]  54 |     pub fn new_with_first_value(object: Arc<dyn Hittable>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:162:59
[INFO] [stdout]     |
[INFO] [stdout] 162 |               Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]     |  __________________________________------------------------_^
[INFO] [stdout]     | |                                  |
[INFO] [stdout]     | |                                  arguments to this function are incorrect
[INFO] [stdout] 163 | |                 RefCell::new(pertext),
[INFO] [stdout] 164 | |             )))),
[INFO] [stdout]     | |_____________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:211:54
[INFO] [stdout]     |
[INFO] [stdout] 211 |         let earth_surface = Lambertian::with_texture(Rc::new(RefCell::new(earth_texture)));
[INFO] [stdout]     |                             ------------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Texture>`, found `Rc<RefCell<ImageTexture>>`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<ImageTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:162:13
[INFO] [stdout]     |
[INFO] [stdout] 159 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |                                            ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 162 | /             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 163 | |                 RefCell::new(pertext),
[INFO] [stdout] 164 | |             )))),
[INFO] [stdout]     | |________________^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 213 |         objects.add(Rc::new(RefCell::new(YZPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 214 |             green,
[INFO] [stdout]     |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn new(mp: Arc<dyn Material>, y: (f64, f64), z: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:159:21
[INFO] [stdout]     |
[INFO] [stdout] 159 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 160 | |             Point3::new((0., -1000., 0.)),
[INFO] [stdout] 161 | |             1000.,
[INFO] [stdout] 162 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 163 | |                 RefCell::new(pertext),
[INFO] [stdout] 164 | |             )))),
[INFO] [stdout] 165 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:213:21
[INFO] [stdout]     |
[INFO] [stdout] 213 |           objects.add(Rc::new(RefCell::new(YZPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 214 | |             green,
[INFO] [stdout] 215 | |             (0., 555.),
[INFO] [stdout] 216 | |             (0., 555.),
[INFO] [stdout] 217 | |             555.,
[INFO] [stdout] 218 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<YZPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<YZPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:169:59
[INFO] [stdout]     |
[INFO] [stdout] 169 |               Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]     |  __________________________________------------------------_^
[INFO] [stdout]     | |                                  |
[INFO] [stdout]     | |                                  arguments to this function are incorrect
[INFO] [stdout] 170 | |                 RefCell::new(pertext),
[INFO] [stdout] 171 | |             )))),
[INFO] [stdout]     | |_____________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:220:13
[INFO] [stdout]     |
[INFO] [stdout] 219 |         objects.add(Rc::new(RefCell::new(YZPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 220 |             red,
[INFO] [stdout]     |             ^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn new(mp: Arc<dyn Material>, y: (f64, f64), z: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |                                            ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 169 | /             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 170 | |                 RefCell::new(pertext),
[INFO] [stdout] 171 | |             )))),
[INFO] [stdout]     | |________________^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:166:21
[INFO] [stdout]     |
[INFO] [stdout] 166 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 167 | |             Point3::new((0., 2., 0.)),
[INFO] [stdout] 168 | |             2.,
[INFO] [stdout] 169 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 170 | |                 RefCell::new(pertext),
[INFO] [stdout] 171 | |             )))),
[INFO] [stdout] 172 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:219:21
[INFO] [stdout]     |
[INFO] [stdout] 219 |           objects.add(Rc::new(RefCell::new(YZPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 220 | |             red,
[INFO] [stdout] 221 | |             (0., 555.),
[INFO] [stdout] 222 | |             (0., 555.),
[INFO] [stdout] 223 | |             0.,
[INFO] [stdout] 224 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<YZPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<YZPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 225 |         objects.add(Rc::new(RefCell::new(XZPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 226 |             light,
[INFO] [stdout]     |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<DiffuseLight>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<DiffuseLight>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:66:12
[INFO] [stdout]     |
[INFO] [stdout]  66 |     pub fn new(mp: Arc<dyn Material>, x: (f64, f64), z: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:175:64
[INFO] [stdout]     |
[INFO] [stdout] 175 |           let difflight = Rc::new(RefCell::new(DiffuseLight::new(Rc::new(RefCell::new(
[INFO] [stdout]     |  ______________________________________________-----------------_^
[INFO] [stdout]     | |                                              |
[INFO] [stdout]     | |                                              arguments to this function are incorrect
[INFO] [stdout] 176 | |             earth_texture,
[INFO] [stdout] 177 | |         )))));
[INFO] [stdout]     | |__________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<ImageTexture>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<ImageTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn new(emit: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:225:21
[INFO] [stdout]     |
[INFO] [stdout] 225 |           objects.add(Rc::new(RefCell::new(XZPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 226 | |             light,
[INFO] [stdout] 227 | |             (213., 343.),
[INFO] [stdout] 228 | |             (227., 332.),
[INFO] [stdout] 229 | |             554.,
[INFO] [stdout] 230 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<XZPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<XZPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         objects.add(Rc::new(RefCell::new(XYPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 179 |             difflight,
[INFO] [stdout]     |             ^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<DiffuseLight>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<DiffuseLight>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:11:12
[INFO] [stdout]     |
[INFO] [stdout]  11 |     pub fn new(mp: Arc<dyn Material>, x: (f64, f64), y: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:232:13
[INFO] [stdout]     |
[INFO] [stdout] 231 |         objects.add(Rc::new(RefCell::new(XZPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 232 |             white.clone(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:66:12
[INFO] [stdout]     |
[INFO] [stdout]  66 |     pub fn new(mp: Arc<dyn Material>, x: (f64, f64), z: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:178:21
[INFO] [stdout]     |
[INFO] [stdout] 178 |           objects.add(Rc::new(RefCell::new(XYPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 179 | |             difflight,
[INFO] [stdout] 180 | |             (3., 5.),
[INFO] [stdout] 181 | |             (1., 3.),
[INFO] [stdout] 182 | |             -2.,
[INFO] [stdout] 183 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<XYPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<XYPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:231:21
[INFO] [stdout]     |
[INFO] [stdout] 231 |           objects.add(Rc::new(RefCell::new(XZPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 232 | |             white.clone(),
[INFO] [stdout] 233 | |             (0., 555.),
[INFO] [stdout] 234 | |             (0., 555.),
[INFO] [stdout] 235 | |             0.,
[INFO] [stdout] 236 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<XZPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<XZPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:210:13
[INFO] [stdout]     |
[INFO] [stdout] 209 |         objects.add(Rc::new(RefCell::new(YZPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 210 |             green,
[INFO] [stdout]     |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn new(mp: Arc<dyn Material>, y: (f64, f64), z: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:238:13
[INFO] [stdout]     |
[INFO] [stdout] 237 |         objects.add(Rc::new(RefCell::new(XZPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 238 |             white.clone(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:66:12
[INFO] [stdout]     |
[INFO] [stdout]  66 |     pub fn new(mp: Arc<dyn Material>, x: (f64, f64), z: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:209:21
[INFO] [stdout]     |
[INFO] [stdout] 209 |           objects.add(Rc::new(RefCell::new(YZPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 210 | |             green,
[INFO] [stdout] 211 | |             (0., 555.),
[INFO] [stdout] 212 | |             (0., 555.),
[INFO] [stdout] 213 | |             555.,
[INFO] [stdout] 214 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<YZPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<YZPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:237:21
[INFO] [stdout]     |
[INFO] [stdout] 237 |           objects.add(Rc::new(RefCell::new(XZPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 238 | |             white.clone(),
[INFO] [stdout] 239 | |             (0., 555.),
[INFO] [stdout] 240 | |             (0., 555.),
[INFO] [stdout] 241 | |             555.,
[INFO] [stdout] 242 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<XZPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<XZPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:216:13
[INFO] [stdout]     |
[INFO] [stdout] 215 |         objects.add(Rc::new(RefCell::new(YZPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 216 |             red,
[INFO] [stdout]     |             ^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn new(mp: Arc<dyn Material>, y: (f64, f64), z: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:244:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |         objects.add(Rc::new(RefCell::new(XYPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 244 |             white.clone(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:11:12
[INFO] [stdout]     |
[INFO] [stdout]  11 |     pub fn new(mp: Arc<dyn Material>, x: (f64, f64), y: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:215:21
[INFO] [stdout]     |
[INFO] [stdout] 215 |           objects.add(Rc::new(RefCell::new(YZPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 216 | |             red,
[INFO] [stdout] 217 | |             (0., 555.),
[INFO] [stdout] 218 | |             (0., 555.),
[INFO] [stdout] 219 | |             0.,
[INFO] [stdout] 220 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<YZPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<YZPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:243:21
[INFO] [stdout]     |
[INFO] [stdout] 243 |           objects.add(Rc::new(RefCell::new(XYPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 244 | |             white.clone(),
[INFO] [stdout] 245 | |             (0., 555.),
[INFO] [stdout] 246 | |             (0., 555.),
[INFO] [stdout] 247 | |             555.,
[INFO] [stdout] 248 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<XYPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<XYPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:222:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |         objects.add(Rc::new(RefCell::new(XZPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 222 |             light,
[INFO] [stdout]     |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<DiffuseLight>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<DiffuseLight>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:66:12
[INFO] [stdout]     |
[INFO] [stdout]  66 |     pub fn new(mp: Arc<dyn Material>, x: (f64, f64), z: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:252:13
[INFO] [stdout]     |
[INFO] [stdout] 249 |         let box2 = Rc::new(RefCell::new(ray_tracing_the_next_week::Box::new(
[INFO] [stdout]     |                                         ----------------------------------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 252 |             white,
[INFO] [stdout]     |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/box.rs:26:12
[INFO] [stdout]     |
[INFO] [stdout]  26 |     pub fn new(min: Point3, max: Point3, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:254:54
[INFO] [stdout]     |
[INFO] [stdout] 254 |         let box2 = Rc::new(RefCell::new(RotateY::new(box2, -18.)));
[INFO] [stdout]     |                                         ------------ ^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Box>>`
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<ray_tracing_the_next_week::Box>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/box.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn new(ptr: Arc<dyn Hittable>, angle: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:221:21
[INFO] [stdout]     |
[INFO] [stdout] 221 |           objects.add(Rc::new(RefCell::new(XZPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 222 | |             light,
[INFO] [stdout] 223 | |             (213., 343.),
[INFO] [stdout] 224 | |             (227., 332.),
[INFO] [stdout] 225 | |             554.,
[INFO] [stdout] 226 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<XZPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<XZPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:258:13
[INFO] [stdout]     |
[INFO] [stdout] 256 |         let box2 = Rc::new(RefCell::new(Translate::new(
[INFO] [stdout]     |                                         -------------- arguments to this function are incorrect
[INFO] [stdout] 257 |             Vec3::new((330., 0., 165.)),
[INFO] [stdout] 258 |             box2,
[INFO] [stdout]     |             ^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<RotateY>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<RotateY>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/box.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn new(offset: Vec3, ptr: Arc<dyn Hittable>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:228:13
[INFO] [stdout]     |
[INFO] [stdout] 227 |         objects.add(Rc::new(RefCell::new(XZPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 228 |             white.clone(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:66:12
[INFO] [stdout]     |
[INFO] [stdout]  66 |     pub fn new(mp: Arc<dyn Material>, x: (f64, f64), z: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-8.rs:260:21
[INFO] [stdout]     |
[INFO] [stdout] 260 |         objects.add(box2);
[INFO] [stdout]     |                 --- ^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Translate>>`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Translate>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:227:21
[INFO] [stdout]     |
[INFO] [stdout] 227 |           objects.add(Rc::new(RefCell::new(XZPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 228 | |             white.clone(),
[INFO] [stdout] 229 | |             (0., 555.),
[INFO] [stdout] 230 | |             (0., 555.),
[INFO] [stdout] 231 | |             0.,
[INFO] [stdout] 232 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<XZPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<XZPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:234:13
[INFO] [stdout]     |
[INFO] [stdout] 233 |         objects.add(Rc::new(RefCell::new(XZPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 234 |             white.clone(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:66:12
[INFO] [stdout]     |
[INFO] [stdout]  66 |     pub fn new(mp: Arc<dyn Material>, x: (f64, f64), z: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:233:21
[INFO] [stdout]     |
[INFO] [stdout] 233 |           objects.add(Rc::new(RefCell::new(XZPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 234 | |             white.clone(),
[INFO] [stdout] 235 | |             (0., 555.),
[INFO] [stdout] 236 | |             (0., 555.),
[INFO] [stdout] 237 | |             555.,
[INFO] [stdout] 238 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<XZPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<XZPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:240:13
[INFO] [stdout]     |
[INFO] [stdout] 239 |         objects.add(Rc::new(RefCell::new(XYPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 240 |             white.clone(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:11:12
[INFO] [stdout]     |
[INFO] [stdout]  11 |     pub fn new(mp: Arc<dyn Material>, x: (f64, f64), y: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:239:21
[INFO] [stdout]     |
[INFO] [stdout] 239 |           objects.add(Rc::new(RefCell::new(XYPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 240 | |             white.clone(),
[INFO] [stdout] 241 | |             (0., 555.),
[INFO] [stdout] 242 | |             (0., 555.),
[INFO] [stdout] 243 | |             555.,
[INFO] [stdout] 244 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<XYPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<XYPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let box2 = Rc::new(RefCell::new(ray_tracing_the_next_week::Box::new(
[INFO] [stdout]     |                                         ----------------------------------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 248 |             white,
[INFO] [stdout]     |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/box.rs:26:12
[INFO] [stdout]     |
[INFO] [stdout]  26 |     pub fn new(min: Point3, max: Point3, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:250:54
[INFO] [stdout]     |
[INFO] [stdout] 250 |         let box2 = Rc::new(RefCell::new(RotateY::new(box2, -18.)));
[INFO] [stdout]     |                                         ------------ ^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Box>>`
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<ray_tracing_the_next_week::Box>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/box.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn new(ptr: Arc<dyn Hittable>, angle: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:254:13
[INFO] [stdout]     |
[INFO] [stdout] 252 |         let box2 = Rc::new(RefCell::new(Translate::new(
[INFO] [stdout]     |                                         -------------- arguments to this function are incorrect
[INFO] [stdout] 253 |             Vec3::new((330., 0., 165.)),
[INFO] [stdout] 254 |             box2,
[INFO] [stdout]     |             ^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<RotateY>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<RotateY>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/box.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn new(offset: Vec3, ptr: Arc<dyn Hittable>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:256:21
[INFO] [stdout]     |
[INFO] [stdout] 256 |         objects.add(box2);
[INFO] [stdout]     |                 --- ^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Translate>>`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Translate>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:164:59
[INFO] [stdout]     |
[INFO] [stdout] 164 |               Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]     |  __________________________________------------------------_^
[INFO] [stdout]     | |                                  |
[INFO] [stdout]     | |                                  arguments to this function are incorrect
[INFO] [stdout] 165 | |                 RefCell::new(pertext),
[INFO] [stdout] 166 | |             )))),
[INFO] [stdout]     | |_____________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:281:13
[INFO] [stdout]     |
[INFO] [stdout] 280 |         objects.add(Rc::new(RefCell::new(YZPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 281 |             green,
[INFO] [stdout]     |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn new(mp: Arc<dyn Material>, y: (f64, f64), z: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `lookfrom` is never read
[INFO] [stdout]    --> examples/chapter-8.rs:292:10
[INFO] [stdout]     |
[INFO] [stdout] 292 |     let (mut lookfrom, mut lookat) = (Point3::default(), Point3::default());
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |                                            ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 164 | /             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 165 | |                 RefCell::new(pertext),
[INFO] [stdout] 166 | |             )))),
[INFO] [stdout]     | |________________^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:280:21
[INFO] [stdout]     |
[INFO] [stdout] 280 |           objects.add(Rc::new(RefCell::new(YZPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 281 | |             green,
[INFO] [stdout] 282 | |             (0., 555.),
[INFO] [stdout] 283 | |             (0., 555.),
[INFO] [stdout] 284 | |             555.,
[INFO] [stdout] 285 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<YZPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<YZPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:287:13
[INFO] [stdout]     |
[INFO] [stdout] 286 |         objects.add(Rc::new(RefCell::new(YZPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 287 |             red,
[INFO] [stdout]     |             ^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn new(mp: Arc<dyn Material>, y: (f64, f64), z: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:286:21
[INFO] [stdout]     |
[INFO] [stdout] 286 |           objects.add(Rc::new(RefCell::new(YZPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 287 | |             red,
[INFO] [stdout] 288 | |             (0., 555.),
[INFO] [stdout] 289 | |             (0., 555.),
[INFO] [stdout] 290 | |             0.,
[INFO] [stdout] 291 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<YZPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<YZPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `lookat` is never read
[INFO] [stdout]    --> examples/chapter-8.rs:292:24
[INFO] [stdout]     |
[INFO] [stdout] 292 |     let (mut lookfrom, mut lookat) = (Point3::default(), Point3::default());
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `vfov` is never read
[INFO] [stdout]    --> examples/chapter-8.rs:293:10
[INFO] [stdout]     |
[INFO] [stdout] 293 |     let (mut vfov, mut aperture) = (40., 0.);
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:293:13
[INFO] [stdout]     |
[INFO] [stdout] 292 |         objects.add(Rc::new(RefCell::new(XZPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 293 |             light,
[INFO] [stdout]     |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<DiffuseLight>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<DiffuseLight>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:66:12
[INFO] [stdout]     |
[INFO] [stdout]  66 |     pub fn new(mp: Arc<dyn Material>, x: (f64, f64), z: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:292:21
[INFO] [stdout]     |
[INFO] [stdout] 292 |           objects.add(Rc::new(RefCell::new(XZPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 293 | |             light,
[INFO] [stdout] 294 | |             (113., 443.),
[INFO] [stdout] 295 | |             (127., 432.),
[INFO] [stdout] 296 | |             554.,
[INFO] [stdout] 297 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<XZPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<XZPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:299:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |         objects.add(Rc::new(RefCell::new(XZPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 299 |             white.clone(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:66:12
[INFO] [stdout]     |
[INFO] [stdout]  66 |     pub fn new(mp: Arc<dyn Material>, x: (f64, f64), z: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:161:21
[INFO] [stdout]     |
[INFO] [stdout] 161 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 162 | |             Point3::new((0., -1000., 0.)),
[INFO] [stdout] 163 | |             1000.,
[INFO] [stdout] 164 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 165 | |                 RefCell::new(pertext),
[INFO] [stdout] 166 | |             )))),
[INFO] [stdout] 167 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:171:59
[INFO] [stdout]     |
[INFO] [stdout] 171 |               Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout]     |  __________________________________------------------------_^
[INFO] [stdout]     | |                                  |
[INFO] [stdout]     | |                                  arguments to this function are incorrect
[INFO] [stdout] 172 | |                 RefCell::new(pertext),
[INFO] [stdout] 173 | |             )))),
[INFO] [stdout]     | |_____________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<NoiseTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  43 |     pub fn with_texture(texture: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:171:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |                                            ----------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 171 | /             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 172 | |                 RefCell::new(pertext),
[INFO] [stdout] 173 | |             )))),
[INFO] [stdout]     | |________________^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/sphere.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  51 |     pub fn new(center: Point3, radius: f64, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:168:21
[INFO] [stdout]     |
[INFO] [stdout] 168 |           objects.add(Rc::new(RefCell::new(Sphere::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 169 | |             Point3::new((0., 2., 0.)),
[INFO] [stdout] 170 | |             2.,
[INFO] [stdout] 171 | |             Rc::new(RefCell::new(Lambertian::with_texture(Rc::new(
[INFO] [stdout] 172 | |                 RefCell::new(pertext),
[INFO] [stdout] 173 | |             )))),
[INFO] [stdout] 174 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Sphere>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Sphere>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:298:21
[INFO] [stdout]     |
[INFO] [stdout] 298 |           objects.add(Rc::new(RefCell::new(XZPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 299 | |             white.clone(),
[INFO] [stdout] 300 | |             (0., 555.),
[INFO] [stdout] 301 | |             (0., 555.),
[INFO] [stdout] 302 | |             555.,
[INFO] [stdout] 303 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<XZPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<XZPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:305:13
[INFO] [stdout]     |
[INFO] [stdout] 304 |         objects.add(Rc::new(RefCell::new(XZPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 305 |             white.clone(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:66:12
[INFO] [stdout]     |
[INFO] [stdout]  66 |     pub fn new(mp: Arc<dyn Material>, x: (f64, f64), z: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:177:64
[INFO] [stdout]     |
[INFO] [stdout] 177 |           let difflight = Rc::new(RefCell::new(DiffuseLight::new(Rc::new(RefCell::new(
[INFO] [stdout]     |  ______________________________________________-----------------_^
[INFO] [stdout]     | |                                              |
[INFO] [stdout]     | |                                              arguments to this function are incorrect
[INFO] [stdout] 178 | |             earth_texture,
[INFO] [stdout] 179 | |         )))));
[INFO] [stdout]     | |__________^ expected `Arc<dyn Texture>`, found `Rc<RefCell<ImageTexture>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Texture + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<ImageTexture>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/material.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn new(emit: Arc<dyn Texture>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:304:21
[INFO] [stdout]     |
[INFO] [stdout] 304 |           objects.add(Rc::new(RefCell::new(XZPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 305 | |             white.clone(),
[INFO] [stdout] 306 | |             (0., 555.),
[INFO] [stdout] 307 | |             (0., 555.),
[INFO] [stdout] 308 | |             0.,
[INFO] [stdout] 309 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<XZPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<XZPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:311:13
[INFO] [stdout]     |
[INFO] [stdout] 310 |         objects.add(Rc::new(RefCell::new(XYPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 311 |             white.clone(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:11:12
[INFO] [stdout]     |
[INFO] [stdout]  11 |     pub fn new(mp: Arc<dyn Material>, x: (f64, f64), y: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:181:13
[INFO] [stdout]     |
[INFO] [stdout] 180 |         objects.add(Rc::new(RefCell::new(XYPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 181 |             difflight,
[INFO] [stdout]     |             ^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<DiffuseLight>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<DiffuseLight>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:11:12
[INFO] [stdout]     |
[INFO] [stdout]  11 |     pub fn new(mp: Arc<dyn Material>, x: (f64, f64), y: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:310:21
[INFO] [stdout]     |
[INFO] [stdout] 310 |           objects.add(Rc::new(RefCell::new(XYPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 311 | |             white.clone(),
[INFO] [stdout] 312 | |             (0., 555.),
[INFO] [stdout] 313 | |             (0., 555.),
[INFO] [stdout] 314 | |             555.,
[INFO] [stdout] 315 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<XYPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<XYPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:319:13
[INFO] [stdout]     |
[INFO] [stdout] 316 |         let box2 = Rc::new(RefCell::new(ray_tracing_the_next_week::Box::new(
[INFO] [stdout]     |                                         ----------------------------------- arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 319 |             white,
[INFO] [stdout]     |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/box.rs:26:12
[INFO] [stdout]     |
[INFO] [stdout]  26 |     pub fn new(min: Point3, max: Point3, mat_ptr: Arc<dyn Material>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:180:21
[INFO] [stdout]     |
[INFO] [stdout] 180 |           objects.add(Rc::new(RefCell::new(XYPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 181 | |             difflight,
[INFO] [stdout] 182 | |             (3., 5.),
[INFO] [stdout] 183 | |             (1., 3.),
[INFO] [stdout] 184 | |             -2.,
[INFO] [stdout] 185 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<XYPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<XYPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:212:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |         objects.add(Rc::new(RefCell::new(YZPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 212 |             green,
[INFO] [stdout]     |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn new(mp: Arc<dyn Material>, y: (f64, f64), z: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:321:54
[INFO] [stdout]     |
[INFO] [stdout] 321 |         let box2 = Rc::new(RefCell::new(RotateY::new(box2, -18.)));
[INFO] [stdout]     |                                         ------------ ^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Box>>`
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<ray_tracing_the_next_week::Box>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/box.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn new(ptr: Arc<dyn Hittable>, angle: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:324:13
[INFO] [stdout]     |
[INFO] [stdout] 322 |         let box2 = Rc::new(RefCell::new(Translate::new(
[INFO] [stdout]     |                                         -------------- arguments to this function are incorrect
[INFO] [stdout] 323 |             Vec3::new((130., 0., 65.)),
[INFO] [stdout] 324 |             box2,
[INFO] [stdout]     |             ^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<RotateY>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<RotateY>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/box.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn new(offset: Vec3, ptr: Arc<dyn Hittable>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:326:69
[INFO] [stdout]     |
[INFO] [stdout] 326 |         objects.add(Rc::new(RefCell::new(ConstantMedium::from_color(box2,Color::new((1.,1.,1.)),0.01))));
[INFO] [stdout]     |                                          -------------------------- ^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<Translate>>`
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Translate>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/constant_medium.rs:80:12
[INFO] [stdout]     |
[INFO] [stdout]  80 |     pub fn from_color(boundary: Arc<dyn Hittable>, c: Color, neg_inv_density: f64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:211:21
[INFO] [stdout]     |
[INFO] [stdout] 211 |           objects.add(Rc::new(RefCell::new(YZPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 212 | |             green,
[INFO] [stdout] 213 | |             (0., 555.),
[INFO] [stdout] 214 | |             (0., 555.),
[INFO] [stdout] 215 | |             555.,
[INFO] [stdout] 216 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<YZPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<YZPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-9.rs:326:21
[INFO] [stdout]     |
[INFO] [stdout] 326 |         objects.add(Rc::new(RefCell::new(ConstantMedium::from_color(box2,Color::new((1.,1.,1.)),0.01))));
[INFO] [stdout]     |                 --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<ConstantMedium>>`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<ConstantMedium>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:218:13
[INFO] [stdout]     |
[INFO] [stdout] 217 |         objects.add(Rc::new(RefCell::new(YZPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 218 |             red,
[INFO] [stdout]     |             ^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn new(mp: Arc<dyn Material>, y: (f64, f64), z: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:217:21
[INFO] [stdout]     |
[INFO] [stdout] 217 |           objects.add(Rc::new(RefCell::new(YZPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 218 | |             red,
[INFO] [stdout] 219 | |             (0., 555.),
[INFO] [stdout] 220 | |             (0., 555.),
[INFO] [stdout] 221 | |             0.,
[INFO] [stdout] 222 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<YZPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<YZPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:224:13
[INFO] [stdout]     |
[INFO] [stdout] 223 |         objects.add(Rc::new(RefCell::new(XZPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 224 |             light,
[INFO] [stdout]     |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<DiffuseLight>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<DiffuseLight>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:66:12
[INFO] [stdout]     |
[INFO] [stdout]  66 |     pub fn new(mp: Arc<dyn Material>, x: (f64, f64), z: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:223:21
[INFO] [stdout]     |
[INFO] [stdout] 223 |           objects.add(Rc::new(RefCell::new(XZPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 224 | |             light,
[INFO] [stdout] 225 | |             (213., 343.),
[INFO] [stdout] 226 | |             (227., 332.),
[INFO] [stdout] 227 | |             554.,
[INFO] [stdout] 228 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<XZPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<XZPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:230:13
[INFO] [stdout]     |
[INFO] [stdout] 229 |         objects.add(Rc::new(RefCell::new(XZPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 230 |             white.clone(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:66:12
[INFO] [stdout]     |
[INFO] [stdout]  66 |     pub fn new(mp: Arc<dyn Material>, x: (f64, f64), z: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:229:21
[INFO] [stdout]     |
[INFO] [stdout] 229 |           objects.add(Rc::new(RefCell::new(XZPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 230 | |             white.clone(),
[INFO] [stdout] 231 | |             (0., 555.),
[INFO] [stdout] 232 | |             (0., 555.),
[INFO] [stdout] 233 | |             0.,
[INFO] [stdout] 234 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<XZPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<XZPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:236:13
[INFO] [stdout]     |
[INFO] [stdout] 235 |         objects.add(Rc::new(RefCell::new(XZPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 236 |             white.clone(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:66:12
[INFO] [stdout]     |
[INFO] [stdout]  66 |     pub fn new(mp: Arc<dyn Material>, x: (f64, f64), z: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ray_tracing_the_next_week` (example "chapter-8") due to 56 previous errors; 4 warnings emitted
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:235:21
[INFO] [stdout]     |
[INFO] [stdout] 235 |           objects.add(Rc::new(RefCell::new(XZPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 236 | |             white.clone(),
[INFO] [stdout] 237 | |             (0., 555.),
[INFO] [stdout] 238 | |             (0., 555.),
[INFO] [stdout] 239 | |             555.,
[INFO] [stdout] 240 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<XZPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<XZPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:242:13
[INFO] [stdout]     |
[INFO] [stdout] 241 |         objects.add(Rc::new(RefCell::new(XYPlane::new(
[INFO] [stdout]     |                                          ------------ arguments to this function are incorrect
[INFO] [stdout] 242 |             white,
[INFO] [stdout]     |             ^^^^^ expected `Arc<dyn Material>`, found `Rc<RefCell<Lambertian>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Material + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<Lambertian>>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable/plane.rs:11:12
[INFO] [stdout]     |
[INFO] [stdout]  11 |     pub fn new(mp: Arc<dyn Material>, x: (f64, f64), y: (f64, f64), k: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `lookfrom` is never read
[INFO] [stdout]    --> examples/chapter-9.rs:358:10
[INFO] [stdout]     |
[INFO] [stdout] 358 |     let (mut lookfrom, mut lookat) = (Point3::default(), Point3::default());
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `lookat` is never read
[INFO] [stdout]    --> examples/chapter-9.rs:358:24
[INFO] [stdout]     |
[INFO] [stdout] 358 |     let (mut lookfrom, mut lookat) = (Point3::default(), Point3::default());
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `vfov` is never read
[INFO] [stdout]    --> examples/chapter-9.rs:359:10
[INFO] [stdout]     |
[INFO] [stdout] 359 |     let (mut vfov, mut aperture) = (40., 0.);
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/chapter-7.rs:241:21
[INFO] [stdout]     |
[INFO] [stdout] 241 |           objects.add(Rc::new(RefCell::new(XYPlane::new(
[INFO] [stdout]     |  _________________---_^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 arguments to this method are incorrect
[INFO] [stdout] 242 | |             white,
[INFO] [stdout] 243 | |             (0., 555.),
[INFO] [stdout] 244 | |             (0., 555.),
[INFO] [stdout] 245 | |             555.,
[INFO] [stdout] 246 | |         ))));
[INFO] [stdout]     | |___________^ expected `Arc<dyn Hittable>`, found `Rc<RefCell<XYPlane>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Arc<(dyn Hittable + 'static)>`
[INFO] [stdout]                found struct `Rc<RefCell<XYPlane>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/hittable.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  59 |     pub fn add(&mut self, object: Arc<dyn Hittable>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ray_tracing_the_next_week` (example "chapter-9") due to 72 previous errors; 4 warnings emitted
[INFO] [stdout] warning: value assigned to `lookfrom` is never read
[INFO] [stdout]    --> examples/chapter-7.rs:278:10
[INFO] [stdout]     |
[INFO] [stdout] 278 |     let (mut lookfrom, mut lookat) = (Point3::default(), Point3::default());
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `lookat` is never read
[INFO] [stdout]    --> examples/chapter-7.rs:278:24
[INFO] [stdout]     |
[INFO] [stdout] 278 |     let (mut lookfrom, mut lookat) = (Point3::default(), Point3::default());
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `vfov` is never read
[INFO] [stdout]    --> examples/chapter-7.rs:279:10
[INFO] [stdout]     |
[INFO] [stdout] 279 |     let (mut vfov, mut aperture) = (40., 0.);
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ray_tracing_the_next_week` (example "chapter-7") due to 51 previous errors; 4 warnings emitted
[INFO] [stdout] warning: field `w` is never read
[INFO] [stdout]   --> src/camera.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct Camera {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     w: Vec3,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Camera` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "13aa03320dcbf7646ec14c4a4081aade6329cf05a1c21b01a1f421d322b1179e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "13aa03320dcbf7646ec14c4a4081aade6329cf05a1c21b01a1f421d322b1179e", kill_on_drop: false }`
[INFO] [stdout] 13aa03320dcbf7646ec14c4a4081aade6329cf05a1c21b01a1f421d322b1179e
