[INFO] cloning repository https://github.com/dontpanic92/urender [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dontpanic92/urender" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdontpanic92%2Furender", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdontpanic92%2Furender'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3fd84ca96b75d322503a56288a111b16c18e562f [INFO] testing dontpanic92/urender against beta-2022-04-10 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdontpanic92%2Furender" "/workspace/builds/worker-60/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-60/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/dontpanic92/urender on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/dontpanic92/urender [INFO] finished tweaking git repo https://github.com/dontpanic92/urender [INFO] tweaked toml for git repo https://github.com/dontpanic92/urender written to /workspace/builds/worker-60/source/Cargo.toml [INFO] crate git repo https://github.com/dontpanic92/urender already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-60/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-60/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0563effe275d0645c1db57f2f66b0d2afad7792ccddd2e4e9c98f33255ef4d26 [INFO] running `Command { std: "docker" "start" "-a" "0563effe275d0645c1db57f2f66b0d2afad7792ccddd2e4e9c98f33255ef4d26", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0563effe275d0645c1db57f2f66b0d2afad7792ccddd2e4e9c98f33255ef4d26", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0563effe275d0645c1db57f2f66b0d2afad7792ccddd2e4e9c98f33255ef4d26", kill_on_drop: false }` [INFO] [stdout] 0563effe275d0645c1db57f2f66b0d2afad7792ccddd2e4e9c98f33255ef4d26 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-60/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-60/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 330c7e446a2ef78d5ebcf641b19a2499596c27d2f9cb2de9e110aaa47cc7852e [INFO] running `Command { std: "docker" "start" "-a" "330c7e446a2ef78d5ebcf641b19a2499596c27d2f9cb2de9e110aaa47cc7852e", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling cc v1.0.4 [INFO] [stderr] Compiling libc v0.2.34 [INFO] [stderr] Compiling cfg-if v0.1.2 [INFO] [stderr] Compiling rustc-demangle v0.1.5 [INFO] [stderr] Compiling byteorder v0.3.13 [INFO] [stderr] Compiling bmp v0.1.4 [INFO] [stderr] Compiling encoding_rs v0.7.1 [INFO] [stderr] Compiling memchr v2.0.1 [INFO] [stderr] Compiling rand v0.4.1 [INFO] [stderr] Compiling backtrace-sys v0.1.16 [INFO] [stderr] Compiling backtrace v0.3.5 [INFO] [stderr] Compiling error-chain v0.11.0 [INFO] [stderr] Compiling quick-xml v0.10.1 [INFO] [stderr] Compiling minidom v0.7.0 [INFO] [stderr] Compiling urender v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/geometry/cylinder.rs:45:42 [INFO] [stdout] | [INFO] [stdout] 45 | let b = (v - v.dot(va) * va).dot((deltap - deltap.dot(va) * va)) * 2.; [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 45 - let b = (v - v.dot(va) * va).dot((deltap - deltap.dot(va) * va)) * 2.; [INFO] [stdout] 45 + let b = (v - v.dot(va) * va).dot(deltap - deltap.dot(va) * va) * 2.; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/geometry/aabox.rs:61:77 [INFO] [stdout] | [INFO] [stdout] 61 | ($x.$func() - ray.origin().$func()) / ray.direction().$func(); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 75 | calc_t!(tx_min, tx_max, x); [INFO] [stdout] | -------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `calc_t` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/geometry/aabox.rs:61:77 [INFO] [stdout] | [INFO] [stdout] 61 | ($x.$func() - ray.origin().$func()) / ray.direction().$func(); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 75 | calc_t!(tx_min, tx_max, x); [INFO] [stdout] | -------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `calc_t` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/geometry/aabox.rs:61:77 [INFO] [stdout] | [INFO] [stdout] 61 | ($x.$func() - ray.origin().$func()) / ray.direction().$func(); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 75 | calc_t!(tx_min, tx_max, x); [INFO] [stdout] | -------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `calc_t` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/geometry/aabox.rs:61:77 [INFO] [stdout] | [INFO] [stdout] 61 | ($x.$func() - ray.origin().$func()) / ray.direction().$func(); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 75 | calc_t!(tx_min, tx_max, x); [INFO] [stdout] | -------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `calc_t` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/geometry/aabox.rs:61:77 [INFO] [stdout] | [INFO] [stdout] 61 | ($x.$func() - ray.origin().$func()) / ray.direction().$func(); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 76 | calc_t!(ty_min, ty_max, y); [INFO] [stdout] | -------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `calc_t` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/geometry/aabox.rs:61:77 [INFO] [stdout] | [INFO] [stdout] 61 | ($x.$func() - ray.origin().$func()) / ray.direction().$func(); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 76 | calc_t!(ty_min, ty_max, y); [INFO] [stdout] | -------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `calc_t` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/geometry/aabox.rs:61:77 [INFO] [stdout] | [INFO] [stdout] 61 | ($x.$func() - ray.origin().$func()) / ray.direction().$func(); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 76 | calc_t!(ty_min, ty_max, y); [INFO] [stdout] | -------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `calc_t` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/geometry/aabox.rs:61:77 [INFO] [stdout] | [INFO] [stdout] 61 | ($x.$func() - ray.origin().$func()) / ray.direction().$func(); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 76 | calc_t!(ty_min, ty_max, y); [INFO] [stdout] | -------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `calc_t` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/geometry/aabox.rs:61:77 [INFO] [stdout] | [INFO] [stdout] 61 | ($x.$func() - ray.origin().$func()) / ray.direction().$func(); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 77 | calc_t!(tz_min, tz_max, z); [INFO] [stdout] | -------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `calc_t` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/geometry/aabox.rs:61:77 [INFO] [stdout] | [INFO] [stdout] 61 | ($x.$func() - ray.origin().$func()) / ray.direction().$func(); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 77 | calc_t!(tz_min, tz_max, z); [INFO] [stdout] | -------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `calc_t` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/geometry/aabox.rs:61:77 [INFO] [stdout] | [INFO] [stdout] 61 | ($x.$func() - ray.origin().$func()) / ray.direction().$func(); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 77 | calc_t!(tz_min, tz_max, z); [INFO] [stdout] | -------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `calc_t` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/geometry/aabox.rs:61:77 [INFO] [stdout] | [INFO] [stdout] 61 | ($x.$func() - ray.origin().$func()) / ray.direction().$func(); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 77 | calc_t!(tz_min, tz_max, z); [INFO] [stdout] | -------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `calc_t` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/mod.rs:22:78 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn create_geometry(geometry_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - pub fn create_geometry(geometry_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] 22 + pub fn create_geometry(geometry_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/mod.rs:22:100 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn create_geometry(geometry_type: &str, dict: &Dictionary) -> Result, 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - pub fn create_geometry(geometry_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] 22 + pub fn create_geometry(geometry_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/mod.rs:22:52 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn create_geometry(geometry_type: &str, dict: &Dictionary) -> Result, 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - pub fn create_geometry(geometry_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] 22 + pub fn create_geometry(geometry_type: &str, dict: &dyn Dictionary) -> Result, Box> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/camera/mod.rs:15:46 [INFO] [stdout] | [INFO] [stdout] 15 | fn render(&self, world: &World, tracer: &Tracer) -> Image; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 15 - fn render(&self, world: &World, tracer: &Tracer) -> Image; [INFO] [stdout] 15 + fn render(&self, world: &World, tracer: &dyn Tracer) -> Image; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/light/mod.rs:22:72 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn create_light(light_type: &str, dict: &Dictionary) -> Result, 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - pub fn create_light(light_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] 22 + pub fn create_light(light_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/light/mod.rs:22:84 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn create_light(light_type: &str, dict: &Dictionary) -> Result, 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - pub fn create_light(light_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] 22 + pub fn create_light(light_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/light/mod.rs:22:46 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn create_light(light_type: &str, dict: &Dictionary) -> Result, 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - pub fn create_light(light_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] 22 + pub fn create_light(light_type: &str, dict: &dyn Dictionary) -> Result, Box> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/material/mod.rs:16:78 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn create_material(material_type: &str, dict: &Dictionary) -> Result, 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 - pub fn create_material(material_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] 16 + pub fn create_material(material_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/material/mod.rs:16:93 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn create_material(material_type: &str, dict: &Dictionary) -> Result, 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 - pub fn create_material(material_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] 16 + pub fn create_material(material_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/material/mod.rs:16:52 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn create_material(material_type: &str, dict: &Dictionary) -> Result, 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 - pub fn create_material(material_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] 16 + pub fn create_material(material_type: &str, dict: &dyn Dictionary) -> Result, Box> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world/world.rs:17:22 [INFO] [stdout] | [INFO] [stdout] 17 | objects: 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 17 - objects: Vec>, [INFO] [stdout] 17 + objects: Vec>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world/world.rs:18:21 [INFO] [stdout] | [INFO] [stdout] 18 | lights: 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 18 - lights: Vec>, [INFO] [stdout] 18 + lights: Vec>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world/world.rs:19:36 [INFO] [stdout] | [INFO] [stdout] 19 | materials: HashMap>, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 - materials: HashMap>, [INFO] [stdout] 19 + materials: HashMap>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world/world.rs:20:24 [INFO] [stdout] | [INFO] [stdout] 20 | ambient_light: 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 20 - ambient_light: Box, [INFO] [stdout] 20 + ambient_light: Box, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world/world.rs:21:17 [INFO] [stdout] | [INFO] [stdout] 21 | tracer: 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - tracer: Box, [INFO] [stdout] 21 + tracer: Box, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/camera/pinhole_camera.rs:15:18 [INFO] [stdout] | [INFO] [stdout] 15 | sampler: 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 15 - sampler: Box [INFO] [stdout] 15 + sampler: Box [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/light/ambient_occluder.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 8 | sampler: 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 8 - sampler: Box, [INFO] [stdout] 8 + sampler: Box, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world/world.rs:44:46 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn add_object(&mut self, object: 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 44 - pub fn add_object(&mut self, object: Box) { [INFO] [stdout] 44 + pub fn add_object(&mut self, object: Box) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world/world.rs:48:44 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn add_light(&mut self, light: 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 48 - pub fn add_light(&mut self, light: Box) { [INFO] [stdout] 48 + pub fn add_light(&mut self, light: Box) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world/world.rs:74:41 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn ambient_light(&self) -> &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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 74 - pub fn ambient_light(&self) -> &Box { [INFO] [stdout] 74 + pub fn ambient_light(&self) -> &Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world/world.rs:78:38 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn lights(&self) -> &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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 78 - pub fn lights(&self) -> &Vec> { [INFO] [stdout] 78 + pub fn lights(&self) -> &Vec> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world/world.rs:86:56 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn material(&self, material_name: &String) -> &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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 86 - pub fn material(&self, material_name: &String) -> &Material { [INFO] [stdout] 86 + pub fn material(&self, material_name: &String) -> &dyn Material { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/utility/rgb_color.rs:21:56 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn from_hex(hex: &str) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - pub fn from_hex(hex: &str) -> Result> { [INFO] [stdout] 21 + pub fn from_hex(hex: &str) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/utility/error.rs:20:32 [INFO] [stdout] | [INFO] [stdout] 20 | fn cause(&self) -> Option<&StdError> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 20 - fn cause(&self) -> Option<&StdError> { [INFO] [stdout] 20 + fn cause(&self) -> Option<&dyn StdError> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/sphere.rs:19:67 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn new_from_dict(dict: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 - pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] 19 + pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/sphere.rs:19:33 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn new_from_dict(dict: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 - pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] 19 + pub fn new_from_dict(dict: &dyn Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/plane.rs:19:66 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn new_from_dict(dict: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 - pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] 19 + pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/plane.rs:19:33 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn new_from_dict(dict: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 - pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] 19 + pub fn new_from_dict(dict: &dyn Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/cylinder.rs:21:69 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new_from_dict(dict: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] 21 + pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/cylinder.rs:21:33 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new_from_dict(dict: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] 21 + pub fn new_from_dict(dict: &dyn Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/disk.rs:21:65 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new_from_dict(dict: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] 21 + pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/disk.rs:21:33 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new_from_dict(dict: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] 21 + pub fn new_from_dict(dict: &dyn Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/aabox.rs:26:66 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn new_from_dict(dict: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 - pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] 26 + pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/aabox.rs:26:33 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn new_from_dict(dict: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 - pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] 26 + pub fn new_from_dict(dict: &dyn Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/camera/pinhole_camera.rs:23:74 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new_from_dict(dict: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 - pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] 23 + pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/camera/pinhole_camera.rs:23:33 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new_from_dict(dict: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 - pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] 23 + pub fn new_from_dict(dict: &dyn Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/camera/pinhole_camera.rs:38:46 [INFO] [stdout] | [INFO] [stdout] 38 | fn render(&self, world: &World, tracer: &Tracer) -> Image { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 - fn render(&self, world: &World, tracer: &Tracer) -> Image { [INFO] [stdout] 38 + fn render(&self, world: &World, tracer: &dyn Tracer) -> Image { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/camera/orthographic_camera.rs:25:46 [INFO] [stdout] | [INFO] [stdout] 25 | fn render(&self, world: &World, tracer: &Tracer) -> Image { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 25 - fn render(&self, world: &World, tracer: &Tracer) -> Image { [INFO] [stdout] 25 + fn render(&self, world: &World, tracer: &dyn Tracer) -> Image { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/light/directional_light.rs:15:76 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn new_from_dict(map: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 15 - pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] 15 + pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/light/directional_light.rs:15:32 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn new_from_dict(map: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 15 - pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] 15 + pub fn new_from_dict(map: &dyn Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/light/ambient_light.rs:14:72 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn new_from_dict(map: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 - pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] 14 + pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/light/ambient_light.rs:14:32 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn new_from_dict(map: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 - pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] 14 + pub fn new_from_dict(map: &dyn Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/light/ambient_occluder.rs:17:75 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new_from_dict(map: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 17 - pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] 17 + pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/light/ambient_occluder.rs:17:32 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new_from_dict(map: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 17 - pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] 17 + pub fn new_from_dict(map: &dyn Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/light/point_light.rs:19:70 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn new_from_dict(map: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 - pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] 19 + pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/light/point_light.rs:19:32 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn new_from_dict(map: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 - pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] 19 + pub fn new_from_dict(map: &dyn Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/material/matte.rs:17:65 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new_from_dict(map: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 17 - pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] 17 + pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/material/matte.rs:17:32 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new_from_dict(map: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 17 - pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] 17 + pub fn new_from_dict(map: &dyn Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/material/phong.rs:17:65 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new_from_dict(map: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 17 - pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] 17 + pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/material/phong.rs:17:32 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new_from_dict(map: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 17 - pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] 17 + pub fn new_from_dict(map: &dyn Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/utility/error.rs:11:32 [INFO] [stdout] | [INFO] [stdout] 11 | fmt::Display::fmt(self.description(), f) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/utility/error.rs:36:32 [INFO] [stdout] | [INFO] [stdout] 36 | fmt::Display::fmt(self.description(), f) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/utility/error.rs:43:57 [INFO] [stdout] | [INFO] [stdout] 43 | &URenderError::GenericError(ref err) => err.description() [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `tracer` [INFO] [stdout] --> src/world/world.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | tracer: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/world/world.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn new() -> World { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `add_object` [INFO] [stdout] --> src/world/world.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn add_object(&mut self, object: Box) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `add_light` [INFO] [stdout] --> src/world/world.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn add_light(&mut self, light: Box) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `RED` [INFO] [stdout] --> src/utility/rgb_color.rs:117:1 [INFO] [stdout] | [INFO] [stdout] 117 | pub const RED: RGBColor = RGBColor { r: 1., g: 0., b: 0. }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `GREEN` [INFO] [stdout] --> src/utility/rgb_color.rs:118:1 [INFO] [stdout] | [INFO] [stdout] 118 | pub const GREEN: RGBColor = RGBColor { r: 0., g: 1., b: 0. }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `BLUE` [INFO] [stdout] --> src/utility/rgb_color.rs:119:1 [INFO] [stdout] | [INFO] [stdout] 119 | pub const BLUE: RGBColor = RGBColor { r: 0., g: 0., b: 1. }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `GRAY` [INFO] [stdout] --> src/utility/rgb_color.rs:120:1 [INFO] [stdout] | [INFO] [stdout] 120 | pub const GRAY: RGBColor = RGBColor { r: 0.5, g: 0.5, b: 0.5 }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `WHITE` [INFO] [stdout] --> src/utility/rgb_color.rs:121:1 [INFO] [stdout] | [INFO] [stdout] 121 | pub const WHITE: RGBColor = RGBColor { r: 1., g: 1., b: 1. }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `GenericError` [INFO] [stdout] --> src/utility/error.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | GenericError(GenericError), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `URenderError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/utility/error.rs:29:10 [INFO] [stdout] | [INFO] [stdout] 29 | #[derive(Debug, Clone)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `gamma` [INFO] [stdout] --> src/camera/view_plane.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | gamma: f64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `inv_gamma` [INFO] [stdout] --> src/camera/view_plane.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | inv_gamma: f64 [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/camera/view_plane.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn new() -> ViewPlane { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_hres` [INFO] [stdout] --> src/camera/view_plane.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn set_hres(&mut self, hres: u32) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_vres` [INFO] [stdout] --> src/camera/view_plane.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn set_vres(&mut self, vres: u32) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_pixel_size` [INFO] [stdout] --> src/camera/view_plane.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn set_pixel_size(&mut self, pixel_size: f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_gamma` [INFO] [stdout] --> src/camera/view_plane.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn set_gamma(&mut self, gamma: f64) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `gamma` [INFO] [stdout] --> src/camera/view_plane.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn gamma(&self) -> f64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `inv_gamma` [INFO] [stdout] --> src/camera/view_plane.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn inv_gamma(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/camera/orthographic_camera.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn new() -> OrthographicCamera [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `view_plane` [INFO] [stdout] --> src/camera/orthographic_camera.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn view_plane(&self) -> &ViewPlane { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/sampler/random_sampler.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn new(sample_num: i32) -> RandomSampler { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/sampler/regular_sampler.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn new(row: i32, col: i32) -> RegularSampler { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/sampler/jittered_sampler.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn new(row: i32, col: i32) -> JitteredSampler { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/sampler/nrooks_sampler.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn new(sample_num: i32) -> NRooksSampler { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 91 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 47s [INFO] running `Command { std: "docker" "inspect" "330c7e446a2ef78d5ebcf641b19a2499596c27d2f9cb2de9e110aaa47cc7852e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "330c7e446a2ef78d5ebcf641b19a2499596c27d2f9cb2de9e110aaa47cc7852e", kill_on_drop: false }` [INFO] [stdout] 330c7e446a2ef78d5ebcf641b19a2499596c27d2f9cb2de9e110aaa47cc7852e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-60/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-60/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2d8eb07fb8661b793e0c7b246313e15c9c7fb549c8124912d79be52d3a696092 [INFO] running `Command { std: "docker" "start" "-a" "2d8eb07fb8661b793e0c7b246313e15c9c7fb549c8124912d79be52d3a696092", kill_on_drop: false }` [INFO] [stderr] Compiling urender v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D` [INFO] [stdout] --> src/utility/test.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | let v = Vector3D(1, 2, 3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }` [INFO] [stdout] | [INFO] [stdout] ::: src/utility/vector3d.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / pub struct Vector3D { [INFO] [stdout] 6 | | x: f64, [INFO] [stdout] 7 | | y: f64, [INFO] [stdout] 8 | | z: f64 [INFO] [stdout] 9 | | } [INFO] [stdout] | |_- `Vector3D` defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D` [INFO] [stdout] --> src/utility/test.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | let v2 = Vector3D(0, 0, 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }` [INFO] [stdout] | [INFO] [stdout] ::: src/utility/vector3d.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / pub struct Vector3D { [INFO] [stdout] 6 | | x: f64, [INFO] [stdout] 7 | | y: f64, [INFO] [stdout] 8 | | z: f64 [INFO] [stdout] 9 | | } [INFO] [stdout] | |_- `Vector3D` defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D` [INFO] [stdout] --> src/utility/test.rs:7:23 [INFO] [stdout] | [INFO] [stdout] 7 | assert_eq!(v * 3, Vector3D(3, 6, 9)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }` [INFO] [stdout] | [INFO] [stdout] ::: src/utility/vector3d.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / pub struct Vector3D { [INFO] [stdout] 6 | | x: f64, [INFO] [stdout] 7 | | y: f64, [INFO] [stdout] 8 | | z: f64 [INFO] [stdout] 9 | | } [INFO] [stdout] | |_- `Vector3D` defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D` [INFO] [stdout] --> src/utility/test.rs:8:23 [INFO] [stdout] | [INFO] [stdout] 8 | assert_eq!(v * 0, Vector3D(0, 0, 0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }` [INFO] [stdout] | [INFO] [stdout] ::: src/utility/vector3d.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / pub struct Vector3D { [INFO] [stdout] 6 | | x: f64, [INFO] [stdout] 7 | | y: f64, [INFO] [stdout] 8 | | z: f64 [INFO] [stdout] 9 | | } [INFO] [stdout] | |_- `Vector3D` defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D` [INFO] [stdout] --> src/utility/test.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | assert_eq!(3 * v2, Vector3D(0, 0, 0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }` [INFO] [stdout] | [INFO] [stdout] ::: src/utility/vector3d.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / pub struct Vector3D { [INFO] [stdout] 6 | | x: f64, [INFO] [stdout] 7 | | y: f64, [INFO] [stdout] 8 | | z: f64 [INFO] [stdout] 9 | | } [INFO] [stdout] | |_- `Vector3D` defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D` [INFO] [stdout] --> src/utility/test.rs:14:16 [INFO] [stdout] | [INFO] [stdout] 14 | assert_eq!(Vector3D(1, 2, 3).dot(Vector3D(4, 5, 6)), 32.); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }` [INFO] [stdout] | [INFO] [stdout] ::: src/utility/vector3d.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / pub struct Vector3D { [INFO] [stdout] 6 | | x: f64, [INFO] [stdout] 7 | | y: f64, [INFO] [stdout] 8 | | z: f64 [INFO] [stdout] 9 | | } [INFO] [stdout] | |_- `Vector3D` defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D` [INFO] [stdout] --> src/utility/test.rs:14:38 [INFO] [stdout] | [INFO] [stdout] 14 | assert_eq!(Vector3D(1, 2, 3).dot(Vector3D(4, 5, 6)), 32.); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }` [INFO] [stdout] | [INFO] [stdout] ::: src/utility/vector3d.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / pub struct Vector3D { [INFO] [stdout] 6 | | x: f64, [INFO] [stdout] 7 | | y: f64, [INFO] [stdout] 8 | | z: f64 [INFO] [stdout] 9 | | } [INFO] [stdout] | |_- `Vector3D` defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D` [INFO] [stdout] --> src/utility/test.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 15 | assert_eq!(Vector3D(0, 0, 0).dot(Vector3D(4, 5, 6)), 0.); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }` [INFO] [stdout] | [INFO] [stdout] ::: src/utility/vector3d.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / pub struct Vector3D { [INFO] [stdout] 6 | | x: f64, [INFO] [stdout] 7 | | y: f64, [INFO] [stdout] 8 | | z: f64 [INFO] [stdout] 9 | | } [INFO] [stdout] | |_- `Vector3D` defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D` [INFO] [stdout] --> src/utility/test.rs:15:38 [INFO] [stdout] | [INFO] [stdout] 15 | assert_eq!(Vector3D(0, 0, 0).dot(Vector3D(4, 5, 6)), 0.); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }` [INFO] [stdout] | [INFO] [stdout] ::: src/utility/vector3d.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / pub struct Vector3D { [INFO] [stdout] 6 | | x: f64, [INFO] [stdout] 7 | | y: f64, [INFO] [stdout] 8 | | z: f64 [INFO] [stdout] 9 | | } [INFO] [stdout] | |_- `Vector3D` defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D` [INFO] [stdout] --> src/utility/test.rs:20:16 [INFO] [stdout] | [INFO] [stdout] 20 | assert_eq!(Vector3D(1, 2, 3).cross(Vector3D(4, 5, 6)), Vector3D(-3, 6, -3)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }` [INFO] [stdout] | [INFO] [stdout] ::: src/utility/vector3d.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / pub struct Vector3D { [INFO] [stdout] 6 | | x: f64, [INFO] [stdout] 7 | | y: f64, [INFO] [stdout] 8 | | z: f64 [INFO] [stdout] 9 | | } [INFO] [stdout] | |_- `Vector3D` defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D` [INFO] [stdout] --> src/utility/test.rs:20:40 [INFO] [stdout] | [INFO] [stdout] 20 | assert_eq!(Vector3D(1, 2, 3).cross(Vector3D(4, 5, 6)), Vector3D(-3, 6, -3)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }` [INFO] [stdout] | [INFO] [stdout] ::: src/utility/vector3d.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / pub struct Vector3D { [INFO] [stdout] 6 | | x: f64, [INFO] [stdout] 7 | | y: f64, [INFO] [stdout] 8 | | z: f64 [INFO] [stdout] 9 | | } [INFO] [stdout] | |_- `Vector3D` defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D` [INFO] [stdout] --> src/utility/test.rs:20:60 [INFO] [stdout] | [INFO] [stdout] 20 | assert_eq!(Vector3D(1, 2, 3).cross(Vector3D(4, 5, 6)), Vector3D(-3, 6, -3)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }` [INFO] [stdout] | [INFO] [stdout] ::: src/utility/vector3d.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / pub struct Vector3D { [INFO] [stdout] 6 | | x: f64, [INFO] [stdout] 7 | | y: f64, [INFO] [stdout] 8 | | z: f64 [INFO] [stdout] 9 | | } [INFO] [stdout] | |_- `Vector3D` defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D` [INFO] [stdout] --> src/utility/test.rs:21:16 [INFO] [stdout] | [INFO] [stdout] 21 | assert_eq!(Vector3D(0, 0, 0).cross(Vector3D(4, 5, 6)), Vector3D(0, 0, 0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }` [INFO] [stdout] | [INFO] [stdout] ::: src/utility/vector3d.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / pub struct Vector3D { [INFO] [stdout] 6 | | x: f64, [INFO] [stdout] 7 | | y: f64, [INFO] [stdout] 8 | | z: f64 [INFO] [stdout] 9 | | } [INFO] [stdout] | |_- `Vector3D` defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D` [INFO] [stdout] --> src/utility/test.rs:21:40 [INFO] [stdout] | [INFO] [stdout] 21 | assert_eq!(Vector3D(0, 0, 0).cross(Vector3D(4, 5, 6)), Vector3D(0, 0, 0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }` [INFO] [stdout] | [INFO] [stdout] ::: src/utility/vector3d.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / pub struct Vector3D { [INFO] [stdout] 6 | | x: f64, [INFO] [stdout] 7 | | y: f64, [INFO] [stdout] 8 | | z: f64 [INFO] [stdout] 9 | | } [INFO] [stdout] | |_- `Vector3D` defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D` [INFO] [stdout] --> src/utility/test.rs:21:60 [INFO] [stdout] | [INFO] [stdout] 21 | assert_eq!(Vector3D(0, 0, 0).cross(Vector3D(4, 5, 6)), Vector3D(0, 0, 0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }` [INFO] [stdout] | [INFO] [stdout] ::: src/utility/vector3d.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / pub struct Vector3D { [INFO] [stdout] 6 | | x: f64, [INFO] [stdout] 7 | | y: f64, [INFO] [stdout] 8 | | z: f64 [INFO] [stdout] 9 | | } [INFO] [stdout] | |_- `Vector3D` defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Point3D` in this scope [INFO] [stdout] --> src/utility/test.rs:26:16 [INFO] [stdout] | [INFO] [stdout] 26 | assert_eq!(Point3D(1, 2, 3) + Vector3D(4, 5, 6), Point3D(5, 7, 9)); [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D` [INFO] [stdout] --> src/utility/test.rs:26:35 [INFO] [stdout] | [INFO] [stdout] 26 | assert_eq!(Point3D(1, 2, 3) + Vector3D(4, 5, 6), Point3D(5, 7, 9)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }` [INFO] [stdout] | [INFO] [stdout] ::: src/utility/vector3d.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / pub struct Vector3D { [INFO] [stdout] 6 | | x: f64, [INFO] [stdout] 7 | | y: f64, [INFO] [stdout] 8 | | z: f64 [INFO] [stdout] 9 | | } [INFO] [stdout] | |_- `Vector3D` defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Point3D` in this scope [INFO] [stdout] --> src/utility/test.rs:26:54 [INFO] [stdout] | [INFO] [stdout] 26 | assert_eq!(Point3D(1, 2, 3) + Vector3D(4, 5, 6), Point3D(5, 7, 9)); [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Point3D` in this scope [INFO] [stdout] --> src/utility/test.rs:31:16 [INFO] [stdout] | [INFO] [stdout] 31 | assert_eq!(Point3D(1, 2, 3) - Point3D(4, 5, 6), Vector3D(-3, -3, -3)); [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Point3D` in this scope [INFO] [stdout] --> src/utility/test.rs:31:35 [INFO] [stdout] | [INFO] [stdout] 31 | assert_eq!(Point3D(1, 2, 3) - Point3D(4, 5, 6), Vector3D(-3, -3, -3)); [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D` [INFO] [stdout] --> src/utility/test.rs:31:53 [INFO] [stdout] | [INFO] [stdout] 31 | assert_eq!(Point3D(1, 2, 3) - Point3D(4, 5, 6), Vector3D(-3, -3, -3)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }` [INFO] [stdout] | [INFO] [stdout] ::: src/utility/vector3d.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / pub struct Vector3D { [INFO] [stdout] 6 | | x: f64, [INFO] [stdout] 7 | | y: f64, [INFO] [stdout] 8 | | z: f64 [INFO] [stdout] 9 | | } [INFO] [stdout] | |_- `Vector3D` defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/geometry/cylinder.rs:45:42 [INFO] [stdout] | [INFO] [stdout] 45 | let b = (v - v.dot(va) * va).dot((deltap - deltap.dot(va) * va)) * 2.; [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 45 - let b = (v - v.dot(va) * va).dot((deltap - deltap.dot(va) * va)) * 2.; [INFO] [stdout] 45 + let b = (v - v.dot(va) * va).dot(deltap - deltap.dot(va) * va) * 2.; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/geometry/aabox.rs:61:77 [INFO] [stdout] | [INFO] [stdout] 61 | ($x.$func() - ray.origin().$func()) / ray.direction().$func(); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 75 | calc_t!(tx_min, tx_max, x); [INFO] [stdout] | -------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `calc_t` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/geometry/aabox.rs:61:77 [INFO] [stdout] | [INFO] [stdout] 61 | ($x.$func() - ray.origin().$func()) / ray.direction().$func(); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 75 | calc_t!(tx_min, tx_max, x); [INFO] [stdout] | -------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `calc_t` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/geometry/aabox.rs:61:77 [INFO] [stdout] | [INFO] [stdout] 61 | ($x.$func() - ray.origin().$func()) / ray.direction().$func(); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 75 | calc_t!(tx_min, tx_max, x); [INFO] [stdout] | -------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `calc_t` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/geometry/aabox.rs:61:77 [INFO] [stdout] | [INFO] [stdout] 61 | ($x.$func() - ray.origin().$func()) / ray.direction().$func(); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 75 | calc_t!(tx_min, tx_max, x); [INFO] [stdout] | -------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `calc_t` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/geometry/aabox.rs:61:77 [INFO] [stdout] | [INFO] [stdout] 61 | ($x.$func() - ray.origin().$func()) / ray.direction().$func(); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 76 | calc_t!(ty_min, ty_max, y); [INFO] [stdout] | -------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `calc_t` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/geometry/aabox.rs:61:77 [INFO] [stdout] | [INFO] [stdout] 61 | ($x.$func() - ray.origin().$func()) / ray.direction().$func(); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 76 | calc_t!(ty_min, ty_max, y); [INFO] [stdout] | -------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `calc_t` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/geometry/aabox.rs:61:77 [INFO] [stdout] | [INFO] [stdout] 61 | ($x.$func() - ray.origin().$func()) / ray.direction().$func(); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 76 | calc_t!(ty_min, ty_max, y); [INFO] [stdout] | -------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `calc_t` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/geometry/aabox.rs:61:77 [INFO] [stdout] | [INFO] [stdout] 61 | ($x.$func() - ray.origin().$func()) / ray.direction().$func(); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 76 | calc_t!(ty_min, ty_max, y); [INFO] [stdout] | -------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `calc_t` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/geometry/aabox.rs:61:77 [INFO] [stdout] | [INFO] [stdout] 61 | ($x.$func() - ray.origin().$func()) / ray.direction().$func(); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 77 | calc_t!(tz_min, tz_max, z); [INFO] [stdout] | -------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `calc_t` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/geometry/aabox.rs:61:77 [INFO] [stdout] | [INFO] [stdout] 61 | ($x.$func() - ray.origin().$func()) / ray.direction().$func(); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 77 | calc_t!(tz_min, tz_max, z); [INFO] [stdout] | -------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `calc_t` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/geometry/aabox.rs:61:77 [INFO] [stdout] | [INFO] [stdout] 61 | ($x.$func() - ray.origin().$func()) / ray.direction().$func(); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 77 | calc_t!(tz_min, tz_max, z); [INFO] [stdout] | -------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `calc_t` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/geometry/aabox.rs:61:77 [INFO] [stdout] | [INFO] [stdout] 61 | ($x.$func() - ray.origin().$func()) / ray.direction().$func(); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 77 | calc_t!(tz_min, tz_max, z); [INFO] [stdout] | -------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `calc_t` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/mod.rs:22:78 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn create_geometry(geometry_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - pub fn create_geometry(geometry_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] 22 + pub fn create_geometry(geometry_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/mod.rs:22:100 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn create_geometry(geometry_type: &str, dict: &Dictionary) -> Result, 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - pub fn create_geometry(geometry_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] 22 + pub fn create_geometry(geometry_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/mod.rs:22:52 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn create_geometry(geometry_type: &str, dict: &Dictionary) -> Result, 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - pub fn create_geometry(geometry_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] 22 + pub fn create_geometry(geometry_type: &str, dict: &dyn Dictionary) -> Result, Box> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/camera/mod.rs:15:46 [INFO] [stdout] | [INFO] [stdout] 15 | fn render(&self, world: &World, tracer: &Tracer) -> Image; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 15 - fn render(&self, world: &World, tracer: &Tracer) -> Image; [INFO] [stdout] 15 + fn render(&self, world: &World, tracer: &dyn Tracer) -> Image; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/light/mod.rs:22:72 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn create_light(light_type: &str, dict: &Dictionary) -> Result, 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - pub fn create_light(light_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] 22 + pub fn create_light(light_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/light/mod.rs:22:84 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn create_light(light_type: &str, dict: &Dictionary) -> Result, 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - pub fn create_light(light_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] 22 + pub fn create_light(light_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/light/mod.rs:22:46 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn create_light(light_type: &str, dict: &Dictionary) -> Result, 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - pub fn create_light(light_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] 22 + pub fn create_light(light_type: &str, dict: &dyn Dictionary) -> Result, Box> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/material/mod.rs:16:78 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn create_material(material_type: &str, dict: &Dictionary) -> Result, 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 - pub fn create_material(material_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] 16 + pub fn create_material(material_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/material/mod.rs:16:93 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn create_material(material_type: &str, dict: &Dictionary) -> Result, 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 - pub fn create_material(material_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] 16 + pub fn create_material(material_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/material/mod.rs:16:52 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn create_material(material_type: &str, dict: &Dictionary) -> Result, 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 - pub fn create_material(material_type: &str, dict: &Dictionary) -> Result, Box> { [INFO] [stdout] 16 + pub fn create_material(material_type: &str, dict: &dyn Dictionary) -> Result, Box> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world/world.rs:17:22 [INFO] [stdout] | [INFO] [stdout] 17 | objects: 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 17 - objects: Vec>, [INFO] [stdout] 17 + objects: Vec>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world/world.rs:18:21 [INFO] [stdout] | [INFO] [stdout] 18 | lights: 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 18 - lights: Vec>, [INFO] [stdout] 18 + lights: Vec>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world/world.rs:19:36 [INFO] [stdout] | [INFO] [stdout] 19 | materials: HashMap>, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 - materials: HashMap>, [INFO] [stdout] 19 + materials: HashMap>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world/world.rs:20:24 [INFO] [stdout] | [INFO] [stdout] 20 | ambient_light: 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 20 - ambient_light: Box, [INFO] [stdout] 20 + ambient_light: Box, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world/world.rs:21:17 [INFO] [stdout] | [INFO] [stdout] 21 | tracer: 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - tracer: Box, [INFO] [stdout] 21 + tracer: Box, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/camera/pinhole_camera.rs:15:18 [INFO] [stdout] | [INFO] [stdout] 15 | sampler: 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 15 - sampler: Box [INFO] [stdout] 15 + sampler: Box [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/light/ambient_occluder.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 8 | sampler: 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 8 - sampler: Box, [INFO] [stdout] 8 + sampler: Box, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world/world.rs:44:46 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn add_object(&mut self, object: 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 44 - pub fn add_object(&mut self, object: Box) { [INFO] [stdout] 44 + pub fn add_object(&mut self, object: Box) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world/world.rs:48:44 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn add_light(&mut self, light: 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 48 - pub fn add_light(&mut self, light: Box) { [INFO] [stdout] 48 + pub fn add_light(&mut self, light: Box) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world/world.rs:74:41 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn ambient_light(&self) -> &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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 74 - pub fn ambient_light(&self) -> &Box { [INFO] [stdout] 74 + pub fn ambient_light(&self) -> &Box { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world/world.rs:78:38 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn lights(&self) -> &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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 78 - pub fn lights(&self) -> &Vec> { [INFO] [stdout] 78 + pub fn lights(&self) -> &Vec> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/world/world.rs:86:56 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn material(&self, material_name: &String) -> &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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 86 - pub fn material(&self, material_name: &String) -> &Material { [INFO] [stdout] 86 + pub fn material(&self, material_name: &String) -> &dyn Material { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/utility/rgb_color.rs:21:56 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn from_hex(hex: &str) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - pub fn from_hex(hex: &str) -> Result> { [INFO] [stdout] 21 + pub fn from_hex(hex: &str) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/utility/error.rs:20:32 [INFO] [stdout] | [INFO] [stdout] 20 | fn cause(&self) -> Option<&StdError> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 20 - fn cause(&self) -> Option<&StdError> { [INFO] [stdout] 20 + fn cause(&self) -> Option<&dyn StdError> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/sphere.rs:19:67 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn new_from_dict(dict: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 - pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] 19 + pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/sphere.rs:19:33 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn new_from_dict(dict: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 - pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] 19 + pub fn new_from_dict(dict: &dyn Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/plane.rs:19:66 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn new_from_dict(dict: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 - pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] 19 + pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/plane.rs:19:33 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn new_from_dict(dict: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 - pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] 19 + pub fn new_from_dict(dict: &dyn Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/cylinder.rs:21:69 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new_from_dict(dict: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] 21 + pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/cylinder.rs:21:33 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new_from_dict(dict: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] 21 + pub fn new_from_dict(dict: &dyn Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/disk.rs:21:65 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new_from_dict(dict: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] 21 + pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/disk.rs:21:33 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new_from_dict(dict: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] 21 + pub fn new_from_dict(dict: &dyn Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/aabox.rs:26:66 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn new_from_dict(dict: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 - pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] 26 + pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/geometry/aabox.rs:26:33 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn new_from_dict(dict: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 - pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] 26 + pub fn new_from_dict(dict: &dyn Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/camera/pinhole_camera.rs:23:74 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new_from_dict(dict: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 - pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] 23 + pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/camera/pinhole_camera.rs:23:33 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new_from_dict(dict: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 - pub fn new_from_dict(dict: &Dictionary) -> Result> { [INFO] [stdout] 23 + pub fn new_from_dict(dict: &dyn Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/camera/pinhole_camera.rs:38:46 [INFO] [stdout] | [INFO] [stdout] 38 | fn render(&self, world: &World, tracer: &Tracer) -> Image { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 - fn render(&self, world: &World, tracer: &Tracer) -> Image { [INFO] [stdout] 38 + fn render(&self, world: &World, tracer: &dyn Tracer) -> Image { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/camera/orthographic_camera.rs:25:46 [INFO] [stdout] | [INFO] [stdout] 25 | fn render(&self, world: &World, tracer: &Tracer) -> Image { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 25 - fn render(&self, world: &World, tracer: &Tracer) -> Image { [INFO] [stdout] 25 + fn render(&self, world: &World, tracer: &dyn Tracer) -> Image { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/light/directional_light.rs:15:76 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn new_from_dict(map: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 15 - pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] 15 + pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/light/directional_light.rs:15:32 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn new_from_dict(map: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 15 - pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] 15 + pub fn new_from_dict(map: &dyn Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/light/ambient_light.rs:14:72 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn new_from_dict(map: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 - pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] 14 + pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/light/ambient_light.rs:14:32 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn new_from_dict(map: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 - pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] 14 + pub fn new_from_dict(map: &dyn Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/light/ambient_occluder.rs:17:75 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new_from_dict(map: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 17 - pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] 17 + pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/light/ambient_occluder.rs:17:32 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new_from_dict(map: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 17 - pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] 17 + pub fn new_from_dict(map: &dyn Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/light/point_light.rs:19:70 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn new_from_dict(map: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 - pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] 19 + pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/light/point_light.rs:19:32 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn new_from_dict(map: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 - pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] 19 + pub fn new_from_dict(map: &dyn Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/material/matte.rs:17:65 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new_from_dict(map: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 17 - pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] 17 + pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/material/matte.rs:17:32 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new_from_dict(map: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 17 - pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] 17 + pub fn new_from_dict(map: &dyn Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/material/phong.rs:17:65 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new_from_dict(map: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 17 - pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] 17 + pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/material/phong.rs:17:32 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new_from_dict(map: &Dictionary) -> Result> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 17 - pub fn new_from_dict(map: &Dictionary) -> Result> { [INFO] [stdout] 17 + pub fn new_from_dict(map: &dyn Dictionary) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/utility/error.rs:11:32 [INFO] [stdout] | [INFO] [stdout] 11 | fmt::Display::fmt(self.description(), f) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/utility/error.rs:36:32 [INFO] [stdout] | [INFO] [stdout] 36 | fmt::Display::fmt(self.description(), f) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/utility/error.rs:43:57 [INFO] [stdout] | [INFO] [stdout] 43 | &URenderError::GenericError(ref err) => err.description() [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 21 previous errors; 66 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0423, E0425. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0423`. [INFO] [stdout] [INFO] [stderr] error: could not compile `urender` due to 22 previous errors; 66 warnings emitted [INFO] running `Command { std: "docker" "inspect" "2d8eb07fb8661b793e0c7b246313e15c9c7fb549c8124912d79be52d3a696092", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2d8eb07fb8661b793e0c7b246313e15c9c7fb549c8124912d79be52d3a696092", kill_on_drop: false }` [INFO] [stdout] 2d8eb07fb8661b793e0c7b246313e15c9c7fb549c8124912d79be52d3a696092