[INFO] cloning repository https://github.com/ehuss/raytracer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ehuss/raytracer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fehuss%2Fraytracer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fehuss%2Fraytracer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9a88a081dab342da88ba7829283f2a28e14c6274
[INFO] testing ehuss/raytracer against beta-2020-10-09 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fehuss%2Fraytracer" "/workspace/builds/worker-13/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-13/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ehuss/raytracer on toolchain beta-2020-10-09
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/ehuss/raytracer
[INFO] finished tweaking git repo https://github.com/ehuss/raytracer
[INFO] tweaked toml for git repo https://github.com/ehuss/raytracer written to /workspace/builds/worker-13/source/Cargo.toml
[INFO] crate git repo https://github.com/ehuss/raytracer already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded minifb v0.9.0
[INFO] [stderr]   Downloaded image v0.12.3
[INFO] [stderr]   Downloaded derive-new v0.4.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 09d0eb4a20a30fb41e8257d2ea8451a514fa3e808ffb3efcb52bb75f2df737cf
[INFO] running `Command { std: "docker" "start" "-a" "09d0eb4a20a30fb41e8257d2ea8451a514fa3e808ffb3efcb52bb75f2df737cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "09d0eb4a20a30fb41e8257d2ea8451a514fa3e808ffb3efcb52bb75f2df737cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "09d0eb4a20a30fb41e8257d2ea8451a514fa3e808ffb3efcb52bb75f2df737cf", kill_on_drop: false }`
[INFO] [stdout] 09d0eb4a20a30fb41e8257d2ea8451a514fa3e808ffb3efcb52bb75f2df737cf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4be6535ec8295e9a790e95e24fc92282fdd3d7fe9fb955f2d536cc9fda24fe64
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "4be6535ec8295e9a790e95e24fc92282fdd3d7fe9fb955f2d536cc9fda24fe64", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.20
[INFO] [stderr]    Compiling byteorder v1.0.0
[INFO] [stderr]    Compiling adler32 v0.3.0
[INFO] [stderr]    Compiling gcc v0.3.43
[INFO] [stderr]    Compiling quote v0.2.3
[INFO] [stderr]    Compiling unicode-segmentation v1.1.0
[INFO] [stderr]    Compiling vec_map v0.6.0
[INFO] [stderr]    Compiling enum_primitive v0.1.1
[INFO] [stderr]    Compiling num-rational v0.1.35
[INFO] [stderr]    Compiling syn v0.8.7
[INFO] [stderr]    Compiling rand v0.3.15
[INFO] [stderr]    Compiling num_cpus v1.2.1
[INFO] [stderr]    Compiling dylib v0.0.1
[INFO] [stderr]    Compiling term_size v0.2.2
[INFO] [stderr]    Compiling time v0.1.36
[INFO] [stderr]    Compiling deflate v0.7.4
[INFO] [stderr]    Compiling x11-dl v2.2.1
[INFO] [stderr]    Compiling clap v2.20.5
[INFO] [stderr]    Compiling minifb v0.9.0
[INFO] [stderr]    Compiling deque v0.3.1
[INFO] [stderr]    Compiling png v0.6.2
[INFO] [stderr]    Compiling rayon v0.6.0
[INFO] [stderr]    Compiling derive-new v0.4.0
[INFO] [stderr]    Compiling jpeg-decoder v0.1.11
[INFO] [stderr]    Compiling image v0.12.3
[INFO] [stderr]    Compiling raytracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/vec3.rs:260:15
[INFO] [stdout]     |
[INFO] [stdout] 260 |     Vec3::new((v1.y * v2.z - v1.z * v2.y),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/vec3.rs:261:15
[INFO] [stdout]     |
[INFO] [stdout] 261 |               (-(v1.x * v2.z - v1.z * v2.x)),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/vec3.rs:262:15
[INFO] [stdout]     |
[INFO] [stdout] 262 |               (v1.x * v2.y - v1.y * v2.x))
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hitable.rs:21:22
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub material: Rc<Material>,
[INFO] [stdout]    |                      ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hitable.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 45 |     hitable: Box<Hitable>
[INFO] [stdout]    |                  ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hitable.rs:64:18
[INFO] [stdout]    |
[INFO] [stdout] 64 |     hitable: Box<Hitable>,
[INFO] [stdout]    |                  ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hitable.rs:91:18
[INFO] [stdout]    |
[INFO] [stdout] 91 |     hitable: Box<Hitable>,
[INFO] [stdout]    |                  ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hitable.rs:98:29
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn new(hitable: Box<Hitable>, angle: f64) -> RotateY {
[INFO] [stdout]    |                             ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/hitable_list.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 |     list: Vec<Box<Hitable + 'a>>,
[INFO] [stdout]   |                   ^^^^^^^^^^^^ help: use `dyn`: `dyn Hitable + 'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/sphere.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     material: Rc<Material>,
[INFO] [stdout]    |                  ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/sphere.rs:18:53
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(cen: Vec3<f64>, r: f64, material: Rc<Material>) -> Sphere {
[INFO] [stdout]    |                                                     ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/moving_sphere.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 |     material: Rc<Material>,
[INFO] [stdout]    |                  ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/moving_sphere.rs:28:29
[INFO] [stdout]    |
[INFO] [stdout] 28 |                material: Rc<Material>)
[INFO] [stdout]    |                             ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material.rs:45:25
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub pdf: Option<Box<Pdf>>
[INFO] [stdout]    |                         ^^^ help: use `dyn`: `dyn Pdf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |     albedo: Box<Texture>,
[INFO] [stdout]    |                 ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material.rs:78:23
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn new(a: Box<Texture>) -> Lambertian {
[INFO] [stdout]    |                       ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/material.rs:88:26
[INFO] [stdout]    |
[INFO] [stdout] 88 |                -> Option<(ScatterRecord)> {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/material.rs:142:26
[INFO] [stdout]     |
[INFO] [stdout] 142 |                -> Option<(ScatterRecord)> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/material.rs:170:26
[INFO] [stdout]     |
[INFO] [stdout] 170 |                -> Option<(ScatterRecord)> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material.rs:211:15
[INFO] [stdout]     |
[INFO] [stdout] 211 |     emit: Box<Texture>
[INFO] [stdout]     |               ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bvh.rs:51:15
[INFO] [stdout]    |
[INFO] [stdout] 51 |     left: Box<Hitable>,
[INFO] [stdout]    |               ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bvh.rs:52:16
[INFO] [stdout]    |
[INFO] [stdout] 52 |     right: Box<Hitable>,
[INFO] [stdout]    |                ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bvh.rs:59:23
[INFO] [stdout]    |
[INFO] [stdout] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stdout]    |                       ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] ...
[INFO] [stdout] 72 | box_a_compare!(box_x_compare, x);
[INFO] [stdout]    | --------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (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/bvh.rs:59:41
[INFO] [stdout]    |
[INFO] [stdout] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stdout]    |                                         ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] ...
[INFO] [stdout] 72 | box_a_compare!(box_x_compare, x);
[INFO] [stdout]    | --------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (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/bvh.rs:59:23
[INFO] [stdout]    |
[INFO] [stdout] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stdout]    |                       ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] ...
[INFO] [stdout] 73 | box_a_compare!(box_y_compare, y);
[INFO] [stdout]    | --------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (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/bvh.rs:59:41
[INFO] [stdout]    |
[INFO] [stdout] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stdout]    |                                         ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] ...
[INFO] [stdout] 73 | box_a_compare!(box_y_compare, y);
[INFO] [stdout]    | --------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (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/bvh.rs:59:23
[INFO] [stdout]    |
[INFO] [stdout] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stdout]    |                       ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] ...
[INFO] [stdout] 74 | box_a_compare!(box_z_compare, z);
[INFO] [stdout]    | --------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (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/bvh.rs:59:41
[INFO] [stdout]    |
[INFO] [stdout] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stdout]    |                                         ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] ...
[INFO] [stdout] 74 | box_a_compare!(box_z_compare, z);
[INFO] [stdout]    | --------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (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/bvh.rs:79:46
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn new(rng: &mut Rng, mut l: Vec<Box<Hitable>>, time0: f64, time1: f64) -> BVHNode
[INFO] [stdout]    |                                              ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 |     odd: Box<Texture>,
[INFO] [stdout]    |              ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture.rs:35:15
[INFO] [stdout]    |
[INFO] [stdout] 35 |     even: Box<Texture>,
[INFO] [stdout]    |               ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture.rs:39:24
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn new(t0: Box<Texture>, t1: Box<Texture>) -> CheckerTexture {
[INFO] [stdout]    |                        ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture.rs:39:42
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn new(t0: Box<Texture>, t1: Box<Texture>) -> CheckerTexture {
[INFO] [stdout]    |                                          ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/aarect.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 |     material: Rc<Material>
[INFO] [stdout]    |                  ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/aarect.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 50 |     material: Rc<Material>
[INFO] [stdout]    |                  ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/aarect.rs:99:18
[INFO] [stdout]    |
[INFO] [stdout] 99 |     material: Rc<Material>
[INFO] [stdout]    |                  ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hbox.rs:18:59
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(p0: Vec3<f64>, p1: Vec3<f64>, material: Rc<Material>) -> HBox<'a> {
[INFO] [stdout]    |                                                           ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/pdf.rs:63:18
[INFO] [stdout]    |
[INFO] [stdout] 63 |     hitable: &'a Hitable,
[INFO] [stdout]    |                  ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/pdf.rs:77:15
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pdf0: &'a Pdf,
[INFO] [stdout]    |               ^^^ help: use `dyn`: `dyn Pdf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/pdf.rs:78:15
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pdf1: &'b Pdf,
[INFO] [stdout]    |               ^^^ help: use `dyn`: `dyn Pdf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/core.rs:54:81
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn render(scene: &Scene, output_settings: &OutputSettings, output: &mut Box<Output>) -> output::Result<()> {
[INFO] [stdout]    |                                                                                 ^^^^^^ help: use `dyn`: `dyn Output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/core.rs:73:35
[INFO] [stdout]    |
[INFO] [stdout] 73 |                  output: &mut Box<Output>,
[INFO] [stdout]    |                                   ^^^^^^ help: use `dyn`: `dyn Output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/scene.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub world: Box<Hitable>,
[INFO] [stdout]   |                    ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/scene.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub light_shapes: Box<Hitable>,
[INFO] [stdout]   |                           ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/output/error.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type GenericError = Box<std::error::Error>;
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/output/mod.rs:66:75
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn new_output(settings: &OutputSettings, scene: &Scene) -> Result<Box<Output>> {
[INFO] [stdout]    |                                                                           ^^^^^^ help: use `dyn`: `dyn Output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition
[INFO] [stdout]   --> src/lib.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | / macro_rules! perrln {
[INFO] [stdout] 57 | |     ($($arg:tt)*) => ({
[INFO] [stdout] 58 | |         use std::io::{Write, stderr};
[INFO] [stdout] 59 | |         writeln!(&mut stderr(), $($arg)*).ok();
[INFO] [stdout] 60 | |     })
[INFO] [stdout] 61 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/perlin.rs:23:39
[INFO] [stdout]    |
[INFO] [stdout] 23 |         static mut ONCE: sync::Once = sync::ONCE_INIT;
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `Once::new()`
[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/output/error.rs:24:46
[INFO] [stdout]    |
[INFO] [stdout] 24 |         write!(fmt, "Output Error: {}", self.description())
[INFO] [stdout]    |                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 49 warnings emitted
[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/main.rs:311:58
[INFO] [stdout]     |
[INFO] [stdout] 311 |             let desc = format!("Invalid filename: {}", e.description());
[INFO] [stdout]     |                                                          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 41.20s
[INFO] running `Command { std: "docker" "inspect" "4be6535ec8295e9a790e95e24fc92282fdd3d7fe9fb955f2d536cc9fda24fe64", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4be6535ec8295e9a790e95e24fc92282fdd3d7fe9fb955f2d536cc9fda24fe64", kill_on_drop: false }`
[INFO] [stdout] 4be6535ec8295e9a790e95e24fc92282fdd3d7fe9fb955f2d536cc9fda24fe64
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 879391ad789f438e61d617e308042b402e64b73e9083ab530917353ee18ef694
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "879391ad789f438e61d617e308042b402e64b73e9083ab530917353ee18ef694", kill_on_drop: false }`
[INFO] [stderr]    Compiling raytracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/vec3.rs:260:15
[INFO] [stdout]     |
[INFO] [stdout] 260 |     Vec3::new((v1.y * v2.z - v1.z * v2.y),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/vec3.rs:261:15
[INFO] [stdout]     |
[INFO] [stdout] 261 |               (-(v1.x * v2.z - v1.z * v2.x)),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/vec3.rs:262:15
[INFO] [stdout]     |
[INFO] [stdout] 262 |               (v1.x * v2.y - v1.y * v2.x))
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hitable.rs:21:22
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub material: Rc<Material>,
[INFO] [stdout]    |                      ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hitable.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 45 |     hitable: Box<Hitable>
[INFO] [stdout]    |                  ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hitable.rs:64:18
[INFO] [stdout]    |
[INFO] [stdout] 64 |     hitable: Box<Hitable>,
[INFO] [stdout]    |                  ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hitable.rs:91:18
[INFO] [stdout]    |
[INFO] [stdout] 91 |     hitable: Box<Hitable>,
[INFO] [stdout]    |                  ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hitable.rs:98:29
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn new(hitable: Box<Hitable>, angle: f64) -> RotateY {
[INFO] [stdout]    |                             ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/hitable_list.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 |     list: Vec<Box<Hitable + 'a>>,
[INFO] [stdout]   |                   ^^^^^^^^^^^^ help: use `dyn`: `dyn Hitable + 'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/sphere.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     material: Rc<Material>,
[INFO] [stdout]    |                  ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/sphere.rs:18:53
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(cen: Vec3<f64>, r: f64, material: Rc<Material>) -> Sphere {
[INFO] [stdout]    |                                                     ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/moving_sphere.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 |     material: Rc<Material>,
[INFO] [stdout]    |                  ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/moving_sphere.rs:28:29
[INFO] [stdout]    |
[INFO] [stdout] 28 |                material: Rc<Material>)
[INFO] [stdout]    |                             ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material.rs:45:25
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub pdf: Option<Box<Pdf>>
[INFO] [stdout]    |                         ^^^ help: use `dyn`: `dyn Pdf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |     albedo: Box<Texture>,
[INFO] [stdout]    |                 ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material.rs:78:23
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn new(a: Box<Texture>) -> Lambertian {
[INFO] [stdout]    |                       ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/material.rs:88:26
[INFO] [stdout]    |
[INFO] [stdout] 88 |                -> Option<(ScatterRecord)> {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/material.rs:142:26
[INFO] [stdout]     |
[INFO] [stdout] 142 |                -> Option<(ScatterRecord)> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/material.rs:170:26
[INFO] [stdout]     |
[INFO] [stdout] 170 |                -> Option<(ScatterRecord)> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material.rs:211:15
[INFO] [stdout]     |
[INFO] [stdout] 211 |     emit: Box<Texture>
[INFO] [stdout]     |               ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bvh.rs:51:15
[INFO] [stdout]    |
[INFO] [stdout] 51 |     left: Box<Hitable>,
[INFO] [stdout]    |               ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bvh.rs:52:16
[INFO] [stdout]    |
[INFO] [stdout] 52 |     right: Box<Hitable>,
[INFO] [stdout]    |                ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bvh.rs:59:23
[INFO] [stdout]    |
[INFO] [stdout] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stdout]    |                       ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] ...
[INFO] [stdout] 72 | box_a_compare!(box_x_compare, x);
[INFO] [stdout]    | --------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (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/bvh.rs:59:41
[INFO] [stdout]    |
[INFO] [stdout] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stdout]    |                                         ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] ...
[INFO] [stdout] 72 | box_a_compare!(box_x_compare, x);
[INFO] [stdout]    | --------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (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/bvh.rs:59:23
[INFO] [stdout]    |
[INFO] [stdout] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stdout]    |                       ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] ...
[INFO] [stdout] 73 | box_a_compare!(box_y_compare, y);
[INFO] [stdout]    | --------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (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/bvh.rs:59:41
[INFO] [stdout]    |
[INFO] [stdout] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stdout]    |                                         ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] ...
[INFO] [stdout] 73 | box_a_compare!(box_y_compare, y);
[INFO] [stdout]    | --------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (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/bvh.rs:59:23
[INFO] [stdout]    |
[INFO] [stdout] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stdout]    |                       ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] ...
[INFO] [stdout] 74 | box_a_compare!(box_z_compare, z);
[INFO] [stdout]    | --------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (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/bvh.rs:59:41
[INFO] [stdout]    |
[INFO] [stdout] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stdout]    |                                         ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] ...
[INFO] [stdout] 74 | box_a_compare!(box_z_compare, z);
[INFO] [stdout]    | --------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (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/bvh.rs:79:46
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn new(rng: &mut Rng, mut l: Vec<Box<Hitable>>, time0: f64, time1: f64) -> BVHNode
[INFO] [stdout]    |                                              ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 |     odd: Box<Texture>,
[INFO] [stdout]    |              ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture.rs:35:15
[INFO] [stdout]    |
[INFO] [stdout] 35 |     even: Box<Texture>,
[INFO] [stdout]    |               ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture.rs:39:24
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn new(t0: Box<Texture>, t1: Box<Texture>) -> CheckerTexture {
[INFO] [stdout]    |                        ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture.rs:39:42
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn new(t0: Box<Texture>, t1: Box<Texture>) -> CheckerTexture {
[INFO] [stdout]    |                                          ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/aarect.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 |     material: Rc<Material>
[INFO] [stdout]    |                  ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/aarect.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 50 |     material: Rc<Material>
[INFO] [stdout]    |                  ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/aarect.rs:99:18
[INFO] [stdout]    |
[INFO] [stdout] 99 |     material: Rc<Material>
[INFO] [stdout]    |                  ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hbox.rs:18:59
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(p0: Vec3<f64>, p1: Vec3<f64>, material: Rc<Material>) -> HBox<'a> {
[INFO] [stdout]    |                                                           ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/pdf.rs:63:18
[INFO] [stdout]    |
[INFO] [stdout] 63 |     hitable: &'a Hitable,
[INFO] [stdout]    |                  ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/pdf.rs:77:15
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pdf0: &'a Pdf,
[INFO] [stdout]    |               ^^^ help: use `dyn`: `dyn Pdf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/pdf.rs:78:15
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pdf1: &'b Pdf,
[INFO] [stdout]    |               ^^^ help: use `dyn`: `dyn Pdf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/core.rs:54:81
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn render(scene: &Scene, output_settings: &OutputSettings, output: &mut Box<Output>) -> output::Result<()> {
[INFO] [stdout]    |                                                                                 ^^^^^^ help: use `dyn`: `dyn Output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/core.rs:73:35
[INFO] [stdout]    |
[INFO] [stdout] 73 |                  output: &mut Box<Output>,
[INFO] [stdout]    |                                   ^^^^^^ help: use `dyn`: `dyn Output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/scene.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub world: Box<Hitable>,
[INFO] [stdout]   |                    ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/scene.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub light_shapes: Box<Hitable>,
[INFO] [stdout]   |                           ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/output/error.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type GenericError = Box<std::error::Error>;
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/output/mod.rs:66:75
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn new_output(settings: &OutputSettings, scene: &Scene) -> Result<Box<Output>> {
[INFO] [stdout]    |                                                                           ^^^^^^ help: use `dyn`: `dyn Output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition
[INFO] [stdout]   --> src/lib.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | / macro_rules! perrln {
[INFO] [stdout] 57 | |     ($($arg:tt)*) => ({
[INFO] [stdout] 58 | |         use std::io::{Write, stderr};
[INFO] [stdout] 59 | |         writeln!(&mut stderr(), $($arg)*).ok();
[INFO] [stdout] 60 | |     })
[INFO] [stdout] 61 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/perlin.rs:23:39
[INFO] [stdout]    |
[INFO] [stdout] 23 |         static mut ONCE: sync::Once = sync::ONCE_INIT;
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `Once::new()`
[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/output/error.rs:24:46
[INFO] [stdout]    |
[INFO] [stdout] 24 |         write!(fmt, "Output Error: {}", self.description())
[INFO] [stdout]    |                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 49 warnings emitted
[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/main.rs:311:58
[INFO] [stdout]     |
[INFO] [stdout] 311 |             let desc = format!("Invalid filename: {}", e.description());
[INFO] [stdout]     |                                                          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/vec3.rs:260:15
[INFO] [stdout]     |
[INFO] [stdout] 260 |     Vec3::new((v1.y * v2.z - v1.z * v2.y),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/vec3.rs:261:15
[INFO] [stdout]     |
[INFO] [stdout] 261 |               (-(v1.x * v2.z - v1.z * v2.x)),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/vec3.rs:262:15
[INFO] [stdout]     |
[INFO] [stdout] 262 |               (v1.x * v2.y - v1.y * v2.x))
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hitable.rs:21:22
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub material: Rc<Material>,
[INFO] [stdout]    |                      ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hitable.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 45 |     hitable: Box<Hitable>
[INFO] [stdout]    |                  ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hitable.rs:64:18
[INFO] [stdout]    |
[INFO] [stdout] 64 |     hitable: Box<Hitable>,
[INFO] [stdout]    |                  ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hitable.rs:91:18
[INFO] [stdout]    |
[INFO] [stdout] 91 |     hitable: Box<Hitable>,
[INFO] [stdout]    |                  ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hitable.rs:98:29
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn new(hitable: Box<Hitable>, angle: f64) -> RotateY {
[INFO] [stdout]    |                             ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/hitable_list.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 |     list: Vec<Box<Hitable + 'a>>,
[INFO] [stdout]   |                   ^^^^^^^^^^^^ help: use `dyn`: `dyn Hitable + 'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/sphere.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     material: Rc<Material>,
[INFO] [stdout]    |                  ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/sphere.rs:18:53
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(cen: Vec3<f64>, r: f64, material: Rc<Material>) -> Sphere {
[INFO] [stdout]    |                                                     ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/moving_sphere.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 |     material: Rc<Material>,
[INFO] [stdout]    |                  ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/moving_sphere.rs:28:29
[INFO] [stdout]    |
[INFO] [stdout] 28 |                material: Rc<Material>)
[INFO] [stdout]    |                             ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material.rs:45:25
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub pdf: Option<Box<Pdf>>
[INFO] [stdout]    |                         ^^^ help: use `dyn`: `dyn Pdf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |     albedo: Box<Texture>,
[INFO] [stdout]    |                 ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material.rs:78:23
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn new(a: Box<Texture>) -> Lambertian {
[INFO] [stdout]    |                       ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/material.rs:88:26
[INFO] [stdout]    |
[INFO] [stdout] 88 |                -> Option<(ScatterRecord)> {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/material.rs:142:26
[INFO] [stdout]     |
[INFO] [stdout] 142 |                -> Option<(ScatterRecord)> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/material.rs:170:26
[INFO] [stdout]     |
[INFO] [stdout] 170 |                -> Option<(ScatterRecord)> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/material.rs:211:15
[INFO] [stdout]     |
[INFO] [stdout] 211 |     emit: Box<Texture>
[INFO] [stdout]     |               ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bvh.rs:51:15
[INFO] [stdout]    |
[INFO] [stdout] 51 |     left: Box<Hitable>,
[INFO] [stdout]    |               ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bvh.rs:52:16
[INFO] [stdout]    |
[INFO] [stdout] 52 |     right: Box<Hitable>,
[INFO] [stdout]    |                ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bvh.rs:59:23
[INFO] [stdout]    |
[INFO] [stdout] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stdout]    |                       ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] ...
[INFO] [stdout] 72 | box_a_compare!(box_x_compare, x);
[INFO] [stdout]    | --------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (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/bvh.rs:59:41
[INFO] [stdout]    |
[INFO] [stdout] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stdout]    |                                         ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] ...
[INFO] [stdout] 72 | box_a_compare!(box_x_compare, x);
[INFO] [stdout]    | --------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (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/bvh.rs:59:23
[INFO] [stdout]    |
[INFO] [stdout] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stdout]    |                       ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] ...
[INFO] [stdout] 73 | box_a_compare!(box_y_compare, y);
[INFO] [stdout]    | --------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (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/bvh.rs:59:41
[INFO] [stdout]    |
[INFO] [stdout] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stdout]    |                                         ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] ...
[INFO] [stdout] 73 | box_a_compare!(box_y_compare, y);
[INFO] [stdout]    | --------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (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/bvh.rs:59:23
[INFO] [stdout]    |
[INFO] [stdout] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stdout]    |                       ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] ...
[INFO] [stdout] 74 | box_a_compare!(box_z_compare, z);
[INFO] [stdout]    | --------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (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/bvh.rs:59:41
[INFO] [stdout]    |
[INFO] [stdout] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stdout]    |                                         ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] ...
[INFO] [stdout] 74 | box_a_compare!(box_z_compare, z);
[INFO] [stdout]    | --------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (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/bvh.rs:79:46
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn new(rng: &mut Rng, mut l: Vec<Box<Hitable>>, time0: f64, time1: f64) -> BVHNode
[INFO] [stdout]    |                                              ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 |     odd: Box<Texture>,
[INFO] [stdout]    |              ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture.rs:35:15
[INFO] [stdout]    |
[INFO] [stdout] 35 |     even: Box<Texture>,
[INFO] [stdout]    |               ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture.rs:39:24
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn new(t0: Box<Texture>, t1: Box<Texture>) -> CheckerTexture {
[INFO] [stdout]    |                        ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/texture.rs:39:42
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn new(t0: Box<Texture>, t1: Box<Texture>) -> CheckerTexture {
[INFO] [stdout]    |                                          ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/aarect.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 |     material: Rc<Material>
[INFO] [stdout]    |                  ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/aarect.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 50 |     material: Rc<Material>
[INFO] [stdout]    |                  ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/aarect.rs:99:18
[INFO] [stdout]    |
[INFO] [stdout] 99 |     material: Rc<Material>
[INFO] [stdout]    |                  ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hbox.rs:18:59
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(p0: Vec3<f64>, p1: Vec3<f64>, material: Rc<Material>) -> HBox<'a> {
[INFO] [stdout]    |                                                           ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/pdf.rs:63:18
[INFO] [stdout]    |
[INFO] [stdout] 63 |     hitable: &'a Hitable,
[INFO] [stdout]    |                  ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/pdf.rs:77:15
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pdf0: &'a Pdf,
[INFO] [stdout]    |               ^^^ help: use `dyn`: `dyn Pdf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/pdf.rs:78:15
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pdf1: &'b Pdf,
[INFO] [stdout]    |               ^^^ help: use `dyn`: `dyn Pdf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/core.rs:54:81
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn render(scene: &Scene, output_settings: &OutputSettings, output: &mut Box<Output>) -> output::Result<()> {
[INFO] [stdout]    |                                                                                 ^^^^^^ help: use `dyn`: `dyn Output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/core.rs:73:35
[INFO] [stdout]    |
[INFO] [stdout] 73 |                  output: &mut Box<Output>,
[INFO] [stdout]    |                                   ^^^^^^ help: use `dyn`: `dyn Output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/scene.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub world: Box<Hitable>,
[INFO] [stdout]   |                    ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/scene.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub light_shapes: Box<Hitable>,
[INFO] [stdout]   |                           ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/output/error.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type GenericError = Box<std::error::Error>;
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/output/mod.rs:66:75
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn new_output(settings: &OutputSettings, scene: &Scene) -> Result<Box<Output>> {
[INFO] [stdout]    |                                                                           ^^^^^^ help: use `dyn`: `dyn Output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition
[INFO] [stdout]   --> src/lib.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | / macro_rules! perrln {
[INFO] [stdout] 57 | |     ($($arg:tt)*) => ({
[INFO] [stdout] 58 | |         use std::io::{Write, stderr};
[INFO] [stdout] 59 | |         writeln!(&mut stderr(), $($arg)*).ok();
[INFO] [stdout] 60 | |     })
[INFO] [stdout] 61 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/perlin.rs:23:39
[INFO] [stdout]    |
[INFO] [stdout] 23 |         static mut ONCE: sync::Once = sync::ONCE_INIT;
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `Once::new()`
[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/output/error.rs:24:46
[INFO] [stdout]    |
[INFO] [stdout] 24 |         write!(fmt, "Output Error: {}", self.description())
[INFO] [stdout]    |                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 49 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 3.44s
[INFO] running `Command { std: "docker" "inspect" "879391ad789f438e61d617e308042b402e64b73e9083ab530917353ee18ef694", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "879391ad789f438e61d617e308042b402e64b73e9083ab530917353ee18ef694", kill_on_drop: false }`
[INFO] [stdout] 879391ad789f438e61d617e308042b402e64b73e9083ab530917353ee18ef694
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 48fe65784206324cd43dd8611146ab5bba1d4683366c5e253e5c3b1da672169f
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "48fe65784206324cd43dd8611146ab5bba1d4683366c5e253e5c3b1da672169f", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> src/vec3.rs:260:15
[INFO] [stderr]     |
[INFO] [stderr] 260 |     Vec3::new((v1.y * v2.z - v1.z * v2.y),
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> src/vec3.rs:261:15
[INFO] [stderr]     |
[INFO] [stderr] 261 |               (-(v1.x * v2.z - v1.z * v2.x)),
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> src/vec3.rs:262:15
[INFO] [stderr]     |
[INFO] [stderr] 262 |               (v1.x * v2.y - v1.y * v2.x))
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/hitable.rs:21:22
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub material: Rc<Material>,
[INFO] [stderr]    |                      ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/hitable.rs:45:18
[INFO] [stderr]    |
[INFO] [stderr] 45 |     hitable: Box<Hitable>
[INFO] [stderr]    |                  ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/hitable.rs:64:18
[INFO] [stderr]    |
[INFO] [stderr] 64 |     hitable: Box<Hitable>,
[INFO] [stderr]    |                  ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/hitable.rs:91:18
[INFO] [stderr]    |
[INFO] [stderr] 91 |     hitable: Box<Hitable>,
[INFO] [stderr]    |                  ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/hitable.rs:98:29
[INFO] [stderr]    |
[INFO] [stderr] 98 |     pub fn new(hitable: Box<Hitable>, angle: f64) -> RotateY {
[INFO] [stderr]    |                             ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/hitable_list.rs:9:19
[INFO] [stderr]   |
[INFO] [stderr] 9 |     list: Vec<Box<Hitable + 'a>>,
[INFO] [stderr]   |                   ^^^^^^^^^^^^ help: use `dyn`: `dyn Hitable + 'a`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/sphere.rs:14:18
[INFO] [stderr]    |
[INFO] [stderr] 14 |     material: Rc<Material>,
[INFO] [stderr]    |                  ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/sphere.rs:18:53
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub fn new(cen: Vec3<f64>, r: f64, material: Rc<Material>) -> Sphere {
[INFO] [stderr]    |                                                     ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/moving_sphere.rs:19:18
[INFO] [stderr]    |
[INFO] [stderr] 19 |     material: Rc<Material>,
[INFO] [stderr]    |                  ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/moving_sphere.rs:28:29
[INFO] [stderr]    |
[INFO] [stderr] 28 |                material: Rc<Material>)
[INFO] [stderr]    |                             ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/material.rs:45:25
[INFO] [stderr]    |
[INFO] [stderr] 45 |     pub pdf: Option<Box<Pdf>>
[INFO] [stderr]    |                         ^^^ help: use `dyn`: `dyn Pdf`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/material.rs:74:17
[INFO] [stderr]    |
[INFO] [stderr] 74 |     albedo: Box<Texture>,
[INFO] [stderr]    |                 ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/material.rs:78:23
[INFO] [stderr]    |
[INFO] [stderr] 78 |     pub fn new(a: Box<Texture>) -> Lambertian {
[INFO] [stderr]    |                       ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/material.rs:88:26
[INFO] [stderr]    |
[INFO] [stderr] 88 |                -> Option<(ScatterRecord)> {
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/material.rs:142:26
[INFO] [stderr]     |
[INFO] [stderr] 142 |                -> Option<(ScatterRecord)> {
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/material.rs:170:26
[INFO] [stderr]     |
[INFO] [stderr] 170 |                -> Option<(ScatterRecord)> {
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/material.rs:211:15
[INFO] [stderr]     |
[INFO] [stderr] 211 |     emit: Box<Texture>
[INFO] [stderr]     |               ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bvh.rs:51:15
[INFO] [stderr]    |
[INFO] [stderr] 51 |     left: Box<Hitable>,
[INFO] [stderr]    |               ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bvh.rs:52:16
[INFO] [stderr]    |
[INFO] [stderr] 52 |     right: Box<Hitable>,
[INFO] [stderr]    |                ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bvh.rs:59:23
[INFO] [stderr]    |
[INFO] [stderr] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stderr]    |                       ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] ...
[INFO] [stderr] 72 | box_a_compare!(box_x_compare, x);
[INFO] [stderr]    | --------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bvh.rs:59:41
[INFO] [stderr]    |
[INFO] [stderr] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stderr]    |                                         ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] ...
[INFO] [stderr] 72 | box_a_compare!(box_x_compare, x);
[INFO] [stderr]    | --------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bvh.rs:59:23
[INFO] [stderr]    |
[INFO] [stderr] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stderr]    |                       ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] ...
[INFO] [stderr] 73 | box_a_compare!(box_y_compare, y);
[INFO] [stderr]    | --------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bvh.rs:59:41
[INFO] [stderr]    |
[INFO] [stderr] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stderr]    |                                         ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] ...
[INFO] [stderr] 73 | box_a_compare!(box_y_compare, y);
[INFO] [stderr]    | --------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bvh.rs:59:23
[INFO] [stderr]    |
[INFO] [stderr] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stderr]    |                       ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] ...
[INFO] [stderr] 74 | box_a_compare!(box_z_compare, z);
[INFO] [stderr]    | --------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bvh.rs:59:41
[INFO] [stderr]    |
[INFO] [stderr] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stderr]    |                                         ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] ...
[INFO] [stderr] 74 | box_a_compare!(box_z_compare, z);
[INFO] [stderr]    | --------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bvh.rs:79:46
[INFO] [stderr]    |
[INFO] [stderr] 79 |     pub fn new(rng: &mut Rng, mut l: Vec<Box<Hitable>>, time0: f64, time1: f64) -> BVHNode
[INFO] [stderr]    |                                              ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/texture.rs:34:14
[INFO] [stderr]    |
[INFO] [stderr] 34 |     odd: Box<Texture>,
[INFO] [stderr]    |              ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/texture.rs:35:15
[INFO] [stderr]    |
[INFO] [stderr] 35 |     even: Box<Texture>,
[INFO] [stderr]    |               ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/texture.rs:39:24
[INFO] [stderr]    |
[INFO] [stderr] 39 |     pub fn new(t0: Box<Texture>, t1: Box<Texture>) -> CheckerTexture {
[INFO] [stderr]    |                        ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/texture.rs:39:42
[INFO] [stderr]    |
[INFO] [stderr] 39 |     pub fn new(t0: Box<Texture>, t1: Box<Texture>) -> CheckerTexture {
[INFO] [stderr]    |                                          ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/aarect.rs:15:18
[INFO] [stderr]    |
[INFO] [stderr] 15 |     material: Rc<Material>
[INFO] [stderr]    |                  ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/aarect.rs:50:18
[INFO] [stderr]    |
[INFO] [stderr] 50 |     material: Rc<Material>
[INFO] [stderr]    |                  ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/aarect.rs:99:18
[INFO] [stderr]    |
[INFO] [stderr] 99 |     material: Rc<Material>
[INFO] [stderr]    |                  ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/hbox.rs:18:59
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub fn new(p0: Vec3<f64>, p1: Vec3<f64>, material: Rc<Material>) -> HBox<'a> {
[INFO] [stderr]    |                                                           ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/pdf.rs:63:18
[INFO] [stderr]    |
[INFO] [stderr] 63 |     hitable: &'a Hitable,
[INFO] [stderr]    |                  ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/pdf.rs:77:15
[INFO] [stderr]    |
[INFO] [stderr] 77 |     pdf0: &'a Pdf,
[INFO] [stderr]    |               ^^^ help: use `dyn`: `dyn Pdf`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/pdf.rs:78:15
[INFO] [stderr]    |
[INFO] [stderr] 78 |     pdf1: &'b Pdf,
[INFO] [stderr]    |               ^^^ help: use `dyn`: `dyn Pdf`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/core.rs:54:81
[INFO] [stderr]    |
[INFO] [stderr] 54 | pub fn render(scene: &Scene, output_settings: &OutputSettings, output: &mut Box<Output>) -> output::Result<()> {
[INFO] [stderr]    |                                                                                 ^^^^^^ help: use `dyn`: `dyn Output`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/core.rs:73:35
[INFO] [stderr]    |
[INFO] [stderr] 73 |                  output: &mut Box<Output>,
[INFO] [stderr]    |                                   ^^^^^^ help: use `dyn`: `dyn Output`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/scene.rs:7:20
[INFO] [stderr]   |
[INFO] [stderr] 7 |     pub world: Box<Hitable>,
[INFO] [stderr]   |                    ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/scene.rs:8:27
[INFO] [stderr]   |
[INFO] [stderr] 8 |     pub light_shapes: Box<Hitable>,
[INFO] [stderr]   |                           ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/output/error.rs:4:29
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub type GenericError = Box<std::error::Error>;
[INFO] [stderr]   |                             ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/output/mod.rs:66:75
[INFO] [stderr]    |
[INFO] [stderr] 66 | pub fn new_output(settings: &OutputSettings, scene: &Scene) -> Result<Box<Output>> {
[INFO] [stderr]    |                                                                           ^^^^^^ help: use `dyn`: `dyn Output`
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition
[INFO] [stderr]   --> src/lib.rs:56:1
[INFO] [stderr]    |
[INFO] [stderr] 56 | / macro_rules! perrln {
[INFO] [stderr] 57 | |     ($($arg:tt)*) => ({
[INFO] [stderr] 58 | |         use std::io::{Write, stderr};
[INFO] [stderr] 59 | |         writeln!(&mut stderr(), $($arg)*).ok();
[INFO] [stderr] 60 | |     })
[INFO] [stderr] 61 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_macros)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/perlin.rs:23:39
[INFO] [stderr]    |
[INFO] [stderr] 23 |         static mut ONCE: sync::Once = sync::ONCE_INIT;
[INFO] [stderr]    |                                       ^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `Once::new()`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/output/error.rs:24:46
[INFO] [stderr]    |
[INFO] [stderr] 24 |         write!(fmt, "Output Error: {}", self.description())
[INFO] [stderr]    |                                              ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 49 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/main.rs:311:58
[INFO] [stderr]     |
[INFO] [stderr] 311 |             let desc = format!("Invalid filename: {}", e.description());
[INFO] [stderr]     |                                                          ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> src/vec3.rs:260:15
[INFO] [stderr]     |
[INFO] [stderr] 260 |     Vec3::new((v1.y * v2.z - v1.z * v2.y),
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> src/vec3.rs:261:15
[INFO] [stderr]     |
[INFO] [stderr] 261 |               (-(v1.x * v2.z - v1.z * v2.x)),
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> src/vec3.rs:262:15
[INFO] [stderr]     |
[INFO] [stderr] 262 |               (v1.x * v2.y - v1.y * v2.x))
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/hitable.rs:21:22
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub material: Rc<Material>,
[INFO] [stderr]    |                      ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/hitable.rs:45:18
[INFO] [stderr]    |
[INFO] [stderr] 45 |     hitable: Box<Hitable>
[INFO] [stderr]    |                  ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/hitable.rs:64:18
[INFO] [stderr]    |
[INFO] [stderr] 64 |     hitable: Box<Hitable>,
[INFO] [stderr]    |                  ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/hitable.rs:91:18
[INFO] [stderr]    |
[INFO] [stderr] 91 |     hitable: Box<Hitable>,
[INFO] [stderr]    |                  ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/hitable.rs:98:29
[INFO] [stderr]    |
[INFO] [stderr] 98 |     pub fn new(hitable: Box<Hitable>, angle: f64) -> RotateY {
[INFO] [stderr]    |                             ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/hitable_list.rs:9:19
[INFO] [stderr]   |
[INFO] [stderr] 9 |     list: Vec<Box<Hitable + 'a>>,
[INFO] [stderr]   |                   ^^^^^^^^^^^^ help: use `dyn`: `dyn Hitable + 'a`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/sphere.rs:14:18
[INFO] [stderr]    |
[INFO] [stderr] 14 |     material: Rc<Material>,
[INFO] [stderr]    |                  ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/sphere.rs:18:53
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub fn new(cen: Vec3<f64>, r: f64, material: Rc<Material>) -> Sphere {
[INFO] [stderr]    |                                                     ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/moving_sphere.rs:19:18
[INFO] [stderr]    |
[INFO] [stderr] 19 |     material: Rc<Material>,
[INFO] [stderr]    |                  ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/moving_sphere.rs:28:29
[INFO] [stderr]    |
[INFO] [stderr] 28 |                material: Rc<Material>)
[INFO] [stderr]    |                             ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/material.rs:45:25
[INFO] [stderr]    |
[INFO] [stderr] 45 |     pub pdf: Option<Box<Pdf>>
[INFO] [stderr]    |                         ^^^ help: use `dyn`: `dyn Pdf`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/material.rs:74:17
[INFO] [stderr]    |
[INFO] [stderr] 74 |     albedo: Box<Texture>,
[INFO] [stderr]    |                 ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/material.rs:78:23
[INFO] [stderr]    |
[INFO] [stderr] 78 |     pub fn new(a: Box<Texture>) -> Lambertian {
[INFO] [stderr]    |                       ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/material.rs:88:26
[INFO] [stderr]    |
[INFO] [stderr] 88 |                -> Option<(ScatterRecord)> {
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/material.rs:142:26
[INFO] [stderr]     |
[INFO] [stderr] 142 |                -> Option<(ScatterRecord)> {
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/material.rs:170:26
[INFO] [stderr]     |
[INFO] [stderr] 170 |                -> Option<(ScatterRecord)> {
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/material.rs:211:15
[INFO] [stderr]     |
[INFO] [stderr] 211 |     emit: Box<Texture>
[INFO] [stderr]     |               ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bvh.rs:51:15
[INFO] [stderr]    |
[INFO] [stderr] 51 |     left: Box<Hitable>,
[INFO] [stderr]    |               ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bvh.rs:52:16
[INFO] [stderr]    |
[INFO] [stderr] 52 |     right: Box<Hitable>,
[INFO] [stderr]    |                ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bvh.rs:59:23
[INFO] [stderr]    |
[INFO] [stderr] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stderr]    |                       ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] ...
[INFO] [stderr] 72 | box_a_compare!(box_x_compare, x);
[INFO] [stderr]    | --------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bvh.rs:59:41
[INFO] [stderr]    |
[INFO] [stderr] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stderr]    |                                         ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] ...
[INFO] [stderr] 72 | box_a_compare!(box_x_compare, x);
[INFO] [stderr]    | --------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bvh.rs:59:23
[INFO] [stderr]    |
[INFO] [stderr] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stderr]    |                       ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] ...
[INFO] [stderr] 73 | box_a_compare!(box_y_compare, y);
[INFO] [stderr]    | --------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bvh.rs:59:41
[INFO] [stderr]    |
[INFO] [stderr] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stderr]    |                                         ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] ...
[INFO] [stderr] 73 | box_a_compare!(box_y_compare, y);
[INFO] [stderr]    | --------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bvh.rs:59:23
[INFO] [stderr]    |
[INFO] [stderr] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stderr]    |                       ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] ...
[INFO] [stderr] 74 | box_a_compare!(box_z_compare, z);
[INFO] [stderr]    | --------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bvh.rs:59:41
[INFO] [stderr]    |
[INFO] [stderr] 59 |         fn $f(a: &Box<Hitable>, b: &Box<Hitable>) -> Ordering {
[INFO] [stderr]    |                                         ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] ...
[INFO] [stderr] 74 | box_a_compare!(box_z_compare, z);
[INFO] [stderr]    | --------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bvh.rs:79:46
[INFO] [stderr]    |
[INFO] [stderr] 79 |     pub fn new(rng: &mut Rng, mut l: Vec<Box<Hitable>>, time0: f64, time1: f64) -> BVHNode
[INFO] [stderr]    |                                              ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/texture.rs:34:14
[INFO] [stderr]    |
[INFO] [stderr] 34 |     odd: Box<Texture>,
[INFO] [stderr]    |              ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/texture.rs:35:15
[INFO] [stderr]    |
[INFO] [stderr] 35 |     even: Box<Texture>,
[INFO] [stderr]    |               ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/texture.rs:39:24
[INFO] [stderr]    |
[INFO] [stderr] 39 |     pub fn new(t0: Box<Texture>, t1: Box<Texture>) -> CheckerTexture {
[INFO] [stderr]    |                        ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/texture.rs:39:42
[INFO] [stderr]    |
[INFO] [stderr] 39 |     pub fn new(t0: Box<Texture>, t1: Box<Texture>) -> CheckerTexture {
[INFO] [stderr]    |                                          ^^^^^^^ help: use `dyn`: `dyn Texture`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/aarect.rs:15:18
[INFO] [stderr]    |
[INFO] [stderr] 15 |     material: Rc<Material>
[INFO] [stderr]    |                  ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/aarect.rs:50:18
[INFO] [stderr]    |
[INFO] [stderr] 50 |     material: Rc<Material>
[INFO] [stderr]    |                  ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/aarect.rs:99:18
[INFO] [stderr]    |
[INFO] [stderr] 99 |     material: Rc<Material>
[INFO] [stderr]    |                  ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/hbox.rs:18:59
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub fn new(p0: Vec3<f64>, p1: Vec3<f64>, material: Rc<Material>) -> HBox<'a> {
[INFO] [stderr]    |                                                           ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/pdf.rs:63:18
[INFO] [stderr]    |
[INFO] [stderr] 63 |     hitable: &'a Hitable,
[INFO] [stderr]    |                  ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/pdf.rs:77:15
[INFO] [stderr]    |
[INFO] [stderr] 77 |     pdf0: &'a Pdf,
[INFO] [stderr]    |               ^^^ help: use `dyn`: `dyn Pdf`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/pdf.rs:78:15
[INFO] [stderr]    |
[INFO] [stderr] 78 |     pdf1: &'b Pdf,
[INFO] [stderr]    |               ^^^ help: use `dyn`: `dyn Pdf`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/core.rs:54:81
[INFO] [stderr]    |
[INFO] [stderr] 54 | pub fn render(scene: &Scene, output_settings: &OutputSettings, output: &mut Box<Output>) -> output::Result<()> {
[INFO] [stderr]    |                                                                                 ^^^^^^ help: use `dyn`: `dyn Output`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/core.rs:73:35
[INFO] [stderr]    |
[INFO] [stderr] 73 |                  output: &mut Box<Output>,
[INFO] [stderr]    |                                   ^^^^^^ help: use `dyn`: `dyn Output`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/scene.rs:7:20
[INFO] [stderr]   |
[INFO] [stderr] 7 |     pub world: Box<Hitable>,
[INFO] [stderr]   |                    ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/scene.rs:8:27
[INFO] [stderr]   |
[INFO] [stderr] 8 |     pub light_shapes: Box<Hitable>,
[INFO] [stderr]   |                           ^^^^^^^ help: use `dyn`: `dyn Hitable`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/output/error.rs:4:29
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub type GenericError = Box<std::error::Error>;
[INFO] [stderr]   |                             ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/output/mod.rs:66:75
[INFO] [stderr]    |
[INFO] [stderr] 66 | pub fn new_output(settings: &OutputSettings, scene: &Scene) -> Result<Box<Output>> {
[INFO] [stderr]    |                                                                           ^^^^^^ help: use `dyn`: `dyn Output`
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition
[INFO] [stderr]   --> src/lib.rs:56:1
[INFO] [stderr]    |
[INFO] [stderr] 56 | / macro_rules! perrln {
[INFO] [stderr] 57 | |     ($($arg:tt)*) => ({
[INFO] [stderr] 58 | |         use std::io::{Write, stderr};
[INFO] [stderr] 59 | |         writeln!(&mut stderr(), $($arg)*).ok();
[INFO] [stderr] 60 | |     })
[INFO] [stderr] 61 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_macros)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/perlin.rs:23:39
[INFO] [stderr]    |
[INFO] [stderr] 23 |         static mut ONCE: sync::Once = sync::ONCE_INIT;
[INFO] [stderr]    |                                       ^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `Once::new()`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/output/error.rs:24:46
[INFO] [stderr]    |
[INFO] [stderr] 24 |         write!(fmt, "Output Error: {}", self.description())
[INFO] [stderr]    |                                              ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 49 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.16s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/raytracer-fb2fe6ed33ae24b0
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test ray::tests::test_p_at_p ... ok
[INFO] [stdout] test output::buckets::tests::test_spiral ... ok
[INFO] [stdout] test ray::tests::test_ray ... ok
[INFO] [stdout] test vec3::tests::test_cross ... ok
[INFO] [stdout] test vec3::tests::basic_math ... ok
[INFO] [stdout] test vec3::tests::test_dot ... ok
[INFO] [stdout] test vec3::tests::test_unit_vector ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/raytracer-fc5a2ddb40915f1c
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests raytracer
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> /opt/rustwide/workdir/src/vec3.rs:260:15
[INFO] [stderr]     |
[INFO] [stderr] 260 |     Vec3::new((v1.y * v2.z - v1.z * v2.y),
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> /opt/rustwide/workdir/src/vec3.rs:261:15
[INFO] [stderr]     |
[INFO] [stderr] 261 |               (-(v1.x * v2.z - v1.z * v2.x)),
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> /opt/rustwide/workdir/src/vec3.rs:262:15
[INFO] [stderr]     |
[INFO] [stderr] 262 |               (v1.x * v2.y - v1.y * v2.x))
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> /opt/rustwide/workdir/src/material.rs:88:26
[INFO] [stderr]    |
[INFO] [stderr] 88 |                -> Option<(ScatterRecord)> {
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> /opt/rustwide/workdir/src/material.rs:142:26
[INFO] [stderr]     |
[INFO] [stderr] 142 |                -> Option<(ScatterRecord)> {
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> /opt/rustwide/workdir/src/material.rs:170:26
[INFO] [stderr]     |
[INFO] [stderr] 170 |                -> Option<(ScatterRecord)> {
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: 6 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "48fe65784206324cd43dd8611146ab5bba1d4683366c5e253e5c3b1da672169f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "48fe65784206324cd43dd8611146ab5bba1d4683366c5e253e5c3b1da672169f", kill_on_drop: false }`
[INFO] [stdout] 48fe65784206324cd43dd8611146ab5bba1d4683366c5e253e5c3b1da672169f
