[INFO] cloning repository https://github.com/leonardlorenz/rosengarten [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/leonardlorenz/rosengarten" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleonardlorenz%2Frosengarten", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleonardlorenz%2Frosengarten'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2faaa330f344e1c04d8e7b9df2457a5077078e8b [INFO] checking leonardlorenz/rosengarten against master#af4a5a13a15fa0c60e06321077ef452f769b42fd for pr-122960-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleonardlorenz%2Frosengarten" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/leonardlorenz/rosengarten on toolchain af4a5a13a15fa0c60e06321077ef452f769b42fd [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/leonardlorenz/rosengarten [INFO] finished tweaking git repo https://github.com/leonardlorenz/rosengarten [INFO] tweaked toml for git repo https://github.com/leonardlorenz/rosengarten written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/leonardlorenz/rosengarten already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f91e4e3e83fa199413a15db0834ef0d08de366235ca16d289fb6f9be0e38728c [INFO] running `Command { std: "docker" "start" "-a" "f91e4e3e83fa199413a15db0834ef0d08de366235ca16d289fb6f9be0e38728c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f91e4e3e83fa199413a15db0834ef0d08de366235ca16d289fb6f9be0e38728c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f91e4e3e83fa199413a15db0834ef0d08de366235ca16d289fb6f9be0e38728c", kill_on_drop: false }` [INFO] [stdout] f91e4e3e83fa199413a15db0834ef0d08de366235ca16d289fb6f9be0e38728c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 243b758fdf96a0436eb8eb68fe1fdecbf7ca9a07583182371afbe822682c9b4d [INFO] running `Command { std: "docker" "start" "-a" "243b758fdf96a0436eb8eb68fe1fdecbf7ca9a07583182371afbe822682c9b4d", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v0.1.6 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling libc v0.2.65 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling byteorder v1.3.2 [INFO] [stderr] Checking nodrop v0.1.14 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Checking scopeguard v1.0.0 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling rayon-core v1.6.0 [INFO] [stderr] Compiling getrandom v0.1.12 [INFO] [stderr] Compiling crc32fast v1.2.0 [INFO] [stderr] Compiling num-derive v0.2.5 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Checking adler32 v1.0.4 [INFO] [stderr] Checking crossbeam-utils v0.6.6 [INFO] [stderr] Checking either v1.5.3 [INFO] [stderr] Compiling matrixmultiply v0.1.15 [INFO] [stderr] Checking lzw v0.10.0 [INFO] [stderr] Checking ppv-lite86 v0.2.5 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Checking inflate v0.4.5 [INFO] [stderr] Checking color_quant v1.0.1 [INFO] [stderr] Compiling num-traits v0.2.8 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Compiling num-iter v0.1.39 [INFO] [stderr] Compiling num-bigint v0.2.3 [INFO] [stderr] Checking crossbeam-queue v0.1.2 [INFO] [stderr] Compiling num-rational v0.2.2 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling num-complex v0.2.3 [INFO] [stderr] Checking rawpointer v0.1.0 [INFO] [stderr] Checking gif v0.10.3 [INFO] [stderr] Checking c2-chacha v0.2.2 [INFO] [stderr] Checking scoped_threadpool v0.1.9 [INFO] [stderr] Compiling memoffset v0.5.1 [INFO] [stderr] Checking deflate v0.7.20 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Checking num_cpus v1.10.1 [INFO] [stderr] Checking crossbeam-epoch v0.7.2 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking png v0.15.0 [INFO] [stderr] Checking rand_chacha v0.2.1 [INFO] [stderr] Checking crossbeam-deque v0.7.1 [INFO] [stderr] Checking rand v0.7.2 [INFO] [stderr] Checking rayon v1.2.0 [INFO] [stderr] Checking num v0.1.42 [INFO] [stderr] Checking rulinalg v0.4.2 [INFO] [stderr] Checking num v0.2.0 [INFO] [stderr] Checking jpeg-decoder v0.1.16 [INFO] [stderr] Checking tiff v0.3.1 [INFO] [stderr] Checking image v0.22.3 [INFO] [stderr] Checking rosengarten v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0425]: cannot find value `transformation` in this scope [INFO] [stdout] --> src/raytracer/transformation.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | transformation.trans_mat = matrix; [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `transformation` in this scope [INFO] [stdout] --> src/raytracer/transformation.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | transformation.trans_mat = matrix; [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `transformation` in this scope [INFO] [stdout] --> src/raytracer/transformation.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | transformation.trans_mat_inv = matrix [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `transformation` in this scope [INFO] [stdout] --> src/raytracer/transformation.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | transformation.trans_mat_transposed = matrix [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `transformation` in this scope [INFO] [stdout] --> src/raytracer/transformation.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | transformation.trans_mat_inv = matrix [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `transformation` in this scope [INFO] [stdout] --> src/raytracer/transformation.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | transformation.trans_mat_inv_transposed = matrix [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `transformation` in this scope [INFO] [stdout] --> src/raytracer/transformation.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | transformation.trans_mat_transposed = matrix [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `transformation` in this scope [INFO] [stdout] --> src/raytracer/transformation.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | transformation.trans_mat_inv_transposed = matrix [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `transformation` in this scope [INFO] [stdout] --> src/raytracer/shapes/group.rs:17:23 [INFO] [stdout] | [INFO] [stdout] 17 | let ray_dir = transformation.trans_mat_inv * ray.norm_dir; [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `transformation` in this scope [INFO] [stdout] --> src/raytracer/shapes/group.rs:17:23 [INFO] [stdout] | [INFO] [stdout] 17 | let ray_dir = transformation.trans_mat_inv * ray.norm_dir; [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `transformation` in this scope [INFO] [stdout] --> src/raytracer/shapes/group.rs:18:26 [INFO] [stdout] | [INFO] [stdout] 18 | let ray_origin = transformation.trans_mat_inv * ray.origin; [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `transformation` in this scope [INFO] [stdout] --> src/raytracer/shapes/group.rs:18:26 [INFO] [stdout] | [INFO] [stdout] 18 | let ray_origin = transformation.trans_mat_inv * ray.origin; [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::prelude::*` [INFO] [stdout] --> src/raytracer/raytracer.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use rand::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::prelude::*` [INFO] [stdout] --> src/raytracer/raytracer.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use rand::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rulinalg::matrix::Matrix` [INFO] [stdout] --> src/raytracer/raytracer.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use rulinalg::matrix::Matrix; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rulinalg::vector::Vector` [INFO] [stdout] --> src/raytracer/raytracer.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use rulinalg::vector::Vector; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rulinalg` [INFO] [stdout] --> src/raytracer/shapes/background.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use rulinalg; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rulinalg::matrix::Matrix` [INFO] [stdout] --> src/raytracer/raytracer.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use rulinalg::matrix::Matrix; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rulinalg::vector::Vector` [INFO] [stdout] --> src/raytracer/shapes/group.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use rulinalg::vector::Vector; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rulinalg::vector::Vector` [INFO] [stdout] --> src/raytracer/raytracer.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use rulinalg::vector::Vector; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::raytracer::materials::material::Material` [INFO] [stdout] --> src/raytracer/shapes/shape.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::raytracer::materials::material::Material; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rulinalg::vector::Vector` [INFO] [stdout] --> src/raytracer/shapes/shape.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use rulinalg::vector::Vector; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `String` is imported redundantly [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::string::String; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/af4a5a13a15fa0c60e06321077ef452f769b42fd/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `String` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Vec` is imported redundantly [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::vec::Vec; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/af4a5a13a15fa0c60e06321077ef452f769b42fd/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Vec` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rulinalg` [INFO] [stdout] --> src/raytracer/shapes/background.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use rulinalg; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rulinalg::vector::Vector` [INFO] [stdout] --> src/raytracer/shapes/group.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use rulinalg::vector::Vector; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::raytracer::materials::material::Material` [INFO] [stdout] --> src/raytracer/shapes/shape.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::raytracer::materials::material::Material; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rulinalg::vector::Vector` [INFO] [stdout] --> src/raytracer/shapes/shape.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use rulinalg::vector::Vector; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `String` is imported redundantly [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::string::String; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/af4a5a13a15fa0c60e06321077ef452f769b42fd/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `String` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Vec` is imported redundantly [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::vec::Vec; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/af4a5a13a15fa0c60e06321077ef452f769b42fd/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Vec` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:66:35 [INFO] [stdout] | [INFO] [stdout] 66 | fn init_scene() -> Group<'static, Shape> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 66 | fn init_scene() -> Group<'static, dyn Shape> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:66:35 [INFO] [stdout] | [INFO] [stdout] 66 | fn init_scene() -> Group<'static, Shape> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 66 | fn init_scene() -> Group<'static, dyn Shape> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `(dyn Shape + 'static)` cannot be known at compilation time [INFO] [stdout] --> src/main.rs:66:20 [INFO] [stdout] | [INFO] [stdout] 66 | fn init_scene() -> Group<'static, Shape> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sized` is not implemented for `(dyn Shape + 'static)` [INFO] [stdout] note: required by an implicit `Sized` bound in `Group` [INFO] [stdout] --> src/raytracer/shapes/group.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Group<'a, Shape> { [INFO] [stdout] | ^^^^^ required by the implicit `Sized` requirement on this type parameter in `Group` [INFO] [stdout] help: consider relaxing the implicit `Sized` restriction [INFO] [stdout] --> src/raytracer/shapes/group.rs:10:27 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Group<'a, Shape: ?Sized> { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `(dyn Shape + 'static)` cannot be known at compilation time [INFO] [stdout] --> src/main.rs:66:20 [INFO] [stdout] | [INFO] [stdout] 66 | fn init_scene() -> Group<'static, Shape> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sized` is not implemented for `(dyn Shape + 'static)` [INFO] [stdout] note: required by an implicit `Sized` bound in `Group` [INFO] [stdout] --> src/raytracer/shapes/group.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Group<'a, Shape> { [INFO] [stdout] | ^^^^^ required by the implicit `Sized` requirement on this type parameter in `Group` [INFO] [stdout] help: consider relaxing the implicit `Sized` restriction [INFO] [stdout] --> src/raytracer/shapes/group.rs:10:27 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Group<'a, Shape: ?Sized> { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `u32: Pixel` is not satisfied [INFO] [stdout] --> src/raytracer/raytracer.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | img: image::ImageBuffer, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Pixel` is not implemented for `u32` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Pixel`: [INFO] [stdout] Bgr [INFO] [stdout] Bgra [INFO] [stdout] Luma [INFO] [stdout] LumaA [INFO] [stdout] Rgb [INFO] [stdout] Rgba [INFO] [stdout] note: required by a bound in `ImageBuffer` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/image-0.22.3/./src/buffer.rs:500:27 [INFO] [stdout] | [INFO] [stdout] 500 | pub struct ImageBuffer { [INFO] [stdout] | ^^^^^ required by this bound in `ImageBuffer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raytracer/shapes/shape.rs:13:38 [INFO] [stdout] | [INFO] [stdout] 13 | fn intersect(&self, ray: Ray) -> Intersection; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 13 | fn intersect(&self, ray: Ray) -> dyn Intersection; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raytracer/shapes/group.rs:15:26 [INFO] [stdout] | [INFO] [stdout] 15 | impl Shape for Group<'_, Shape> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 15 | impl Shape for Group<'_, dyn Shape> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `u32: Pixel` is not satisfied [INFO] [stdout] --> src/raytracer/raytracer.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | img: image::ImageBuffer, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Pixel` is not implemented for `u32` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Pixel`: [INFO] [stdout] Bgr [INFO] [stdout] Bgra [INFO] [stdout] Luma [INFO] [stdout] LumaA [INFO] [stdout] Rgb [INFO] [stdout] Rgba [INFO] [stdout] note: required by a bound in `ImageBuffer` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/image-0.22.3/./src/buffer.rs:500:27 [INFO] [stdout] | [INFO] [stdout] 500 | pub struct ImageBuffer { [INFO] [stdout] | ^^^^^ required by this bound in `ImageBuffer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `(dyn Shape + 'static)` cannot be known at compilation time [INFO] [stdout] --> src/raytracer/shapes/group.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 15 | impl Shape for Group<'_, Shape> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sized` is not implemented for `(dyn Shape + 'static)` [INFO] [stdout] note: required by an implicit `Sized` bound in `Group` [INFO] [stdout] --> src/raytracer/shapes/group.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Group<'a, Shape> { [INFO] [stdout] | ^^^^^ required by the implicit `Sized` requirement on this type parameter in `Group` [INFO] [stdout] help: consider relaxing the implicit `Sized` restriction [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Group<'a, Shape: ?Sized> { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raytracer/shapes/shape.rs:13:38 [INFO] [stdout] | [INFO] [stdout] 13 | fn intersect(&self, ray: Ray) -> Intersection; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 13 | fn intersect(&self, ray: Ray) -> dyn Intersection; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0050]: method `intersect` has 2 parameters but the declaration in trait `Shape::intersect` has 1 [INFO] [stdout] --> src/raytracer/shapes/group.rs:16:18 [INFO] [stdout] | [INFO] [stdout] 16 | fn intersect(&self, ray: Ray) -> Intersection { [INFO] [stdout] | ^^^^^^^^^^^^^^^ expected 1 parameter, found 2 [INFO] [stdout] | [INFO] [stdout] ::: src/raytracer/shapes/shape.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 8 | fn intersect(&self); [INFO] [stdout] | ----- trait requires 1 parameter [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raytracer/shapes/group.rs:15:26 [INFO] [stdout] | [INFO] [stdout] 15 | impl Shape for Group<'_, Shape> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 15 | impl Shape for Group<'_, dyn Shape> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `(dyn Shape + 'static)` cannot be known at compilation time [INFO] [stdout] --> src/raytracer/shapes/group.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 15 | impl Shape for Group<'_, Shape> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sized` is not implemented for `(dyn Shape + 'static)` [INFO] [stdout] note: required by an implicit `Sized` bound in `Group` [INFO] [stdout] --> src/raytracer/shapes/group.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Group<'a, Shape> { [INFO] [stdout] | ^^^^^ required by the implicit `Sized` requirement on this type parameter in `Group` [INFO] [stdout] help: consider relaxing the implicit `Sized` restriction [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Group<'a, Shape: ?Sized> { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0050]: method `intersect` has 2 parameters but the declaration in trait `Shape::intersect` has 1 [INFO] [stdout] --> src/raytracer/shapes/group.rs:16:18 [INFO] [stdout] | [INFO] [stdout] 16 | fn intersect(&self, ray: Ray) -> Intersection { [INFO] [stdout] | ^^^^^^^^^^^^^^^ expected 1 parameter, found 2 [INFO] [stdout] | [INFO] [stdout] ::: src/raytracer/shapes/shape.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 8 | fn intersect(&self); [INFO] [stdout] | ----- trait requires 1 parameter [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0046]: not all trait items implemented, missing: `new` [INFO] [stdout] --> src/raytracer/shapes/group.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | impl Shape for Group<'_, Shape> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `new` in implementation [INFO] [stdout] | [INFO] [stdout] ::: src/raytracer/shapes/shape.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | fn new(&self); [INFO] [stdout] | -------------- `new` from trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0046]: not all trait items implemented, missing: `new` [INFO] [stdout] --> src/raytracer/shapes/group.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | impl Shape for Group<'_, Shape> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `new` in implementation [INFO] [stdout] | [INFO] [stdout] ::: src/raytracer/shapes/shape.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | fn new(&self); [INFO] [stdout] | -------------- `new` from trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `(dyn Shape + 'static)` cannot be known at compilation time [INFO] [stdout] --> src/raytracer/shapes/group.rs:16:18 [INFO] [stdout] | [INFO] [stdout] 16 | fn intersect(&self, ray: Ray) -> Intersection { [INFO] [stdout] | ^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sized` is not implemented for `(dyn Shape + 'static)` [INFO] [stdout] note: required by an implicit `Sized` bound in `Group` [INFO] [stdout] --> src/raytracer/shapes/group.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Group<'a, Shape> { [INFO] [stdout] | ^^^^^ required by the implicit `Sized` requirement on this type parameter in `Group` [INFO] [stdout] help: consider relaxing the implicit `Sized` restriction [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Group<'a, Shape: ?Sized> { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `(dyn Shape + 'static)` cannot be known at compilation time [INFO] [stdout] --> src/raytracer/shapes/group.rs:16:18 [INFO] [stdout] | [INFO] [stdout] 16 | fn intersect(&self, ray: Ray) -> Intersection { [INFO] [stdout] | ^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sized` is not implemented for `(dyn Shape + 'static)` [INFO] [stdout] note: required by an implicit `Sized` bound in `Group` [INFO] [stdout] --> src/raytracer/shapes/group.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Group<'a, Shape> { [INFO] [stdout] | ^^^^^ required by the implicit `Sized` requirement on this type parameter in `Group` [INFO] [stdout] help: consider relaxing the implicit `Sized` restriction [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Group<'a, Shape: ?Sized> { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raytracer/shapes/sphere.rs:17:76 [INFO] [stdout] | [INFO] [stdout] 17 | fn new(&self, center: Vector, radius: f32, material: Material) -> Shape { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 17 | fn new(&self, center: Vector, radius: f32, material: Material) -> dyn Shape { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0050]: method `new` has 4 parameters but the declaration in trait `Shape::new` has 1 [INFO] [stdout] --> src/raytracer/shapes/sphere.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | fn new(&self, center: Vector, radius: f32, material: Material) -> Shape { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 1 parameter, found 4 [INFO] [stdout] | [INFO] [stdout] ::: src/raytracer/shapes/shape.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | fn new(&self); [INFO] [stdout] | ----- trait requires 1 parameter [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raytracer/shapes/sphere.rs:17:76 [INFO] [stdout] | [INFO] [stdout] 17 | fn new(&self, center: Vector, radius: f32, material: Material) -> Shape { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 17 | fn new(&self, center: Vector, radius: f32, material: Material) -> dyn Shape { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0186]: method `intersect` has a `&self` declaration in the trait, but not in the impl [INFO] [stdout] --> src/raytracer/shapes/sphere.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | fn intersect(ray: Ray) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ expected `&self` in impl [INFO] [stdout] | [INFO] [stdout] ::: src/raytracer/shapes/shape.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | fn intersect(&self); [INFO] [stdout] | -------------------- `&self` used in trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0050]: method `new` has 4 parameters but the declaration in trait `Shape::new` has 1 [INFO] [stdout] --> src/raytracer/shapes/sphere.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | fn new(&self, center: Vector, radius: f32, material: Material) -> Shape { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 1 parameter, found 4 [INFO] [stdout] | [INFO] [stdout] ::: src/raytracer/shapes/shape.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | fn new(&self); [INFO] [stdout] | ----- trait requires 1 parameter [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0186]: method `intersect` has a `&self` declaration in the trait, but not in the impl [INFO] [stdout] --> src/raytracer/shapes/sphere.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | fn intersect(ray: Ray) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ expected `&self` in impl [INFO] [stdout] | [INFO] [stdout] ::: src/raytracer/shapes/shape.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | fn intersect(&self); [INFO] [stdout] | -------------------- `&self` used in trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0010]: allocations are not allowed in constants [INFO] [stdout] --> src/main.rs:19:25 [INFO] [stdout] | [INFO] [stdout] 19 | const ORIGIN: Vec = vec![0, 0, 0]; [INFO] [stdout] | ^^^^^^^^^^^^^ allocation not allowed in constants [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0010]: allocations are not allowed in constants [INFO] [stdout] --> src/main.rs:19:25 [INFO] [stdout] | [INFO] [stdout] 19 | const ORIGIN: Vec = vec![0, 0, 0]; [INFO] [stdout] | ^^^^^^^^^^^^^ allocation not allowed in constants [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0015]: cannot call non-const fn `std::slice::::into_vec::` in constants [INFO] [stdout] --> src/main.rs:19:25 [INFO] [stdout] | [INFO] [stdout] 19 | const ORIGIN: Vec = vec![0, 0, 0]; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: calls in constants are limited to constant functions, tuple structs and tuple variants [INFO] [stdout] = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0015]: cannot call non-const fn `std::slice::::into_vec::` in constants [INFO] [stdout] --> src/main.rs:19:25 [INFO] [stdout] | [INFO] [stdout] 19 | const ORIGIN: Vec = vec![0, 0, 0]; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: calls in constants are limited to constant functions, tuple structs and tuple variants [INFO] [stdout] = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `enumerate_pixels_mut` exists for struct `ImageBuffer`, but its trait bounds were not satisfied [INFO] [stdout] --> src/raytracer/raytracer.rs:16:34 [INFO] [stdout] | [INFO] [stdout] 16 | for (x, y, pixel) in img.enumerate_pixels_mut() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ method cannot be called on `ImageBuffer` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `::Target = [_]` [INFO] [stdout] `u32: Pixel` [INFO] [stdout] `u32: Deref` [INFO] [stdout] `u32: DerefMut` [INFO] [stdout] `u32: Deref` [INFO] [stdout] which is required by `u32: DerefMut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `enumerate_pixels_mut` exists for struct `ImageBuffer`, but its trait bounds were not satisfied [INFO] [stdout] --> src/raytracer/raytracer.rs:16:34 [INFO] [stdout] | [INFO] [stdout] 16 | for (x, y, pixel) in img.enumerate_pixels_mut() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ method cannot be called on `ImageBuffer` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `::Target = [_]` [INFO] [stdout] `u32: Pixel` [INFO] [stdout] `u32: Deref` [INFO] [stdout] `u32: DerefMut` [INFO] [stdout] `u32: Deref` [INFO] [stdout] which is required by `u32: DerefMut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `transpose` found for struct `Matrix` in the current scope [INFO] [stdout] --> src/raytracer/transformation.rs:24:42 [INFO] [stdout] | [INFO] [stdout] 22 | transformation.trans_mat_transposed = matrix [INFO] [stdout] | _______________________________________________- [INFO] [stdout] 23 | | .clone() [INFO] [stdout] 24 | | .transpose(); [INFO] [stdout] | | -^^^^^^^^^ method not found in `Matrix` [INFO] [stdout] | |_________________________________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rulinalg-0.4.2/src/matrix/base/mod.rs:901:8 [INFO] [stdout] | [INFO] [stdout] 901 | fn transpose(&self) -> Matrix [INFO] [stdout] | --------- the method is available for `Matrix` here [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `BaseMatrix` which provides `transpose` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use crate::raytracer::intersection::rulinalg::matrix::BaseMatrix; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `transpose` found for struct `Matrix` in the current scope [INFO] [stdout] --> src/raytracer/transformation.rs:24:42 [INFO] [stdout] | [INFO] [stdout] 22 | transformation.trans_mat_transposed = matrix [INFO] [stdout] | _______________________________________________- [INFO] [stdout] 23 | | .clone() [INFO] [stdout] 24 | | .transpose(); [INFO] [stdout] | | -^^^^^^^^^ method not found in `Matrix` [INFO] [stdout] | |_________________________________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rulinalg-0.4.2/src/matrix/base/mod.rs:901:8 [INFO] [stdout] | [INFO] [stdout] 901 | fn transpose(&self) -> Matrix [INFO] [stdout] | --------- the method is available for `Matrix` here [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `BaseMatrix` which provides `transpose` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use crate::raytracer::intersection::rulinalg::matrix::BaseMatrix; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `transpose` found for struct `Matrix` in the current scope [INFO] [stdout] --> src/raytracer/transformation.rs:30:42 [INFO] [stdout] | [INFO] [stdout] 26 | transformation.trans_mat_inv_transposed = matrix [INFO] [stdout] | ___________________________________________________- [INFO] [stdout] 27 | | .clone() [INFO] [stdout] 28 | | .inverse() [INFO] [stdout] | | --------- method `transpose` is available on `Result, intersection::rulinalg::error::Error>` [INFO] [stdout] 29 | | .expect("Matrix was not square when attempting inversion.") [INFO] [stdout] 30 | | .transpose(); [INFO] [stdout] | | -^^^^^^^^^ method not found in `Matrix` [INFO] [stdout] | |_________________________________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rulinalg-0.4.2/src/matrix/base/mod.rs:901:8 [INFO] [stdout] | [INFO] [stdout] 901 | fn transpose(&self) -> Matrix [INFO] [stdout] | --------- the method is available for `Matrix` here [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `BaseMatrix` which provides `transpose` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use crate::raytracer::intersection::rulinalg::matrix::BaseMatrix; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/raytracer/shapes/group.rs:16:38 [INFO] [stdout] | [INFO] [stdout] 16 | fn intersect(&self, ray: Ray) -> Intersection { [INFO] [stdout] | --------- ^^^^^^^^^^^^ expected `Intersection`, found `()` [INFO] [stdout] | | [INFO] [stdout] | implicitly returns `()` as its body has no tail or `return` expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `transpose` found for struct `Matrix` in the current scope [INFO] [stdout] --> src/raytracer/transformation.rs:30:42 [INFO] [stdout] | [INFO] [stdout] 26 | transformation.trans_mat_inv_transposed = matrix [INFO] [stdout] | ___________________________________________________- [INFO] [stdout] 27 | | .clone() [INFO] [stdout] 28 | | .inverse() [INFO] [stdout] | | --------- method `transpose` is available on `Result, intersection::rulinalg::error::Error>` [INFO] [stdout] 29 | | .expect("Matrix was not square when attempting inversion.") [INFO] [stdout] 30 | | .transpose(); [INFO] [stdout] | | -^^^^^^^^^ method not found in `Matrix` [INFO] [stdout] | |_________________________________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rulinalg-0.4.2/src/matrix/base/mod.rs:901:8 [INFO] [stdout] | [INFO] [stdout] 901 | fn transpose(&self) -> Matrix [INFO] [stdout] | --------- the method is available for `Matrix` here [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `BaseMatrix` which provides `transpose` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use crate::raytracer::intersection::rulinalg::matrix::BaseMatrix; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/raytracer/shapes/group.rs:16:38 [INFO] [stdout] | [INFO] [stdout] 16 | fn intersect(&self, ray: Ray) -> Intersection { [INFO] [stdout] | --------- ^^^^^^^^^^^^ expected `Intersection`, found `()` [INFO] [stdout] | | [INFO] [stdout] | implicitly returns `()` as its body has no tail or `return` expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0070]: invalid left-hand side of assignment [INFO] [stdout] --> src/raytracer/shapes/sphere.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | &self.center = center; [INFO] [stdout] | ------------ ^ [INFO] [stdout] | | [INFO] [stdout] | cannot assign to this expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0070]: invalid left-hand side of assignment [INFO] [stdout] --> src/raytracer/shapes/sphere.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | &self.center = center; [INFO] [stdout] | ------------ ^ [INFO] [stdout] | | [INFO] [stdout] | cannot assign to this expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0070]: invalid left-hand side of assignment [INFO] [stdout] --> src/raytracer/shapes/sphere.rs:19:22 [INFO] [stdout] | [INFO] [stdout] 19 | &self.radius = radius; [INFO] [stdout] | ------------ ^ [INFO] [stdout] | | [INFO] [stdout] | cannot assign to this expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0070]: invalid left-hand side of assignment [INFO] [stdout] --> src/raytracer/shapes/sphere.rs:20:24 [INFO] [stdout] | [INFO] [stdout] 20 | &self.material = material; [INFO] [stdout] | -------------- ^ [INFO] [stdout] | | [INFO] [stdout] | cannot assign to this expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/raytracer/shapes/sphere.rs:17:76 [INFO] [stdout] | [INFO] [stdout] 17 | fn new(&self, center: Vector, radius: f32, material: Material) -> Shape { [INFO] [stdout] | --- ^^^^^ expected `dyn Shape`, found `()` [INFO] [stdout] | | [INFO] [stdout] | implicitly returns `()` as its body has no tail or `return` expression [INFO] [stdout] | [INFO] [stdout] = note: expected trait object `(dyn Shape + 'static)` [INFO] [stdout] found unit type `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0746]: return type cannot have an unboxed trait object [INFO] [stdout] --> src/raytracer/shapes/sphere.rs:17:76 [INFO] [stdout] | [INFO] [stdout] 17 | fn new(&self, center: Vector, radius: f32, material: Material) -> Shape { [INFO] [stdout] | ^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] help: box the return type, and wrap all of the returned values in `Box::new` [INFO] [stdout] | [INFO] [stdout] 17 | fn new(&self, center: Vector, radius: f32, material: Material) -> Box { [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0070]: invalid left-hand side of assignment [INFO] [stdout] --> src/raytracer/shapes/sphere.rs:19:22 [INFO] [stdout] | [INFO] [stdout] 19 | &self.radius = radius; [INFO] [stdout] | ------------ ^ [INFO] [stdout] | | [INFO] [stdout] | cannot assign to this expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0070]: invalid left-hand side of assignment [INFO] [stdout] --> src/raytracer/shapes/sphere.rs:20:24 [INFO] [stdout] | [INFO] [stdout] 20 | &self.material = material; [INFO] [stdout] | -------------- ^ [INFO] [stdout] | | [INFO] [stdout] | cannot assign to this expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/raytracer/shapes/sphere.rs:17:76 [INFO] [stdout] | [INFO] [stdout] 17 | fn new(&self, center: Vector, radius: f32, material: Material) -> Shape { [INFO] [stdout] | --- ^^^^^ expected `dyn Shape`, found `()` [INFO] [stdout] | | [INFO] [stdout] | implicitly returns `()` as its body has no tail or `return` expression [INFO] [stdout] | [INFO] [stdout] = note: expected trait object `(dyn Shape + 'static)` [INFO] [stdout] found unit type `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0746]: return type cannot have an unboxed trait object [INFO] [stdout] --> src/raytracer/shapes/sphere.rs:17:76 [INFO] [stdout] | [INFO] [stdout] 17 | fn new(&self, center: Vector, radius: f32, material: Material) -> Shape { [INFO] [stdout] | ^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] help: box the return type, and wrap all of the returned values in `Box::new` [INFO] [stdout] | [INFO] [stdout] 17 | fn new(&self, center: Vector, radius: f32, material: Material) -> Box { [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/raytracer/shapes/sphere.rs:25:42 [INFO] [stdout] | [INFO] [stdout] 25 | let a: f32 = ray.norm_dir.elemul(ray.norm_dir); [INFO] [stdout] | ------ ^^^^^^^^^^^^ expected `&Vector`, found `Vector` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&Vector<_>` [INFO] [stdout] found struct `Vector<_>` [INFO] [stdout] note: method defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rulinalg-0.4.2/src/vector/impl_vec.rs:360:12 [INFO] [stdout] | [INFO] [stdout] 360 | pub fn elemul(&self, v: &Vector) -> Vector { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider borrowing here [INFO] [stdout] | [INFO] [stdout] 25 | let a: f32 = ray.norm_dir.elemul(&ray.norm_dir); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/raytracer/shapes/sphere.rs:25:22 [INFO] [stdout] | [INFO] [stdout] 25 | let a: f32 = ray.norm_dir.elemul(ray.norm_dir); [INFO] [stdout] | --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f32`, found `Vector` [INFO] [stdout] | | [INFO] [stdout] | expected due to this [INFO] [stdout] | [INFO] [stdout] = note: expected type `f32` [INFO] [stdout] found struct `Vector` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/raytracer/shapes/sphere.rs:25:42 [INFO] [stdout] | [INFO] [stdout] 25 | let a: f32 = ray.norm_dir.elemul(ray.norm_dir); [INFO] [stdout] | ------ ^^^^^^^^^^^^ expected `&Vector`, found `Vector` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&Vector<_>` [INFO] [stdout] found struct `Vector<_>` [INFO] [stdout] note: method defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rulinalg-0.4.2/src/vector/impl_vec.rs:360:12 [INFO] [stdout] | [INFO] [stdout] 360 | pub fn elemul(&self, v: &Vector) -> Vector { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider borrowing here [INFO] [stdout] | [INFO] [stdout] 25 | let a: f32 = ray.norm_dir.elemul(&ray.norm_dir); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `ParseArgsError` [INFO] [stdout] --> src/main.rs:36:66 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn parse_args() -> Result<(String, f32), ParseArgsError> { [INFO] [stdout] | ------------------------------------- expected `ParseArgsError` because of this [INFO] [stdout] ... [INFO] [stdout] 36 | Some(argv) => Ok((String::from(&argv[0]), argv[1].parse()?)), [INFO] [stdout] | -------^ the trait `From` is not implemented for `ParseArgsError`, which is required by `Result<(String, f32), ParseArgsError>: FromResidual>` [INFO] [stdout] | | [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, std::num::ParseFloatError>` [INFO] [stdout] | [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] = help: the trait `From` is implemented for `ParseArgsError` [INFO] [stdout] = help: for that trait implementation, expected `ParseIntError`, found `std::num::ParseFloatError` [INFO] [stdout] = note: required for `Result<(String, f32), ParseArgsError>` to implement `FromResidual>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: missing generics for struct `Group` [INFO] [stdout] --> src/main.rs:58:16 [INFO] [stdout] | [INFO] [stdout] 58 | let scene: Group = init_scene(); [INFO] [stdout] | ^^^^^ expected 1 generic argument [INFO] [stdout] | [INFO] [stdout] note: struct defined here, with 1 generic parameter: `Shape` [INFO] [stdout] --> src/raytracer/shapes/group.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Group<'a, Shape> { [INFO] [stdout] | ^^^^^ ----- [INFO] [stdout] help: add missing generic argument [INFO] [stdout] | [INFO] [stdout] 58 | let scene: Group = init_scene(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/raytracer/shapes/sphere.rs:25:22 [INFO] [stdout] | [INFO] [stdout] 25 | let a: f32 = ray.norm_dir.elemul(ray.norm_dir); [INFO] [stdout] | --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f32`, found `Vector` [INFO] [stdout] | | [INFO] [stdout] | expected due to this [INFO] [stdout] | [INFO] [stdout] = note: expected type `f32` [INFO] [stdout] found struct `Vector` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `u32: From` is not satisfied [INFO] [stdout] --> src/main.rs:51:62 [INFO] [stdout] | [INFO] [stdout] 51 | let width = clamp::((WIDTH as f32 * res_multiplier).into(), 0, 8126); [INFO] [stdout] | ^^^^ the trait `From` is not implemented for `u32`, which is required by `f32: Into<_>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] > [INFO] [stdout] > [INFO] [stdout] > [INFO] [stdout] > [INFO] [stdout] > [INFO] [stdout] > [INFO] [stdout] = note: required for `f32` to implement `Into` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `u32: From` is not satisfied [INFO] [stdout] --> src/main.rs:52:64 [INFO] [stdout] | [INFO] [stdout] 52 | let height = clamp::((HEIGHT as f32 * res_multiplier).into(), 0, 8126); [INFO] [stdout] | ^^^^ the trait `From` is not implemented for `u32`, which is required by `f32: Into<_>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] > [INFO] [stdout] > [INFO] [stdout] > [INFO] [stdout] > [INFO] [stdout] > [INFO] [stdout] > [INFO] [stdout] = note: required for `f32` to implement `Into` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `(dyn Shape + 'static)` cannot be known at compilation time [INFO] [stdout] --> src/main.rs:58:24 [INFO] [stdout] | [INFO] [stdout] 58 | let scene: Group = init_scene(); [INFO] [stdout] | ^^^^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sized` is not implemented for `(dyn Shape + 'static)` [INFO] [stdout] note: required by an implicit `Sized` bound in `Group` [INFO] [stdout] --> src/raytracer/shapes/group.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Group<'a, Shape> { [INFO] [stdout] | ^^^^^ required by the implicit `Sized` requirement on this type parameter in `Group` [INFO] [stdout] help: consider relaxing the implicit `Sized` restriction [INFO] [stdout] --> src/raytracer/shapes/group.rs:10:27 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Group<'a, Shape: ?Sized> { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:66:20 [INFO] [stdout] | [INFO] [stdout] 66 | fn init_scene() -> Group<'static, Shape> { [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^^^^^^^^ expected `Group<'_, dyn Shape>`, found `()` [INFO] [stdout] | | [INFO] [stdout] | implicitly returns `()` as its body has no tail or `return` expression [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Group<'static, (dyn Shape + 'static)>` [INFO] [stdout] found unit type `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error to `ParseArgsError` [INFO] [stdout] --> src/main.rs:36:66 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn parse_args() -> Result<(String, f32), ParseArgsError> { [INFO] [stdout] | ------------------------------------- expected `ParseArgsError` because of this [INFO] [stdout] ... [INFO] [stdout] 36 | Some(argv) => Ok((String::from(&argv[0]), argv[1].parse()?)), [INFO] [stdout] | -------^ the trait `From` is not implemented for `ParseArgsError`, which is required by `Result<(String, f32), ParseArgsError>: FromResidual>` [INFO] [stdout] | | [INFO] [stdout] | this can't be annotated with `?` because it has type `Result<_, std::num::ParseFloatError>` [INFO] [stdout] | [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] = help: the trait `From` is implemented for `ParseArgsError` [INFO] [stdout] = help: for that trait implementation, expected `ParseIntError`, found `std::num::ParseFloatError` [INFO] [stdout] = note: required for `Result<(String, f32), ParseArgsError>` to implement `FromResidual>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: missing generics for struct `Group` [INFO] [stdout] --> src/main.rs:58:16 [INFO] [stdout] | [INFO] [stdout] 58 | let scene: Group = init_scene(); [INFO] [stdout] | ^^^^^ expected 1 generic argument [INFO] [stdout] | [INFO] [stdout] note: struct defined here, with 1 generic parameter: `Shape` [INFO] [stdout] --> src/raytracer/shapes/group.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Group<'a, Shape> { [INFO] [stdout] | ^^^^^ ----- [INFO] [stdout] help: add missing generic argument [INFO] [stdout] | [INFO] [stdout] 58 | let scene: Group = init_scene(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `u32: From` is not satisfied [INFO] [stdout] --> src/main.rs:51:62 [INFO] [stdout] | [INFO] [stdout] 51 | let width = clamp::((WIDTH as f32 * res_multiplier).into(), 0, 8126); [INFO] [stdout] | ^^^^ the trait `From` is not implemented for `u32`, which is required by `f32: Into<_>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] > [INFO] [stdout] > [INFO] [stdout] > [INFO] [stdout] > [INFO] [stdout] > [INFO] [stdout] > [INFO] [stdout] = note: required for `f32` to implement `Into` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `u32: From` is not satisfied [INFO] [stdout] --> src/main.rs:52:64 [INFO] [stdout] | [INFO] [stdout] 52 | let height = clamp::((HEIGHT as f32 * res_multiplier).into(), 0, 8126); [INFO] [stdout] | ^^^^ the trait `From` is not implemented for `u32`, which is required by `f32: Into<_>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] > [INFO] [stdout] > [INFO] [stdout] > [INFO] [stdout] > [INFO] [stdout] > [INFO] [stdout] > [INFO] [stdout] = note: required for `f32` to implement `Into` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `(dyn Shape + 'static)` cannot be known at compilation time [INFO] [stdout] --> src/main.rs:58:24 [INFO] [stdout] | [INFO] [stdout] 58 | let scene: Group = init_scene(); [INFO] [stdout] | ^^^^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sized` is not implemented for `(dyn Shape + 'static)` [INFO] [stdout] note: required by an implicit `Sized` bound in `Group` [INFO] [stdout] --> src/raytracer/shapes/group.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Group<'a, Shape> { [INFO] [stdout] | ^^^^^ required by the implicit `Sized` requirement on this type parameter in `Group` [INFO] [stdout] help: consider relaxing the implicit `Sized` restriction [INFO] [stdout] --> src/raytracer/shapes/group.rs:10:27 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Group<'a, Shape: ?Sized> { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:66:20 [INFO] [stdout] | [INFO] [stdout] 66 | fn init_scene() -> Group<'static, Shape> { [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^^^^^^^^ expected `Group<'_, dyn Shape>`, found `()` [INFO] [stdout] | | [INFO] [stdout] | implicitly returns `()` as its body has no tail or `return` expression [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Group<'static, (dyn Shape + 'static)>` [INFO] [stdout] found unit type `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 33 previous errors; 13 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0010, E0015, E0046, E0050, E0070, E0107, E0186, E0277, E0308... [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0010`. [INFO] [stdout] [INFO] [stdout] error: aborting due to 33 previous errors; 13 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0010, E0015, E0046, E0050, E0070, E0107, E0186, E0277, E0308... [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0010`. [INFO] [stdout] [INFO] [stderr] error: could not compile `rosengarten` (bin "rosengarten") due to 34 previous errors; 13 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `rosengarten` (bin "rosengarten" test) due to 34 previous errors; 13 warnings emitted [INFO] running `Command { std: "docker" "inspect" "243b758fdf96a0436eb8eb68fe1fdecbf7ca9a07583182371afbe822682c9b4d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "243b758fdf96a0436eb8eb68fe1fdecbf7ca9a07583182371afbe822682c9b4d", kill_on_drop: false }` [INFO] [stdout] 243b758fdf96a0436eb8eb68fe1fdecbf7ca9a07583182371afbe822682c9b4d