[INFO] updating cached repository jcmorrow/ray_tracer [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/jcmorrow/ray_tracer [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/jcmorrow/ray_tracer" "work/ex/pr-60914/sources/master#39401465da4ce27aeeb2c2a26133ac35c63aa515/gh/jcmorrow/ray_tracer"` [INFO] [stderr] Cloning into 'work/ex/pr-60914/sources/master#39401465da4ce27aeeb2c2a26133ac35c63aa515/gh/jcmorrow/ray_tracer'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/jcmorrow/ray_tracer" "work/ex/pr-60914/sources/try#f45cc3094ee337acd688771b9234318046b0572d/gh/jcmorrow/ray_tracer"` [INFO] [stderr] Cloning into 'work/ex/pr-60914/sources/try#f45cc3094ee337acd688771b9234318046b0572d/gh/jcmorrow/ray_tracer'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] bfde7ff394acbb9982bee10b0fa92422228e3e11 [INFO] sha for GitHub repo jcmorrow/ray_tracer: bfde7ff394acbb9982bee10b0fa92422228e3e11 [INFO] validating manifest of jcmorrow/ray_tracer on toolchain master#39401465da4ce27aeeb2c2a26133ac35c63aa515 [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+39401465da4ce27aeeb2c2a26133ac35c63aa515-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of jcmorrow/ray_tracer on toolchain try#f45cc3094ee337acd688771b9234318046b0572d [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+f45cc3094ee337acd688771b9234318046b0572d-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing jcmorrow/ray_tracer [INFO] finished frobbing jcmorrow/ray_tracer [INFO] frobbed toml for jcmorrow/ray_tracer written to work/ex/pr-60914/sources/master#39401465da4ce27aeeb2c2a26133ac35c63aa515/gh/jcmorrow/ray_tracer/Cargo.toml [INFO] started frobbing jcmorrow/ray_tracer [INFO] finished frobbing jcmorrow/ray_tracer [INFO] frobbed toml for jcmorrow/ray_tracer written to work/ex/pr-60914/sources/try#f45cc3094ee337acd688771b9234318046b0572d/gh/jcmorrow/ray_tracer/Cargo.toml [INFO] crate jcmorrow/ray_tracer already has a lockfile, it will not be regenerated [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+39401465da4ce27aeeb2c2a26133ac35c63aa515-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+f45cc3094ee337acd688771b9234318046b0572d-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking jcmorrow/ray_tracer against master#39401465da4ce27aeeb2c2a26133ac35c63aa515 for pr-60914 [INFO] running `"docker" "create" "-v" "/mnt/crater-raid/crater/work/local/target-dirs/pr-60914/worker-5/master#39401465da4ce27aeeb2c2a26133ac35c63aa515:/opt/crater/target:rw,Z" "-v" "/mnt/crater-raid/crater/work/ex/pr-60914/sources/master#39401465da4ce27aeeb2c2a26133ac35c63aa515/gh/jcmorrow/ray_tracer:/opt/crater/workdir:ro,Z" "-v" "/mnt/crater-raid/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/crater-raid/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+39401465da4ce27aeeb2c2a26133ac35c63aa515-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 1a72383b9f62a78888bb5302d6a39443754559a1157b8136a1e2d25698e83d92 [INFO] running `"docker" "start" "-a" "1a72383b9f62a78888bb5302d6a39443754559a1157b8136a1e2d25698e83d92"` [INFO] [stderr] Checking chrono v0.4.6 [INFO] [stderr] Checking jpeg-decoder v0.1.15 [INFO] [stderr] Checking image v0.18.0 [INFO] [stderr] Checking noise v0.5.1 [INFO] [stderr] Checking ray_tracer v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/material.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/patternable.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `intersectable::IntersectableType` [INFO] [stderr] --> src/ray.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use intersectable::IntersectableType; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `intersectable::Group` [INFO] [stderr] --> src/intersectable.rs:328:9 [INFO] [stderr] | [INFO] [stderr] 328 | use intersectable::Group; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ no `Group` in `intersectable` [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `patternable::Stripe` [INFO] [stderr] --> src/material.rs:81:9 [INFO] [stderr] | [INFO] [stderr] 81 | use patternable::Stripe; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ no `Stripe` in `patternable` [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `pattern` [INFO] [stderr] --> src/patternable.rs:212:9 [INFO] [stderr] | [INFO] [stderr] 212 | use pattern::Gradient; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | unresolved import [INFO] [stderr] | help: a similar path exists: `std::str::pattern` [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `pattern` [INFO] [stderr] --> src/patternable.rs:213:9 [INFO] [stderr] | [INFO] [stderr] 213 | use pattern::Patternable; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | unresolved import [INFO] [stderr] | help: a similar path exists: `std::str::pattern` [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `pattern` [INFO] [stderr] --> src/patternable.rs:214:9 [INFO] [stderr] | [INFO] [stderr] 214 | use pattern::Stripe; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | unresolved import [INFO] [stderr] | help: a similar path exists: `std::str::pattern` [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `intersectable::Sphere` [INFO] [stderr] --> src/ray.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | use intersectable::Sphere; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ no `Sphere` in `intersectable` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Triangle` [INFO] [stderr] --> src/intersectable.rs:337:17 [INFO] [stderr] | [INFO] [stderr] 337 | let s = Triangle::new(point(0., 1., 0.), point(-1., 0., 0.), point(1., 0., 0.)); [INFO] [stderr] | ^^^^^^^^ use of undeclared type or module `Triangle` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Arc` [INFO] [stderr] --> src/material.rs:201:21 [INFO] [stderr] | [INFO] [stderr] 201 | m.pattern = Arc::new(Stripe::new(Color::black(), Color::white())); [INFO] [stderr] | ^^^ use of undeclared type or module `Arc` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Arc` [INFO] [stderr] --> src/ray.rs:199:28 [INFO] [stderr] | [INFO] [stderr] 199 | intersectable: Arc::new(Sphere {}), [INFO] [stderr] | ^^^ use of undeclared type or module `Arc` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Arc` [INFO] [stderr] --> src/ray.rs:217:28 [INFO] [stderr] | [INFO] [stderr] 217 | intersectable: Arc::new(Sphere {}), [INFO] [stderr] | ^^^ use of undeclared type or module `Arc` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Arc` [INFO] [stderr] --> src/shape.rs:137:28 [INFO] [stderr] | [INFO] [stderr] 137 | intersectable: Arc::new(Sphere {}), [INFO] [stderr] | ^^^ use of undeclared type or module `Arc` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Arc` [INFO] [stderr] --> src/shape.rs:163:28 [INFO] [stderr] | [INFO] [stderr] 163 | intersectable: Arc::new(Sphere {}), [INFO] [stderr] | ^^^ use of undeclared type or module `Arc` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Arc` [INFO] [stderr] --> src/shape.rs:172:28 [INFO] [stderr] | [INFO] [stderr] 172 | intersectable: Arc::new(Sphere {}), [INFO] [stderr] | ^^^ use of undeclared type or module `Arc` [INFO] [stderr] [INFO] [stderr] error[E0422]: cannot find struct, variant or union type `Sphere` in this scope [INFO] [stderr] --> src/shape.rs:137:37 [INFO] [stderr] | [INFO] [stderr] 137 | intersectable: Arc::new(Sphere {}), [INFO] [stderr] | ^^^^^^ not found in this scope [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 113 | use intersectable::IntersectableType::Sphere; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0422]: cannot find struct, variant or union type `Sphere` in this scope [INFO] [stderr] --> src/shape.rs:163:37 [INFO] [stderr] | [INFO] [stderr] 163 | intersectable: Arc::new(Sphere {}), [INFO] [stderr] | ^^^^^^ not found in this scope [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 113 | use intersectable::IntersectableType::Sphere; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0422]: cannot find struct, variant or union type `Sphere` in this scope [INFO] [stderr] --> src/shape.rs:172:37 [INFO] [stderr] | [INFO] [stderr] 172 | intersectable: Arc::new(Sphere {}), [INFO] [stderr] | ^^^^^^ not found in this scope [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 113 | use intersectable::IntersectableType::Sphere; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/material.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/patternable.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `intersectable::IntersectableType` [INFO] [stderr] --> src/ray.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use intersectable::IntersectableType; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `intersectable::*` [INFO] [stderr] --> src/shape.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | use intersectable::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/matrix.rs:138:21 [INFO] [stderr] | [INFO] [stderr] 138 | let mut cofactor = self.cofactor(col, row); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Bounds` [INFO] [stderr] --> src/bounds.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | pub struct Bounds { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/bounds.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn new(xmin: f64, xmax: f64, ymin: f64, ymax: f64, zmin: f64, zmax: f64) -> Bounds { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `check_axis` [INFO] [stderr] --> src/bounds.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | fn check_axis(&self, origin: f64, direction: f64, min: f64, max: f64) -> (f64, f64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `hits` [INFO] [stderr] --> src/bounds.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn hits(&self, ray: &Ray) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `field_of_view` [INFO] [stderr] --> src/camera.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | field_of_view: f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `write_pixel` [INFO] [stderr] --> src/canvas.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn write_pixel(&mut self, column: usize, row: usize, color: &Color) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pixel_at` [INFO] [stderr] --> src/canvas.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn pixel_at(&self, column: usize, row: usize) -> Color { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `write_all_pixels` [INFO] [stderr] --> src/canvas.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | fn write_all_pixels(&mut self, color: &Color) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Cube` [INFO] [stderr] --> src/intersectable.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | Cube, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Group` [INFO] [stderr] --> src/intersectable.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | Group, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Triangle` [INFO] [stderr] --> src/intersectable.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | Triangle, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `cube` [INFO] [stderr] --> src/intersectable.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | pub fn cube() -> Intersectable { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `triangle` [INFO] [stderr] --> src/intersectable.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | pub fn triangle(p1: Point, p2: Point, p3: Point) -> Intersectable { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `group` [INFO] [stderr] --> src/intersectable.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn group() -> Intersectable { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add` [INFO] [stderr] --> src/intersectable.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | pub fn add(&mut self, shape: Arc) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `bounds` [INFO] [stderr] --> src/intersectable.rs:125:5 [INFO] [stderr] | [INFO] [stderr] 125 | pub fn bounds(&self, shape: &Shape) -> Bounds { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `bounds_sphere` [INFO] [stderr] --> src/intersectable.rs:138:5 [INFO] [stderr] | [INFO] [stderr] 138 | fn bounds_sphere(&self, _shape: &Shape) -> Bounds { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `bounds_plane` [INFO] [stderr] --> src/intersectable.rs:169:5 [INFO] [stderr] | [INFO] [stderr] 169 | fn bounds_plane(&self, _shape: &Shape) -> Bounds { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `bounds_cube` [INFO] [stderr] --> src/intersectable.rs:222:5 [INFO] [stderr] | [INFO] [stderr] 222 | fn bounds_cube(&self, _shape: &Shape) -> Bounds { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `local_normal_at_triangle` [INFO] [stderr] --> src/intersectable.rs:253:5 [INFO] [stderr] | [INFO] [stderr] 253 | fn local_normal_at_triangle(&self, _local_point: &Point) -> Point { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `bounds_triangle` [INFO] [stderr] --> src/intersectable.rs:257:5 [INFO] [stderr] | [INFO] [stderr] 257 | fn bounds_triangle(&self, _shape: &Shape) -> Bounds { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `local_intersect_triangle` [INFO] [stderr] --> src/intersectable.rs:268:5 [INFO] [stderr] | [INFO] [stderr] 268 | fn local_intersect_triangle(&self, ray: &Ray, object: Arc) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `bounds_group` [INFO] [stderr] --> src/intersectable.rs:297:5 [INFO] [stderr] | [INFO] [stderr] 297 | fn bounds_group(&self, shape: &Shape) -> Bounds { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `local_intersect_group` [INFO] [stderr] --> src/intersectable.rs:310:5 [INFO] [stderr] | [INFO] [stderr] 310 | fn local_intersect_group(&self, ray: &Ray, object: Arc) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_group` [INFO] [stderr] --> src/intersectable.rs:321:5 [INFO] [stderr] | [INFO] [stderr] 321 | fn add_group(&mut self, shape: Arc) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `rotation_x` [INFO] [stderr] --> src/matrix.rs:162:5 [INFO] [stderr] | [INFO] [stderr] 162 | pub fn rotation_x(radians: f64) -> Matrix4 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `rotation_z` [INFO] [stderr] --> src/matrix.rs:180:5 [INFO] [stderr] | [INFO] [stderr] 180 | pub fn rotation_z(radians: f64) -> Matrix4 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `shearing` [INFO] [stderr] --> src/matrix.rs:189:5 [INFO] [stderr] | [INFO] [stderr] 189 | pub fn shearing(xy: f64, xz: f64, yx: f64, yz: f64, zx: f64, zy: f64) -> Matrix4 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `equal` [INFO] [stderr] --> src/matrix.rs:215:5 [INFO] [stderr] | [INFO] [stderr] 215 | pub fn equal(&self, other: &Matrix3) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `equal` [INFO] [stderr] --> src/matrix.rs:280:5 [INFO] [stderr] | [INFO] [stderr] 280 | pub fn equal(&self, other: &Matrix2) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Blended` [INFO] [stderr] --> src/patternable.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | Blended, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Checker` [INFO] [stderr] --> src/patternable.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | Checker, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Ring` [INFO] [stderr] --> src/patternable.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | Ring, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Stripe` [INFO] [stderr] --> src/patternable.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | Stripe, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `checker` [INFO] [stderr] --> src/patternable.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | pub fn checker(color: Color, secondary: Color) -> Patternable { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `stripe` [INFO] [stderr] --> src/patternable.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn stripe(color: Color, secondary: Color) -> Patternable { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `ring` [INFO] [stderr] --> src/patternable.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn ring(color: Color, secondary: Color) -> Patternable { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `blended` [INFO] [stderr] --> src/patternable.rs:100:5 [INFO] [stderr] | [INFO] [stderr] 100 | pub fn blended(primary_pattern: Patternable, secondary_pattern: Patternable) -> Patternable { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `color_at_ring` [INFO] [stderr] --> src/patternable.rs:171:5 [INFO] [stderr] | [INFO] [stderr] 171 | fn color_at_ring(&self, point: &Point) -> Color { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `empty_vector` [INFO] [stderr] --> src/point/mod.rs:30:1 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn empty_vector() -> Point { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `bounds` [INFO] [stderr] --> src/point/mod.rs:34:1 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn bounds(points: Vec) -> Bounds { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_point` [INFO] [stderr] --> src/point/mod.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | fn is_point(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_vector` [INFO] [stderr] --> src/point/mod.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | fn is_vector(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `equal` [INFO] [stderr] --> src/point/mod.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | pub fn equal(&self, other: &Point) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `negative` [INFO] [stderr] --> src/point/mod.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 114 | fn negative(&self) -> Point { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_group` [INFO] [stderr] --> src/shape.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | pub fn add_group(mut group: Arc, mut shape: Arc) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_shape` [INFO] [stderr] --> src/shape.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | pub fn add_shape(mut group: Arc, mut shape: Arc) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `world_to_object` [INFO] [stderr] --> src/shape.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | pub fn world_to_object(&self, world_point: &Point) -> Point { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `bounds` [INFO] [stderr] --> src/shape.rs:100:5 [INFO] [stderr] | [INFO] [stderr] 100 | pub fn bounds(&self) -> Bounds { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ray_count` should have an upper case name [INFO] [stderr] --> src/ray.rs:11:22 [INFO] [stderr] | [INFO] [stderr] 11 | thread_local!(static ray_count: RefCell = RefCell::new(0)); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper case: `RAY_COUNT` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_upper_case_globals)] on by default [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/intersectable.rs:349:28 [INFO] [stderr] | [INFO] [stderr] 349 | intersectable: Arc::new(g), [INFO] [stderr] | ^^^^^^^^^^^ expected struct `intersectable::Intersectable`, found struct `std::sync::Arc` [INFO] [stderr] | [INFO] [stderr] = note: expected type `intersectable::Intersectable` [INFO] [stderr] found type `std::sync::Arc<_>` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/intersectable.rs:358:24 [INFO] [stderr] | [INFO] [stderr] 358 | assert_eq!(ray.intersect(&s).len(), 0); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] | [INFO] [stderr] ::: src/ray.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0599]: no function or associated item named `group` found for type `shape::Shape` in the current scope [INFO] [stderr] --> src/intersectable.rs:363:28 [INFO] [stderr] | [INFO] [stderr] 363 | let mut g = Shape::group(); [INFO] [stderr] | ^^^^^ function or associated item not found in `shape::Shape` [INFO] [stderr] | [INFO] [stderr] ::: src/shape.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub struct Shape { [INFO] [stderr] | ---------------- function or associated item `group` not found for this [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/intersectable.rs:378:24 [INFO] [stderr] | [INFO] [stderr] 378 | assert_eq!(ray.intersect(&g.borrow()).len(), 4); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] | [INFO] [stderr] ::: src/ray.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0599]: no function or associated item named `group` found for type `shape::Shape` in the current scope [INFO] [stderr] --> src/intersectable.rs:383:25 [INFO] [stderr] | [INFO] [stderr] 383 | let g1 = Shape::group(); [INFO] [stderr] | ^^^^^ function or associated item not found in `shape::Shape` [INFO] [stderr] | [INFO] [stderr] ::: src/shape.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub struct Shape { [INFO] [stderr] | ---------------- function or associated item `group` not found for this [INFO] [stderr] [INFO] [stderr] error[E0599]: no function or associated item named `group` found for type `shape::Shape` in the current scope [INFO] [stderr] --> src/intersectable.rs:385:25 [INFO] [stderr] | [INFO] [stderr] 385 | let g2 = Shape::group(); [INFO] [stderr] | ^^^^^ function or associated item not found in `shape::Shape` [INFO] [stderr] | [INFO] [stderr] ::: src/shape.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub struct Shape { [INFO] [stderr] | ---------------- function or associated item `group` not found for this [INFO] [stderr] [INFO] [stderr] error[E0599]: no function or associated item named `group` found for type `shape::Shape` in the current scope [INFO] [stderr] --> src/intersectable.rs:398:25 [INFO] [stderr] | [INFO] [stderr] 398 | let g1 = Shape::group(); [INFO] [stderr] | ^^^^^ function or associated item not found in `shape::Shape` [INFO] [stderr] | [INFO] [stderr] ::: src/shape.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub struct Shape { [INFO] [stderr] | ---------------- function or associated item `group` not found for this [INFO] [stderr] [INFO] [stderr] error[E0599]: no function or associated item named `group` found for type `shape::Shape` in the current scope [INFO] [stderr] --> src/intersectable.rs:400:25 [INFO] [stderr] | [INFO] [stderr] 400 | let g2 = Shape::group(); [INFO] [stderr] | ^^^^^ function or associated item not found in `shape::Shape` [INFO] [stderr] | [INFO] [stderr] ::: src/shape.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub struct Shape { [INFO] [stderr] | ---------------- function or associated item `group` not found for this [INFO] [stderr] [INFO] [stderr] error[E0599]: no function or associated item named `group` found for type `shape::Shape` in the current scope [INFO] [stderr] --> src/intersectable.rs:415:25 [INFO] [stderr] | [INFO] [stderr] 415 | let g1 = Shape::group(); [INFO] [stderr] | ^^^^^ function or associated item not found in `shape::Shape` [INFO] [stderr] | [INFO] [stderr] ::: src/shape.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub struct Shape { [INFO] [stderr] | ---------------- function or associated item `group` not found for this [INFO] [stderr] [INFO] [stderr] error[E0599]: no function or associated item named `group` found for type `shape::Shape` in the current scope [INFO] [stderr] --> src/intersectable.rs:417:25 [INFO] [stderr] | [INFO] [stderr] 417 | let g2 = Shape::group(); [INFO] [stderr] | ^^^^^ function or associated item not found in `shape::Shape` [INFO] [stderr] | [INFO] [stderr] ::: src/shape.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub struct Shape { [INFO] [stderr] | ---------------- function or associated item `group` not found for this [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/ray.rs:102:22 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] ... [INFO] [stderr] 102 | let xs = ray.intersect(&s); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/ray.rs:116:22 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] ... [INFO] [stderr] 116 | let xs = ray.intersect(&s); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/ray.rs:130:22 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] ... [INFO] [stderr] 130 | let xs = ray.intersect(&s); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/ray.rs:142:22 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] ... [INFO] [stderr] 142 | let xs = ray.intersect(&s); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/ray.rs:156:22 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] ... [INFO] [stderr] 156 | let xs = ray.intersect(&s); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/ray.rs:202:20 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] ... [INFO] [stderr] 202 | let xs = r.intersect(&s); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/ray.rs:222:20 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] ... [INFO] [stderr] 222 | let xs = r.intersect(&s); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/shape.rs:197:22 [INFO] [stderr] | [INFO] [stderr] 197 | assert_eq!(r.intersect(&s).len(), 0); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] | [INFO] [stderr] ::: src/ray.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/shape.rs:208:22 [INFO] [stderr] | [INFO] [stderr] 208 | assert_eq!(r.intersect(&s).len(), 0); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] | [INFO] [stderr] ::: src/ray.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/shape.rs:219:22 [INFO] [stderr] | [INFO] [stderr] 219 | assert_eq!(r.intersect(&s).len(), 1); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] | [INFO] [stderr] ::: src/ray.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/shape.rs:220:22 [INFO] [stderr] | [INFO] [stderr] 220 | assert_eq!(r.intersect(&s)[0].t, 1.); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] | [INFO] [stderr] ::: src/ray.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/shape.rs:221:22 [INFO] [stderr] | [INFO] [stderr] 221 | assert_eq!(r.intersect(&s)[0].object, s); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] | [INFO] [stderr] ::: src/ray.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0599]: no function or associated item named `cube` found for type `shape::Shape` in the current scope [INFO] [stderr] --> src/shape.rs:226:24 [INFO] [stderr] | [INFO] [stderr] 10 | pub struct Shape { [INFO] [stderr] | ---------------- function or associated item `cube` not found for this [INFO] [stderr] ... [INFO] [stderr] 226 | let s = Shape::cube(); [INFO] [stderr] | ^^^^ function or associated item not found in `shape::Shape` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/shape.rs:256:51 [INFO] [stderr] | [INFO] [stderr] 256 | let positive_x_intersections = positive_x.intersect(&s); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] | [INFO] [stderr] ::: src/ray.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/shape.rs:262:51 [INFO] [stderr] | [INFO] [stderr] 262 | let negative_x_intersections = negative_x.intersect(&s); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] | [INFO] [stderr] ::: src/ray.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/shape.rs:268:51 [INFO] [stderr] | [INFO] [stderr] 268 | let positive_y_intersections = positive_y.intersect(&s); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] | [INFO] [stderr] ::: src/ray.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/shape.rs:274:51 [INFO] [stderr] | [INFO] [stderr] 274 | let negative_y_intersections = negative_y.intersect(&s); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] | [INFO] [stderr] ::: src/ray.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/shape.rs:280:51 [INFO] [stderr] | [INFO] [stderr] 280 | let positive_z_intersections = positive_z.intersect(&s); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] | [INFO] [stderr] ::: src/ray.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/shape.rs:286:51 [INFO] [stderr] | [INFO] [stderr] 286 | let negative_z_intersections = negative_z.intersect(&s); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] | [INFO] [stderr] ::: src/ray.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/shape.rs:292:43 [INFO] [stderr] | [INFO] [stderr] 292 | let inside_intersections = inside.intersect(&s); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] | [INFO] [stderr] ::: src/ray.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0599]: no function or associated item named `cube` found for type `shape::Shape` in the current scope [INFO] [stderr] --> src/shape.rs:302:24 [INFO] [stderr] | [INFO] [stderr] 10 | pub struct Shape { [INFO] [stderr] | ---------------- function or associated item `cube` not found for this [INFO] [stderr] ... [INFO] [stderr] 302 | let s = Shape::cube(); [INFO] [stderr] | ^^^^ function or associated item not found in `shape::Shape` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/shape.rs:308:24 [INFO] [stderr] | [INFO] [stderr] 308 | assert_eq!(ray.intersect(&s).len(), 0); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] | [INFO] [stderr] ::: src/ray.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0599]: no function or associated item named `triangle` found for type `shape::Shape` in the current scope [INFO] [stderr] --> src/shape.rs:312:16 [INFO] [stderr] | [INFO] [stderr] 10 | pub struct Shape { [INFO] [stderr] | ---------------- function or associated item `triangle` not found for this [INFO] [stderr] ... [INFO] [stderr] 312 | Shape::triangle(point(0., 1., 0.), point(-1., 0., 0.), point(1., 0., 0.)) [INFO] [stderr] | ^^^^^^^^ function or associated item not found in `shape::Shape` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/shape.rs:331:25 [INFO] [stderr] | [INFO] [stderr] 331 | assert_eq!(ray1.intersect(&t).len(), 0); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] | [INFO] [stderr] ::: src/ray.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/shape.rs:332:25 [INFO] [stderr] | [INFO] [stderr] 332 | assert_eq!(ray2.intersect(&t).len(), 0); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] | [INFO] [stderr] ::: src/ray.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/shape.rs:333:25 [INFO] [stderr] | [INFO] [stderr] 333 | assert_eq!(ray3.intersect(&t).len(), 0); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] | [INFO] [stderr] ::: src/ray.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/shape.rs:344:24 [INFO] [stderr] | [INFO] [stderr] 344 | assert_eq!(ray.intersect(&t).len(), 1); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] | [INFO] [stderr] ::: src/ray.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 2 parameters but 1 parameter was supplied [INFO] [stderr] --> src/shape.rs:345:24 [INFO] [stderr] | [INFO] [stderr] 345 | assert_eq!(ray.intersect(&t)[0].t, 2.); [INFO] [stderr] | ^^^^^^^^^ expected 2 parameters [INFO] [stderr] | [INFO] [stderr] ::: src/ray.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn intersect(&self, shape: Arc, intersectable: Intersectable) -> Vec { [INFO] [stderr] | --------------------------------------------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error: aborting due to 54 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0061, E0308, E0422, E0432, E0433, E0599. [INFO] [stderr] For more information about an error, try `rustc --explain E0061`. [INFO] [stderr] error: Could not compile `ray_tracer`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "1a72383b9f62a78888bb5302d6a39443754559a1157b8136a1e2d25698e83d92"` [INFO] running `"docker" "rm" "-f" "1a72383b9f62a78888bb5302d6a39443754559a1157b8136a1e2d25698e83d92"` [INFO] [stdout] 1a72383b9f62a78888bb5302d6a39443754559a1157b8136a1e2d25698e83d92