[INFO] cloning repository https://github.com/seenaburns/raytracer [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/seenaburns/raytracer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseenaburns%2Fraytracer", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseenaburns%2Fraytracer'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7da8434a5151bdb590e0763b0fd62ab95fa05cda [INFO] checking seenaburns/raytracer against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseenaburns%2Fraytracer" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/seenaburns/raytracer on toolchain 1f12b9b0fdbe735968ac002792a720f0ba4faca6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/seenaburns/raytracer [INFO] finished tweaking git repo https://github.com/seenaburns/raytracer [INFO] tweaked toml for git repo https://github.com/seenaburns/raytracer written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/seenaburns/raytracer 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" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded redox_syscall v0.1.29 [INFO] [stderr] Downloaded adler32 v1.0.0 [INFO] [stderr] Downloaded png v0.8.0 [INFO] [stderr] Downloaded inflate v0.2.0 [INFO] [stderr] Downloaded scopeguard v0.3.2 [INFO] [stderr] Downloaded jpeg-decoder v0.1.13 [INFO] [stderr] Downloaded num-rational v0.1.39 [INFO] [stderr] Downloaded deflate v0.7.14 [INFO] [stderr] Downloaded either v1.1.0 [INFO] [stderr] Downloaded rayon-core v1.2.1 [INFO] [stderr] Downloaded image v0.14.0 [INFO] [stderr] Downloaded futures v0.1.14 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b3798a6c257513c6f32a81af8f4e25847071f76cc797917ec52d0f13978c82f6 [INFO] running `Command { std: "docker" "start" "-a" "b3798a6c257513c6f32a81af8f4e25847071f76cc797917ec52d0f13978c82f6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b3798a6c257513c6f32a81af8f4e25847071f76cc797917ec52d0f13978c82f6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b3798a6c257513c6f32a81af8f4e25847071f76cc797917ec52d0f13978c82f6", kill_on_drop: false }` [INFO] [stdout] b3798a6c257513c6f32a81af8f4e25847071f76cc797917ec52d0f13978c82f6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 06960b0abc83e5ab52dba625966c50c2a4d9d7846918102949f7602cb32f9e06 [INFO] running `Command { std: "docker" "start" "-a" "06960b0abc83e5ab52dba625966c50c2a4d9d7846918102949f7602cb32f9e06", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Checking libc v0.2.26 [INFO] [stderr] Checking num-traits v0.1.40 [INFO] [stderr] Compiling rayon-core v1.2.1 [INFO] [stderr] Checking scopeguard v0.3.2 [INFO] [stderr] Checking either v1.1.0 [INFO] [stderr] Checking futures v0.1.14 [INFO] [stderr] Checking lazy_static v0.2.8 [INFO] [stderr] Checking byteorder v1.1.0 [INFO] [stderr] Checking adler32 v1.0.0 [INFO] [stderr] Checking inflate v0.2.0 [INFO] [stderr] Checking lzw v0.10.0 [INFO] [stderr] Checking bitflags v0.9.1 [INFO] [stderr] Checking color_quant v1.0.0 [INFO] [stderr] Checking scoped_threadpool v0.1.7 [INFO] [stderr] Checking coco v0.1.1 [INFO] [stderr] Checking gif v0.9.2 [INFO] [stderr] Checking deflate v0.7.14 [INFO] [stderr] Checking rand v0.3.15 [INFO] [stderr] Checking num_cpus v1.6.2 [INFO] [stderr] Checking time v0.1.38 [INFO] [stderr] Checking num-integer v0.1.35 [INFO] [stderr] Checking enum_primitive v0.1.1 [INFO] [stderr] Checking num-iter v0.1.34 [INFO] [stderr] Checking num-rational v0.1.39 [INFO] [stderr] Checking png v0.8.0 [INFO] [stderr] Checking rayon v0.8.2 [INFO] [stderr] Checking jpeg-decoder v0.1.13 [INFO] [stderr] Checking image v0.14.0 [INFO] [stderr] Checking raytracer v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/mod.rs:62:29 [INFO] [stdout] | [INFO] [stdout] 62 | impl Renderable for Vec> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 62 | impl Renderable for Vec> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/mod.rs:14:75 [INFO] [stdout] | [INFO] [stdout] 14 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)>; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &dyn Material)>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:109:26 [INFO] [stdout] | [INFO] [stdout] 109 | pub left: Option>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 109 | pub left: Option>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:110:27 [INFO] [stdout] | [INFO] [stdout] 110 | pub right: Option>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 110 | pub right: Option>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/cube.rs:11:20 [INFO] [stdout] | [INFO] [stdout] 11 | sides: Vec> [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 | sides: Vec> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/hitable.rs:21:26 [INFO] [stdout] | [INFO] [stdout] 21 | impl Hitable for Vec> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 | impl Hitable for Vec> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:16:39 [INFO] [stdout] | [INFO] [stdout] 16 | fn compare_by_axis(&self, other: &BoundingBox, axis: &Axis) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 | fn compare_by_axis(&self, other: &dyn BoundingBox, axis: &Axis) -> Ordering { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:102:35 [INFO] [stdout] | [INFO] [stdout] 102 | fn as_bounding_box(&self) -> &BoundingBox; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 102 | fn as_bounding_box(&self) -> &dyn BoundingBox; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:105:35 [INFO] [stdout] | [INFO] [stdout] 105 | fn as_bounding_box(&self) -> &BoundingBox { self } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 105 | fn as_bounding_box(&self) -> &dyn BoundingBox { self } [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/mod.rs:48:75 [INFO] [stdout] | [INFO] [stdout] 48 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 48 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &dyn Material)> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/mod.rs:63:75 [INFO] [stdout] | [INFO] [stdout] 63 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 63 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &dyn Material)> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/mod.rs:62:29 [INFO] [stdout] | [INFO] [stdout] 62 | impl Renderable for Vec> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 62 | impl Renderable for Vec> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/mod.rs:14:75 [INFO] [stdout] | [INFO] [stdout] 14 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)>; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &dyn Material)>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:109:26 [INFO] [stdout] | [INFO] [stdout] 109 | pub left: Option>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 109 | pub left: Option>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:110:27 [INFO] [stdout] | [INFO] [stdout] 110 | pub right: Option>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 110 | pub right: Option>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/cube.rs:11:20 [INFO] [stdout] | [INFO] [stdout] 11 | sides: Vec> [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 | sides: Vec> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/hitable.rs:21:26 [INFO] [stdout] | [INFO] [stdout] 21 | impl Hitable for Vec> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 | impl Hitable for Vec> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:16:39 [INFO] [stdout] | [INFO] [stdout] 16 | fn compare_by_axis(&self, other: &BoundingBox, axis: &Axis) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 | fn compare_by_axis(&self, other: &dyn BoundingBox, axis: &Axis) -> Ordering { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:102:35 [INFO] [stdout] | [INFO] [stdout] 102 | fn as_bounding_box(&self) -> &BoundingBox; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 102 | fn as_bounding_box(&self) -> &dyn BoundingBox; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:105:35 [INFO] [stdout] | [INFO] [stdout] 105 | fn as_bounding_box(&self) -> &BoundingBox { self } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 105 | fn as_bounding_box(&self) -> &dyn BoundingBox { self } [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/mod.rs:48:75 [INFO] [stdout] | [INFO] [stdout] 48 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 48 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &dyn Material)> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/mod.rs:63:75 [INFO] [stdout] | [INFO] [stdout] 63 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 63 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &dyn Material)> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:158:75 [INFO] [stdout] | [INFO] [stdout] 158 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 158 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &dyn Material)> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:115:38 [INFO] [stdout] | [INFO] [stdout] 115 | pub fn new(mut hitables: Vec>) -> Node { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 115 | pub fn new(mut hitables: Vec>) -> Node { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/shader/material.rs:35:6 [INFO] [stdout] | [INFO] [stdout] 35 | impl Material { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 35 | impl dyn Material { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:40:16 [INFO] [stdout] | [INFO] [stdout] 40 | scene: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 40 | scene: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:114:53 [INFO] [stdout] | [INFO] [stdout] 114 | fn sample(x: i32, y: i32, nx: i32, ny: i32, scene: &Renderable, camera: &Camera, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 114 | fn sample(x: i32, y: i32, nx: i32, ny: i32, scene: &dyn Renderable, camera: &Camera, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:126:27 [INFO] [stdout] | [INFO] [stdout] 126 | fn color(r: &Ray, world: &Renderable, depth: i32, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 126 | fn color(r: &Ray, world: &dyn Renderable, depth: i32, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:157:30 [INFO] [stdout] | [INFO] [stdout] 157 | pub fn random_scene() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 157 | pub fn random_scene() -> Box { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:158:75 [INFO] [stdout] | [INFO] [stdout] 158 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &Material)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 158 | fn hit(&self, r: &Ray, t_min: f64, t_max: f64) -> Option<(HitRecord, &dyn Material)> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:115:38 [INFO] [stdout] | [INFO] [stdout] 115 | pub fn new(mut hitables: Vec>) -> Node { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 115 | pub fn new(mut hitables: Vec>) -> Node { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vec3.rs:38:26 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn map(self, f: &Fn(f64) -> f64) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 | pub fn map(self, f: &dyn Fn(f64) -> f64) -> Vec3 { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vec3.rs:42:39 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn map2(a: Vec3, b: Vec3, f: &Fn(f64, f64) -> f64) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 42 | pub fn map2(a: Vec3, b: Vec3, f: &dyn Fn(f64, f64) -> f64) -> Vec3 { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/shader/material.rs:35:6 [INFO] [stdout] | [INFO] [stdout] 35 | impl Material { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 35 | impl dyn Material { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:40:16 [INFO] [stdout] | [INFO] [stdout] 40 | scene: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 40 | scene: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:114:53 [INFO] [stdout] | [INFO] [stdout] 114 | fn sample(x: i32, y: i32, nx: i32, ny: i32, scene: &Renderable, camera: &Camera, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 114 | fn sample(x: i32, y: i32, nx: i32, ny: i32, scene: &dyn Renderable, camera: &Camera, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:126:27 [INFO] [stdout] | [INFO] [stdout] 126 | fn color(r: &Ray, world: &Renderable, depth: i32, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 126 | fn color(r: &Ray, world: &dyn Renderable, depth: i32, rng: &mut XorShiftRng) -> Vec3 { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:157:30 [INFO] [stdout] | [INFO] [stdout] 157 | pub fn random_scene() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 157 | pub fn random_scene() -> Box { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:118:35 [INFO] [stdout] | [INFO] [stdout] 118 | hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 118 | hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:118:53 [INFO] [stdout] | [INFO] [stdout] 118 | hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 118 | hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vec3.rs:38:26 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn map(self, f: &Fn(f64) -> f64) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 | pub fn map(self, f: &dyn Fn(f64) -> f64) -> Vec3 { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vec3.rs:42:39 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn map2(a: Vec3, b: Vec3, f: &Fn(f64, f64) -> f64) -> Vec3 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 42 | pub fn map2(a: Vec3, b: Vec3, f: &dyn Fn(f64, f64) -> f64) -> Vec3 { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/cube.rs:23:32 [INFO] [stdout] | [INFO] [stdout] 23 | let mut sides: Vec> = Vec::with_capacity(6); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 | let mut sides: Vec> = Vec::with_capacity(6); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/mod.rs:49:71 [INFO] [stdout] | [INFO] [stdout] 49 | self.geometry.hit(r,t_min,t_max).map(|h| (h, &self.shader as &Material)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 49 | self.geometry.hit(r,t_min,t_max).map(|h| (h, &self.shader as &dyn Material)) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/shader/material.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | Material::lambertian(texture::constant_texture(albedo)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 | ::lambertian(texture::constant_texture(albedo)) [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/shader/material.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | Material::diffuse_light(texture::constant_texture(emit)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 61 | ::diffuse_light(texture::constant_texture(emit)) [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/shader/material.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | Material::isotropic(texture::constant_texture(emit)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 71 | ::isotropic(texture::constant_texture(emit)) [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:118:35 [INFO] [stdout] | [INFO] [stdout] 118 | hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 118 | hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:118:53 [INFO] [stdout] | [INFO] [stdout] 118 | hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 118 | hitables.sort_by(|a: &Box, b: &Box| { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:236:17 [INFO] [stdout] | [INFO] [stdout] 236 | Material::lambertian_constant(Vec3::new(0.5,0.5,0.5)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 236 | ::lambertian_constant(Vec3::new(0.5,0.5,0.5)) [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:247:17 [INFO] [stdout] | [INFO] [stdout] 247 | Material::lambertian_constant(Vec3::new(0.5,0.5,0.5)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 247 | ::lambertian_constant(Vec3::new(0.5,0.5,0.5)) [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/bvh.rs:263:17 [INFO] [stdout] | [INFO] [stdout] 263 | Material::lambertian_constant(Vec3::new(0.5,0.5,0.5)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 263 | ::lambertian_constant(Vec3::new(0.5,0.5,0.5)) [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/cube.rs:23:32 [INFO] [stdout] | [INFO] [stdout] 23 | let mut sides: Vec> = Vec::with_capacity(6); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 | let mut sides: Vec> = Vec::with_capacity(6); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:50:34 [INFO] [stdout] | [INFO] [stdout] 50 | let shareable_scene: Arc> = Arc::new(scene); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 | let shareable_scene: Arc> = Arc::new(scene); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/mod.rs:49:71 [INFO] [stdout] | [INFO] [stdout] 49 | self.geometry.hit(r,t_min,t_max).map(|h| (h, &self.shader as &Material)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 49 | self.geometry.hit(r,t_min,t_max).map(|h| (h, &self.shader as &dyn Material)) [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/shader/material.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | Material::lambertian(texture::constant_texture(albedo)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 | ::lambertian(texture::constant_texture(albedo)) [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/shader/material.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | Material::diffuse_light(texture::constant_texture(emit)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 61 | ::diffuse_light(texture::constant_texture(emit)) [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/shader/material.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | Material::isotropic(texture::constant_texture(emit)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 71 | ::isotropic(texture::constant_texture(emit)) [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:158:28 [INFO] [stdout] | [INFO] [stdout] 158 | let mut items: Vec> = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 158 | let mut items: Vec> = Vec::new(); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | Material::lambertian_constant(random::()), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 166 | ::lambertian_constant(random::()), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:175:9 [INFO] [stdout] | [INFO] [stdout] 175 | Material::lambertian_constant(random::() * random::()), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 175 | ::lambertian_constant(random::() * random::()), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:182:9 [INFO] [stdout] | [INFO] [stdout] 182 | Material::metal((random::() + 1.0) * 0.5, random::() * 0.3), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 182 | ::metal((random::() + 1.0) * 0.5, random::() * 0.3), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:189:9 [INFO] [stdout] | [INFO] [stdout] 189 | Material::dielectric(1.5), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 189 | ::dielectric(1.5), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:208:25 [INFO] [stdout] | [INFO] [stdout] 208 | Material::lambertian_constant(random::() * random::()), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 208 | ::lambertian_constant(random::() * random::()), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:217:25 [INFO] [stdout] | [INFO] [stdout] 217 | Material::metal( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 217 | ::metal( [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:230:25 [INFO] [stdout] | [INFO] [stdout] 230 | Material::dielectric(1.5), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 230 | ::dielectric(1.5), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:50:34 [INFO] [stdout] | [INFO] [stdout] 50 | let shareable_scene: Arc> = Arc::new(scene); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 | let shareable_scene: Arc> = Arc::new(scene); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:158:28 [INFO] [stdout] | [INFO] [stdout] 158 | let mut items: Vec> = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 158 | let mut items: Vec> = Vec::new(); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | Material::lambertian_constant(random::()), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 166 | ::lambertian_constant(random::()), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:175:9 [INFO] [stdout] | [INFO] [stdout] 175 | Material::lambertian_constant(random::() * random::()), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 175 | ::lambertian_constant(random::() * random::()), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:182:9 [INFO] [stdout] | [INFO] [stdout] 182 | Material::metal((random::() + 1.0) * 0.5, random::() * 0.3), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 182 | ::metal((random::() + 1.0) * 0.5, random::() * 0.3), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:189:9 [INFO] [stdout] | [INFO] [stdout] 189 | Material::dielectric(1.5), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 189 | ::dielectric(1.5), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:208:25 [INFO] [stdout] | [INFO] [stdout] 208 | Material::lambertian_constant(random::() * random::()), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 208 | ::lambertian_constant(random::() * random::()), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:217:25 [INFO] [stdout] | [INFO] [stdout] 217 | Material::metal( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 217 | ::metal( [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/render.rs:230:25 [INFO] [stdout] | [INFO] [stdout] 230 | Material::dielectric(1.5), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 230 | ::dielectric(1.5), [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/shader/material.rs:123:49 [INFO] [stdout] | [INFO] [stdout] 123 | fn scatter(&self, r: &Ray, hit: &HitRecord, rng: &mut XorShiftRng) -> Option<(Vec3, Ray)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/shader/material.rs:161:51 [INFO] [stdout] | [INFO] [stdout] 161 | fn scatter(&self, _r: &Ray, _hit: &HitRecord, rng: &mut XorShiftRng) -> Option<(Vec3, Ray)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> src/shader/material.rs:179:23 [INFO] [stdout] | [INFO] [stdout] 179 | fn emitted(&self, u: f64, v: f64, p: &Vec3) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/shader/material.rs:179:31 [INFO] [stdout] | [INFO] [stdout] 179 | fn emitted(&self, u: f64, v: f64, p: &Vec3) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/shader/material.rs:179:39 [INFO] [stdout] | [INFO] [stdout] 179 | fn emitted(&self, u: f64, v: f64, p: &Vec3) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/shader/material.rs:123:49 [INFO] [stdout] | [INFO] [stdout] 123 | fn scatter(&self, r: &Ray, hit: &HitRecord, rng: &mut XorShiftRng) -> Option<(Vec3, Ray)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/shader/material.rs:161:51 [INFO] [stdout] | [INFO] [stdout] 161 | fn scatter(&self, _r: &Ray, _hit: &HitRecord, rng: &mut XorShiftRng) -> Option<(Vec3, Ray)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> src/shader/material.rs:179:23 [INFO] [stdout] | [INFO] [stdout] 179 | fn emitted(&self, u: f64, v: f64, p: &Vec3) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/shader/material.rs:179:31 [INFO] [stdout] | [INFO] [stdout] 179 | fn emitted(&self, u: f64, v: f64, p: &Vec3) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/shader/material.rs:179:39 [INFO] [stdout] | [INFO] [stdout] 179 | fn emitted(&self, u: f64, v: f64, p: &Vec3) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/render.rs:106:13 [INFO] [stdout] | [INFO] [stdout] 106 | writeln!(&mut ::std::io::stderr(), "Thread {} done", nth); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> src/util.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | AXIS.into_iter() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 14 | AXIS.iter() [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 14 | IntoIterator::into_iter(AXIS) [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 43 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_perlin_generate` is never used [INFO] [stdout] --> src/shader/texture.rs:254:8 [INFO] [stdout] | [INFO] [stdout] 254 | fn test_perlin_generate() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/render.rs:106:13 [INFO] [stdout] | [INFO] [stdout] 106 | writeln!(&mut ::std::io::stderr(), "Thread {} done", nth); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> src/util.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | AXIS.into_iter() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 14 | AXIS.iter() [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 14 | IntoIterator::into_iter(AXIS) [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 47 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hitable` [INFO] [stdout] --> src/main.rs:7:24 [INFO] [stdout] | [INFO] [stdout] 7 | use raytracer::model::{hitable, Renderable, Model}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `raytracer::model::sphere::Sphere` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use raytracer::model::sphere::Sphere; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `raytracer::model::constant_medium::ConstantMedium` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use raytracer::model::constant_medium::ConstantMedium; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `raytracer::shader::texture` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use raytracer::shader::texture; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:89:28 [INFO] [stdout] | [INFO] [stdout] 89 | let world: Box>> = Box::new(vec![ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 89 | let world: Box>> = Box::new(vec![ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:83:21 [INFO] [stdout] | [INFO] [stdout] 83 | let mat_red = Material::lambertian_constant(Vec3::new(0.65,0.05,0.05)); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 83 | let mat_red = ::lambertian_constant(Vec3::new(0.65,0.05,0.05)); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:84:21 [INFO] [stdout] | [INFO] [stdout] 84 | let mat_green = Material::lambertian_constant(Vec3::new(0.12,0.45,0.15)); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 84 | let mat_green = ::lambertian_constant(Vec3::new(0.12,0.45,0.15)); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:85:21 [INFO] [stdout] | [INFO] [stdout] 85 | let mat_white = Material::lambertian_constant(Vec3::new(0.73,0.73,0.73)); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 85 | let mat_white = ::lambertian_constant(Vec3::new(0.73,0.73,0.73)); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:87:21 [INFO] [stdout] | [INFO] [stdout] 87 | let mat_light = Material::diffuse_light_constant(Vec3::new(5.0,5.0,5.0)); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 87 | let mat_light = ::diffuse_light_constant(Vec3::new(5.0,5.0,5.0)); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:88:21 [INFO] [stdout] | [INFO] [stdout] 88 | let mat_iso = Material::isotropic_constant(Vec3::new(1.0,1.0,1.0)); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 88 | let mat_iso = ::isotropic_constant(Vec3::new(1.0,1.0,1.0)); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hitable` [INFO] [stdout] --> src/main.rs:7:24 [INFO] [stdout] | [INFO] [stdout] 7 | use raytracer::model::{hitable, Renderable, Model}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `raytracer::model::sphere::Sphere` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use raytracer::model::sphere::Sphere; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `raytracer::model::constant_medium::ConstantMedium` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use raytracer::model::constant_medium::ConstantMedium; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `raytracer::shader::texture` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use raytracer::shader::texture; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:89:28 [INFO] [stdout] | [INFO] [stdout] 89 | let world: Box>> = Box::new(vec![ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 89 | let world: Box>> = Box::new(vec![ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:83:21 [INFO] [stdout] | [INFO] [stdout] 83 | let mat_red = Material::lambertian_constant(Vec3::new(0.65,0.05,0.05)); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 83 | let mat_red = ::lambertian_constant(Vec3::new(0.65,0.05,0.05)); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:84:21 [INFO] [stdout] | [INFO] [stdout] 84 | let mat_green = Material::lambertian_constant(Vec3::new(0.12,0.45,0.15)); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 84 | let mat_green = ::lambertian_constant(Vec3::new(0.12,0.45,0.15)); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:85:21 [INFO] [stdout] | [INFO] [stdout] 85 | let mat_white = Material::lambertian_constant(Vec3::new(0.73,0.73,0.73)); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 85 | let mat_white = ::lambertian_constant(Vec3::new(0.73,0.73,0.73)); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:87:21 [INFO] [stdout] | [INFO] [stdout] 87 | let mat_light = Material::diffuse_light_constant(Vec3::new(5.0,5.0,5.0)); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 87 | let mat_light = ::diffuse_light_constant(Vec3::new(5.0,5.0,5.0)); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:88:21 [INFO] [stdout] | [INFO] [stdout] 88 | let mat_iso = Material::isotropic_constant(Vec3::new(1.0,1.0,1.0)); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 88 | let mat_iso = ::isotropic_constant(Vec3::new(1.0,1.0,1.0)); [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mat_iso` [INFO] [stdout] --> src/main.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | let mat_iso = Material::isotropic_constant(Vec3::new(1.0,1.0,1.0)); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mat_iso` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> benches/bench.rs:61:13 [INFO] [stdout] | [INFO] [stdout] 61 | Material::lambertian_constant(Vec3::new(0.5,0.5,0.5)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 61 | ::lambertian_constant(Vec3::new(0.5,0.5,0.5)) [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> benches/bench.rs:74:13 [INFO] [stdout] | [INFO] [stdout] 74 | Material::lambertian_constant(Vec3::new(0.5,0.5,0.5)) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 74 | ::lambertian_constant(Vec3::new(0.5,0.5,0.5)) [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PNG` is never constructed [INFO] [stdout] --> src/main.rs:194:5 [INFO] [stdout] | [INFO] [stdout] 192 | enum Filetype { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] 193 | PPM, [INFO] [stdout] 194 | PNG [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mat_iso` [INFO] [stdout] --> src/main.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | let mat_iso = Material::isotropic_constant(Vec3::new(1.0,1.0,1.0)); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mat_iso` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PNG` is never constructed [INFO] [stdout] --> src/main.rs:194:5 [INFO] [stdout] | [INFO] [stdout] 192 | enum Filetype { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] 193 | PPM, [INFO] [stdout] 194 | PNG [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.74s [INFO] running `Command { std: "docker" "inspect" "06960b0abc83e5ab52dba625966c50c2a4d9d7846918102949f7602cb32f9e06", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "06960b0abc83e5ab52dba625966c50c2a4d9d7846918102949f7602cb32f9e06", kill_on_drop: false }` [INFO] [stdout] 06960b0abc83e5ab52dba625966c50c2a4d9d7846918102949f7602cb32f9e06