[INFO] cloning repository https://github.com/natnat-mc/rmarcher
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/natnat-mc/rmarcher" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnatnat-mc%2Frmarcher", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnatnat-mc%2Frmarcher'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ed05131b8425c306744361176f86c0c6df35951f
[INFO] checking natnat-mc/rmarcher against master#46424fb5054f211ec836c5c03159f92e46bb35ac for pr-139042
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnatnat-mc%2Frmarcher" "/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/natnat-mc/rmarcher on toolchain 46424fb5054f211ec836c5c03159f92e46bb35ac
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+46424fb5054f211ec836c5c03159f92e46bb35ac" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/natnat-mc/rmarcher
[INFO] finished tweaking git repo https://github.com/natnat-mc/rmarcher
[INFO] tweaked toml for git repo https://github.com/natnat-mc/rmarcher written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/natnat-mc/rmarcher 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" "+46424fb5054f211ec836c5c03159f92e46bb35ac" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-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:4b26683ee3c49f365255c425c23003cbf4366de097804722c29c5bbbee3624d2" "/opt/rustwide/cargo-home/bin/cargo" "+46424fb5054f211ec836c5c03159f92e46bb35ac" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 848df266ec56ce1410e9b0876ad820fe9c9345258160aa7d64d0151929444fdd
[INFO] running `Command { std: "docker" "start" "-a" "848df266ec56ce1410e9b0876ad820fe9c9345258160aa7d64d0151929444fdd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "848df266ec56ce1410e9b0876ad820fe9c9345258160aa7d64d0151929444fdd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "848df266ec56ce1410e9b0876ad820fe9c9345258160aa7d64d0151929444fdd", kill_on_drop: false }`
[INFO] [stdout] 848df266ec56ce1410e9b0876ad820fe9c9345258160aa7d64d0151929444fdd
[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:4b26683ee3c49f365255c425c23003cbf4366de097804722c29c5bbbee3624d2" "/opt/rustwide/cargo-home/bin/cargo" "+46424fb5054f211ec836c5c03159f92e46bb35ac" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b4b0c6881f817b71471d5aff1b723ac4b2f4c341e3da20f40e29f100730a14e0
[INFO] running `Command { std: "docker" "start" "-a" "b4b0c6881f817b71471d5aff1b723ac4b2f4c341e3da20f40e29f100730a14e0", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling libc v0.2.93
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]    Compiling rayon-core v1.9.0
[INFO] [stderr]    Compiling getrandom v0.2.2
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]     Checking adler32 v1.2.0
[INFO] [stderr]    Compiling crc32fast v1.2.1
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]     Checking weezl v0.1.4
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]    Compiling cc v1.0.67
[INFO] [stderr]     Checking miniz_oxide v0.3.7
[INFO] [stderr]     Checking ppv-lite86 v0.2.10
[INFO] [stderr]    Compiling crossbeam-utils v0.8.3
[INFO] [stderr]    Compiling memoffset v0.6.3
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]    Compiling rayon v1.5.0
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]     Checking rand_core v0.6.2
[INFO] [stderr]     Checking deflate v0.8.6
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking rand_chacha v0.3.0
[INFO] [stderr]    Compiling rlua v0.17.0
[INFO] [stderr]     Checking bstr v0.2.15
[INFO] [stderr]     Checking gif v0.11.2
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking bytemuck v1.5.1
[INFO] [stderr]     Checking crossbeam-epoch v0.9.3
[INFO] [stderr]     Checking crossbeam-channel v0.5.0
[INFO] [stderr]     Checking crossbeam-queue v0.3.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.0
[INFO] [stderr]     Checking rand v0.8.3
[INFO] [stderr]     Checking crossbeam v0.8.0
[INFO] [stderr]     Checking png v0.16.8
[INFO] [stderr]     Checking jpeg-decoder v0.1.22
[INFO] [stderr]     Checking tiff v0.6.1
[INFO] [stderr]     Checking image v0.23.14
[INFO] [stderr]     Checking rmarcher v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `WithDynamicMaterial`
[INFO] [stdout]   --> src/object/mod.rs:76:39
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub use with_material::{WithMaterial, WithDynamicMaterial};
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Image`
[INFO] [stdout]   --> src/structs/mod.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use cam::{Cam, Image};
[INFO] [stdout]    |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WithDynamicMaterial`
[INFO] [stdout]   --> src/object/mod.rs:76:39
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub use with_material::{WithMaterial, WithDynamicMaterial};
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Image`
[INFO] [stdout]   --> src/structs/mod.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use cam::{Cam, Image};
[INFO] [stdout]    |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 |         |ctx, (pos, radius): (Vec3, Vec3)| LuaObject::new(Cuboid::new(pos, radius))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 |         |ctx, (pos, radius): (Vec3, f64)| LuaObject::new(Cylinder::new(pos, radius))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 |         |ctx, (a, b): (LuaObject, LuaObject)| LuaObject::new(Exclusion::new(a.get(), b.get()))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 46 |         |ctx, (a, b): (LuaObject, LuaObject)| LuaObject::new(Intersection::new(a.get(), b.get()))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:50:10
[INFO] [stdout]    |
[INFO] [stdout] 50 |         |ctx, obj: LuaObject| LuaObject::new(Negation::new(obj.get()))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:54:10
[INFO] [stdout]    |
[INFO] [stdout] 54 |         |ctx, (normal, offset): (Vec3, f64)| LuaObject::new(Plane::new(normal, offset))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:58:10
[INFO] [stdout]    |
[INFO] [stdout] 58 |         |ctx, (a, b, r): (LuaObject, LuaObject, f64)| LuaObject::new(SmoothUnion::new(a.get(), b.get(), r))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:62:10
[INFO] [stdout]    |
[INFO] [stdout] 62 |         |ctx, (pos, radius): (Vec3, f64)| LuaObject::new(Sphere::new(pos, radius))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:66:10
[INFO] [stdout]    |
[INFO] [stdout] 66 |         |ctx, (center, radius, thickness): (Vec3, f64, f64)| LuaObject::new(Torus::new(center, radius, thickness))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:70:10
[INFO] [stdout]    |
[INFO] [stdout] 70 |         |ctx, (obj, trans, disp): (LuaObject, Mat3, Vec3)| LuaObject::new(AffineTransform::new(obj.get(), trans, disp))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:74:10
[INFO] [stdout]    |
[INFO] [stdout] 74 |         |ctx, (obj, trans, center): (LuaObject, Mat3, Vec3)| LuaObject::new(TransformAround::new(obj.get(), trans, center))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:78:10
[INFO] [stdout]    |
[INFO] [stdout] 78 |         |ctx, (a, b): (LuaObject, LuaObject)| LuaObject::new(Union::new(a.get(), b.get()))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:82:10
[INFO] [stdout]    |
[INFO] [stdout] 82 |         |ctx, ()| LuaObject::new(Waves::new())
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:86:10
[INFO] [stdout]    |
[INFO] [stdout] 86 |         |ctx, (obj, light): (LuaObject, Light)| LuaObject::new(WithLights::new_one(obj.get(), light))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 |         |ctx, (obj, lights): (LuaObject, Vec<Light>)| LuaObject::new(WithAnyLights::new(obj.get(), lights))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:94:10
[INFO] [stdout]    |
[INFO] [stdout] 94 |         |ctx, (obj, material): (LuaObject, Material)| LuaObject::new(WithMaterial::new(obj.get(), material))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]  --> src/lua/vec3.rs:6:51
[INFO] [stdout]   |
[INFO] [stdout] 6 |         methods.add_meta_method(MetaMethod::Add, |ctx, a: &Self, b: Self| Ok(*a+b));
[INFO] [stdout]   |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]  --> src/lua/vec3.rs:7:51
[INFO] [stdout]   |
[INFO] [stdout] 7 |         methods.add_meta_method(MetaMethod::Sub, |ctx, a: &Self, b: Self| Ok(*a-b));
[INFO] [stdout]   |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]  --> src/lua/vec3.rs:8:51
[INFO] [stdout]   |
[INFO] [stdout] 8 |         methods.add_meta_method(MetaMethod::Mul, |ctx, a: &Self, b: Self| Ok(*a*b));
[INFO] [stdout]   |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]  --> src/lua/vec3.rs:9:51
[INFO] [stdout]   |
[INFO] [stdout] 9 |         methods.add_meta_method(MetaMethod::Pow, |ctx, a: &Self, b: Self| Ok(*a^b));
[INFO] [stdout]   |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/vec3.rs:10:51
[INFO] [stdout]    |
[INFO] [stdout] 10 |         methods.add_meta_method(MetaMethod::Unm, |ctx, a: &Self, b: ()| Ok(-*a));
[INFO] [stdout]    |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/lua/vec3.rs:10:66
[INFO] [stdout]    |
[INFO] [stdout] 10 |         methods.add_meta_method(MetaMethod::Unm, |ctx, a: &Self, b: ()| Ok(-*a));
[INFO] [stdout]    |                                                                  ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/vec3.rs:11:51
[INFO] [stdout]    |
[INFO] [stdout] 11 |         methods.add_meta_method(MetaMethod::Mul, |ctx, a: &Self, b: f64| Ok(*a*b));
[INFO] [stdout]    |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/vec3.rs:12:51
[INFO] [stdout]    |
[INFO] [stdout] 12 |         methods.add_meta_method(MetaMethod::Div, |ctx, a: &Self, b: f64| Ok(*a/b));
[INFO] [stdout]    |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/vec3.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 |         methods.add_method("x", |ctx, x, ()| Ok(x.x()));
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/vec3.rs:15:34
[INFO] [stdout]    |
[INFO] [stdout] 15 |         methods.add_method("y", |ctx, x, ()| Ok(x.y()));
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/vec3.rs:16:34
[INFO] [stdout]    |
[INFO] [stdout] 16 |         methods.add_method("z", |ctx, x, ()| Ok(x.z()));
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/vec3.rs:18:42
[INFO] [stdout]    |
[INFO] [stdout] 18 |         methods.add_method("magnitude", |ctx, x, ()| Ok(x.magnitude()));
[INFO] [stdout]    |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/vec3.rs:19:37
[INFO] [stdout]    |
[INFO] [stdout] 19 |         methods.add_method("unit", |ctx, x, ()| Ok(x.unit()));
[INFO] [stdout]    |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/vec3.rs:21:43
[INFO] [stdout]    |
[INFO] [stdout] 21 |         methods.add_method("distanceto", |ctx, x, y| Ok(x.distance_to(y)));
[INFO] [stdout]    |                                           ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/vec3.rs:22:40
[INFO] [stdout]    |
[INFO] [stdout] 22 |         methods.add_method("angleto", |ctx, x, y| Ok(x.angle_to(y)));
[INFO] [stdout]    |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/vec3.rs:23:42
[INFO] [stdout]    |
[INFO] [stdout] 23 |         methods.add_method("membermul", |ctx, x, y| Ok(x.member_mul(y)));
[INFO] [stdout]    |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/vec3.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 |         |ctx, (x, y, z)| Ok(Vec3::new(x, y, z))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]  --> src/lua/mat3.rs:6:51
[INFO] [stdout]   |
[INFO] [stdout] 6 |         methods.add_meta_method(MetaMethod::Add, |ctx, a: &Self, b: Self| Ok(*a+b));
[INFO] [stdout]   |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]  --> src/lua/mat3.rs:7:51
[INFO] [stdout]   |
[INFO] [stdout] 7 |         methods.add_meta_method(MetaMethod::Sub, |ctx, a: &Self, b: Self| Ok(*a-b));
[INFO] [stdout]   |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]  --> src/lua/mat3.rs:8:51
[INFO] [stdout]   |
[INFO] [stdout] 8 |         methods.add_meta_method(MetaMethod::Mul, |ctx, a: &Self, b: Self| Ok(*a*b));
[INFO] [stdout]   |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]  --> src/lua/mat3.rs:9:51
[INFO] [stdout]   |
[INFO] [stdout] 9 |         methods.add_meta_method(MetaMethod::Unm, |ctx, a: &Self, b: ()| Ok(-*a));
[INFO] [stdout]   |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]  --> src/lua/mat3.rs:9:66
[INFO] [stdout]   |
[INFO] [stdout] 9 |         methods.add_meta_method(MetaMethod::Unm, |ctx, a: &Self, b: ()| Ok(-*a));
[INFO] [stdout]   |                                                                  ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:11:51
[INFO] [stdout]    |
[INFO] [stdout] 11 |         methods.add_meta_method(MetaMethod::Div, |ctx, a: &Self, b: f64| Ok(*a/b));
[INFO] [stdout]    |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 |         methods.add_method("a", |ctx, x, ()| Ok(x.a()));
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 |         methods.add_method("b", |ctx, x, ()| Ok(x.b()));
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:15:34
[INFO] [stdout]    |
[INFO] [stdout] 15 |         methods.add_method("c", |ctx, x, ()| Ok(x.c()));
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:16:34
[INFO] [stdout]    |
[INFO] [stdout] 16 |         methods.add_method("d", |ctx, x, ()| Ok(x.d()));
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:17:34
[INFO] [stdout]    |
[INFO] [stdout] 17 |         methods.add_method("e", |ctx, x, ()| Ok(x.e()));
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:18:34
[INFO] [stdout]    |
[INFO] [stdout] 18 |         methods.add_method("f", |ctx, x, ()| Ok(x.f()));
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:19:34
[INFO] [stdout]    |
[INFO] [stdout] 19 |         methods.add_method("g", |ctx, x, ()| Ok(x.g()));
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:20:34
[INFO] [stdout]    |
[INFO] [stdout] 20 |         methods.add_method("h", |ctx, x, ()| Ok(x.h()));
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:21:34
[INFO] [stdout]    |
[INFO] [stdout] 21 |         methods.add_method("i", |ctx, x, ()| Ok(x.i()));
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:23:36
[INFO] [stdout]    |
[INFO] [stdout] 23 |         methods.add_method("det", |ctx, x, ()| Ok(x.det()));
[INFO] [stdout]    |                                    ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:24:37
[INFO] [stdout]    |
[INFO] [stdout] 24 |         methods.add_method("trans",|ctx, x, ()| Ok(x.trans()));
[INFO] [stdout]    |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:25:38
[INFO] [stdout]    |
[INFO] [stdout] 25 |         methods.add_method("minor", |ctx, x, ()| Ok(x.minor()));
[INFO] [stdout]    |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:26:39
[INFO] [stdout]    |
[INFO] [stdout] 26 |         methods.add_method("invert", |ctx, x, ()| Ok(x.invert()));
[INFO] [stdout]    |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:28:42
[INFO] [stdout]    |
[INFO] [stdout] 28 |         methods.add_method("membermul", |ctx, x, y| Ok(x.member_mul(y)));
[INFO] [stdout]    |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 |         |ctx, (a, b, c, d, e, f, g, h, i)| Ok(Mat3::new(a, b, c, d, e, f, g, h, i))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/color.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 |         |ctx, (r, g, b, u)| Ok(ColorVec::new([r, g, b, u]))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/color.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |         |ctx, (
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/color.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 |         |ctx, vec: ColorVec| Ok(ColorMat::new_from_diagonal(vec))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/color.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 |         |ctx, (r, g, b, u)| Ok(ColorMat::new_from_diagonal(ColorVec::new([r, g, b, u])))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/material.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 |         |ctx, (emission, reflection, surface)| Ok(Material::new(emission, reflection, surface))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/material.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 |         |ctx, (emission, reflection, surface)| Ok(Material::new_from_diagonal(emission, reflection, surface))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/light.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 |         |ctx, (pos, color)| Ok(Light::new(pos, color))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/transform.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 |         |ctx, (x, y, z)| Ok(scale_xyz(x, y, z))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/transform.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 |         |ctx, k| Ok(scale(k))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/transform.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 |         |ctx, k| Ok(scale_x(k))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/transform.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |         |ctx, k| Ok(scale_y(k))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/transform.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 26 |         |ctx, k| Ok(scale_z(k))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/transform.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 |         |ctx, (x, y, z)| Ok(rotate_xyz(x, y, z))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/transform.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 |         |ctx, a| Ok(rotate_x(a))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/transform.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 |         |ctx, a| Ok(rotate_y(a))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/transform.rs:40:10
[INFO] [stdout]    |
[INFO] [stdout] 40 |         |ctx, a| Ok(rotate_z(a))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/transform.rs:44:10
[INFO] [stdout]    |
[INFO] [stdout] 44 |         |ctx, transforms: Vec<Mat3>| {
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_cam` is never used
[INFO] [stdout]   --> src/main.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn default_cam() -> Cam {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_scene1` is never used
[INFO] [stdout]   --> src/main.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn default_scene1() -> Scene {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_scene2` is never used
[INFO] [stdout]   --> src/main.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn default_scene2() -> Scene {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_scene3` is never used
[INFO] [stdout]   --> src/main.rs:70:4
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn default_scene3() -> Scene {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RED` is never used
[INFO] [stdout]   --> src/material.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const RED: Material = Material::new_from_diagonal(
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GREEN` is never used
[INFO] [stdout]   --> src/material.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const GREEN: Material = Material::new_from_diagonal(
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLUE` is never used
[INFO] [stdout]   --> src/material.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const BLUE: Material = Material::new_from_diagonal(
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LIGHTSOURCE` is never used
[INFO] [stdout]   --> src/material.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const LIGHTSOURCE: Material = Material::new_from_diagonal(
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIRROR` is never used
[INFO] [stdout]   --> src/material.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const MIRROR: Material = Material::new_from_diagonal(
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STRONG_LIGHTSOURCE` is never used
[INFO] [stdout]   --> src/material.rs:68:11
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub const STRONG_LIGHTSOURCE: Material = Material::new_from_diagonal(
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BRIGHT_AF_LIGHTSOURCE` is never used
[INFO] [stdout]   --> src/material.rs:74:11
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub const BRIGHT_AF_LIGHTSOURCE: Material = Material::new_from_diagonal(
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UV_LIGHTSOURCE` is never used
[INFO] [stdout]   --> src/material.rs:80:11
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub const UV_LIGHTSOURCE: Material = Material::new_from_diagonal(
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLUORESCENT` is never used
[INFO] [stdout]   --> src/material.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub const FLUORESCENT: Material = Material::new(
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_xyz` is never used
[INFO] [stdout]   --> src/object/sphere.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Sphere {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub const fn new_xyz(x: f64, y: f64, z: f64, radius: f64) -> Sphere {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new_xyz` and `new_raw` are never used
[INFO] [stdout]   --> src/object/plane.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Plane {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn new_xyz(x: f64, y: f64, z: f64, offset: f64) -> Plane {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub const unsafe fn new_raw(normal: Vec3, offset: f64) -> Plane {
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_xyz` is never used
[INFO] [stdout]   --> src/object/cuboid.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Cuboid {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn new_xyz(cx: f64, cy: f64, cz: f64, rx: f64, ry: f64, rz: f64) -> Cuboid {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_xyz` is never used
[INFO] [stdout]   --> src/object/torus.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Torus {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub const fn new_xyz(x: f64, y: f64, z: f64, radius: f64, thickness: f64) -> Torus {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/object/with_material.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl<T: Obj, F: Clone + Send + Sync + Fn(Vec3) -> Material> WithDynamicMaterial<T, F> {
[INFO] [stdout]    | ------------------------------------------------------------------------------------- associated function in this implementation
[INFO] [stdout] 43 |     pub fn new(obj: T, fun: F) -> WithDynamicMaterial<T, F> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/object/with_lights.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<T: Obj, const N: usize> WithLights<T, N> {
[INFO] [stdout]    | --------------------------------------------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn new(obj: T, lights: [Light; N]) -> WithLights<T, N> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_light` is never used
[INFO] [stdout]   --> src/object/with_lights.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl<T: Obj> WithAnyLights<T> {
[INFO] [stdout]    | ----------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn add_light(&mut self, light: Light) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new_linear` and `new_translate` are never used
[INFO] [stdout]   --> src/object/transform.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl<T: Obj + Clone> AffineTransform<T> {
[INFO] [stdout]    | --------------------------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn new_linear(obj: T, transform: Mat3) -> AffineTransform<T> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn new_translate(obj: T, translate: Vec3) -> AffineTransform<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_from_box` is never used
[INFO] [stdout]   --> src/object/scene.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Scene {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn new_from_box(scene: Box<dyn ObjClone>) -> Scene {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new_cols` and `new_rows` are never used
[INFO] [stdout]   --> src/structs/mat3.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl Mat3 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub const fn new_cols(a: Vec3, b: Vec3, c: Vec3) -> Mat3 {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub const fn new_rows(a: Vec3, d: Vec3, g: Vec3) -> Mat3 {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_one`, `magnitude`, `unit`, `distance_to`, and `member_mul` are never used
[INFO] [stdout]   --> src/structs/vec_n.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 8  | impl<const N: usize> Vec<N> {
[INFO] [stdout]    | --------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub const fn new_one(i: usize) -> Vec<N> {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn magnitude(self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn unit(self) -> Vec<N> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn distance_to(self, other: Vec<N>) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn member_mul(self, other: Vec<N>) -> Vec<N> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_unit`, `new_one`, and `v` are never used
[INFO] [stdout]   --> src/structs/mat_n.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl<const N: usize> Mat<N> {
[INFO] [stdout]    | --------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub const fn new_unit() -> Mat<N> {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub const fn new_one(i: usize, j: usize) -> Mat<N> {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub const fn v(&self, i: usize, j: usize) -> f64 {
[INFO] [stdout]    |                  ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_from_to`, `unit`, `from`, and `dir` are never used
[INFO] [stdout]   --> src/structs/ray.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl Ray {
[INFO] [stdout]    | -------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn new_from_to(from: Vec3, to: Vec3) -> Ray {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn unit(&self) -> Ray {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn from(&self) -> Vec3 { self.from }
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 23 |     pub fn dir(&self) -> Vec3 { self.dir }
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_pointing` is never used
[INFO] [stdout]   --> src/structs/cam.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Cam {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn new_pointing(pos: Vec3, pointing: Vec3, fov: f64) -> Cam {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RIGHT` is never used
[INFO] [stdout]   --> src/consts.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const RIGHT: Vec3 = X;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FORWARD` is never used
[INFO] [stdout]   --> src/consts.rs:50:11
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub const FORWARD: Vec3 = Z;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 |         |ctx, (pos, radius): (Vec3, Vec3)| LuaObject::new(Cuboid::new(pos, radius))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 |         |ctx, (pos, radius): (Vec3, f64)| LuaObject::new(Cylinder::new(pos, radius))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 |         |ctx, (a, b): (LuaObject, LuaObject)| LuaObject::new(Exclusion::new(a.get(), b.get()))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 46 |         |ctx, (a, b): (LuaObject, LuaObject)| LuaObject::new(Intersection::new(a.get(), b.get()))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:50:10
[INFO] [stdout]    |
[INFO] [stdout] 50 |         |ctx, obj: LuaObject| LuaObject::new(Negation::new(obj.get()))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:54:10
[INFO] [stdout]    |
[INFO] [stdout] 54 |         |ctx, (normal, offset): (Vec3, f64)| LuaObject::new(Plane::new(normal, offset))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:58:10
[INFO] [stdout]    |
[INFO] [stdout] 58 |         |ctx, (a, b, r): (LuaObject, LuaObject, f64)| LuaObject::new(SmoothUnion::new(a.get(), b.get(), r))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:62:10
[INFO] [stdout]    |
[INFO] [stdout] 62 |         |ctx, (pos, radius): (Vec3, f64)| LuaObject::new(Sphere::new(pos, radius))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:66:10
[INFO] [stdout]    |
[INFO] [stdout] 66 |         |ctx, (center, radius, thickness): (Vec3, f64, f64)| LuaObject::new(Torus::new(center, radius, thickness))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:70:10
[INFO] [stdout]    |
[INFO] [stdout] 70 |         |ctx, (obj, trans, disp): (LuaObject, Mat3, Vec3)| LuaObject::new(AffineTransform::new(obj.get(), trans, disp))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:74:10
[INFO] [stdout]    |
[INFO] [stdout] 74 |         |ctx, (obj, trans, center): (LuaObject, Mat3, Vec3)| LuaObject::new(TransformAround::new(obj.get(), trans, center))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:78:10
[INFO] [stdout]    |
[INFO] [stdout] 78 |         |ctx, (a, b): (LuaObject, LuaObject)| LuaObject::new(Union::new(a.get(), b.get()))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:82:10
[INFO] [stdout]    |
[INFO] [stdout] 82 |         |ctx, ()| LuaObject::new(Waves::new())
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:86:10
[INFO] [stdout]    |
[INFO] [stdout] 86 |         |ctx, (obj, light): (LuaObject, Light)| LuaObject::new(WithLights::new_one(obj.get(), light))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 |         |ctx, (obj, lights): (LuaObject, Vec<Light>)| LuaObject::new(WithAnyLights::new(obj.get(), lights))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/obj.rs:94:10
[INFO] [stdout]    |
[INFO] [stdout] 94 |         |ctx, (obj, material): (LuaObject, Material)| LuaObject::new(WithMaterial::new(obj.get(), material))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]  --> src/lua/vec3.rs:6:51
[INFO] [stdout]   |
[INFO] [stdout] 6 |         methods.add_meta_method(MetaMethod::Add, |ctx, a: &Self, b: Self| Ok(*a+b));
[INFO] [stdout]   |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]  --> src/lua/vec3.rs:7:51
[INFO] [stdout]   |
[INFO] [stdout] 7 |         methods.add_meta_method(MetaMethod::Sub, |ctx, a: &Self, b: Self| Ok(*a-b));
[INFO] [stdout]   |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]  --> src/lua/vec3.rs:8:51
[INFO] [stdout]   |
[INFO] [stdout] 8 |         methods.add_meta_method(MetaMethod::Mul, |ctx, a: &Self, b: Self| Ok(*a*b));
[INFO] [stdout]   |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]  --> src/lua/vec3.rs:9:51
[INFO] [stdout]   |
[INFO] [stdout] 9 |         methods.add_meta_method(MetaMethod::Pow, |ctx, a: &Self, b: Self| Ok(*a^b));
[INFO] [stdout]   |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/vec3.rs:10:51
[INFO] [stdout]    |
[INFO] [stdout] 10 |         methods.add_meta_method(MetaMethod::Unm, |ctx, a: &Self, b: ()| Ok(-*a));
[INFO] [stdout]    |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/lua/vec3.rs:10:66
[INFO] [stdout]    |
[INFO] [stdout] 10 |         methods.add_meta_method(MetaMethod::Unm, |ctx, a: &Self, b: ()| Ok(-*a));
[INFO] [stdout]    |                                                                  ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/vec3.rs:11:51
[INFO] [stdout]    |
[INFO] [stdout] 11 |         methods.add_meta_method(MetaMethod::Mul, |ctx, a: &Self, b: f64| Ok(*a*b));
[INFO] [stdout]    |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/vec3.rs:12:51
[INFO] [stdout]    |
[INFO] [stdout] 12 |         methods.add_meta_method(MetaMethod::Div, |ctx, a: &Self, b: f64| Ok(*a/b));
[INFO] [stdout]    |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/vec3.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 |         methods.add_method("x", |ctx, x, ()| Ok(x.x()));
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/vec3.rs:15:34
[INFO] [stdout]    |
[INFO] [stdout] 15 |         methods.add_method("y", |ctx, x, ()| Ok(x.y()));
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/vec3.rs:16:34
[INFO] [stdout]    |
[INFO] [stdout] 16 |         methods.add_method("z", |ctx, x, ()| Ok(x.z()));
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/vec3.rs:18:42
[INFO] [stdout]    |
[INFO] [stdout] 18 |         methods.add_method("magnitude", |ctx, x, ()| Ok(x.magnitude()));
[INFO] [stdout]    |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/vec3.rs:19:37
[INFO] [stdout]    |
[INFO] [stdout] 19 |         methods.add_method("unit", |ctx, x, ()| Ok(x.unit()));
[INFO] [stdout]    |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/vec3.rs:21:43
[INFO] [stdout]    |
[INFO] [stdout] 21 |         methods.add_method("distanceto", |ctx, x, y| Ok(x.distance_to(y)));
[INFO] [stdout]    |                                           ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/vec3.rs:22:40
[INFO] [stdout]    |
[INFO] [stdout] 22 |         methods.add_method("angleto", |ctx, x, y| Ok(x.angle_to(y)));
[INFO] [stdout]    |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/vec3.rs:23:42
[INFO] [stdout]    |
[INFO] [stdout] 23 |         methods.add_method("membermul", |ctx, x, y| Ok(x.member_mul(y)));
[INFO] [stdout]    |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/vec3.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 |         |ctx, (x, y, z)| Ok(Vec3::new(x, y, z))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]  --> src/lua/mat3.rs:6:51
[INFO] [stdout]   |
[INFO] [stdout] 6 |         methods.add_meta_method(MetaMethod::Add, |ctx, a: &Self, b: Self| Ok(*a+b));
[INFO] [stdout]   |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]  --> src/lua/mat3.rs:7:51
[INFO] [stdout]   |
[INFO] [stdout] 7 |         methods.add_meta_method(MetaMethod::Sub, |ctx, a: &Self, b: Self| Ok(*a-b));
[INFO] [stdout]   |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]  --> src/lua/mat3.rs:8:51
[INFO] [stdout]   |
[INFO] [stdout] 8 |         methods.add_meta_method(MetaMethod::Mul, |ctx, a: &Self, b: Self| Ok(*a*b));
[INFO] [stdout]   |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]  --> src/lua/mat3.rs:9:51
[INFO] [stdout]   |
[INFO] [stdout] 9 |         methods.add_meta_method(MetaMethod::Unm, |ctx, a: &Self, b: ()| Ok(-*a));
[INFO] [stdout]   |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]  --> src/lua/mat3.rs:9:66
[INFO] [stdout]   |
[INFO] [stdout] 9 |         methods.add_meta_method(MetaMethod::Unm, |ctx, a: &Self, b: ()| Ok(-*a));
[INFO] [stdout]   |                                                                  ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:11:51
[INFO] [stdout]    |
[INFO] [stdout] 11 |         methods.add_meta_method(MetaMethod::Div, |ctx, a: &Self, b: f64| Ok(*a/b));
[INFO] [stdout]    |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 |         methods.add_method("a", |ctx, x, ()| Ok(x.a()));
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 |         methods.add_method("b", |ctx, x, ()| Ok(x.b()));
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:15:34
[INFO] [stdout]    |
[INFO] [stdout] 15 |         methods.add_method("c", |ctx, x, ()| Ok(x.c()));
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:16:34
[INFO] [stdout]    |
[INFO] [stdout] 16 |         methods.add_method("d", |ctx, x, ()| Ok(x.d()));
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:17:34
[INFO] [stdout]    |
[INFO] [stdout] 17 |         methods.add_method("e", |ctx, x, ()| Ok(x.e()));
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:18:34
[INFO] [stdout]    |
[INFO] [stdout] 18 |         methods.add_method("f", |ctx, x, ()| Ok(x.f()));
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:19:34
[INFO] [stdout]    |
[INFO] [stdout] 19 |         methods.add_method("g", |ctx, x, ()| Ok(x.g()));
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:20:34
[INFO] [stdout]    |
[INFO] [stdout] 20 |         methods.add_method("h", |ctx, x, ()| Ok(x.h()));
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:21:34
[INFO] [stdout]    |
[INFO] [stdout] 21 |         methods.add_method("i", |ctx, x, ()| Ok(x.i()));
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:23:36
[INFO] [stdout]    |
[INFO] [stdout] 23 |         methods.add_method("det", |ctx, x, ()| Ok(x.det()));
[INFO] [stdout]    |                                    ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:24:37
[INFO] [stdout]    |
[INFO] [stdout] 24 |         methods.add_method("trans",|ctx, x, ()| Ok(x.trans()));
[INFO] [stdout]    |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:25:38
[INFO] [stdout]    |
[INFO] [stdout] 25 |         methods.add_method("minor", |ctx, x, ()| Ok(x.minor()));
[INFO] [stdout]    |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:26:39
[INFO] [stdout]    |
[INFO] [stdout] 26 |         methods.add_method("invert", |ctx, x, ()| Ok(x.invert()));
[INFO] [stdout]    |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:28:42
[INFO] [stdout]    |
[INFO] [stdout] 28 |         methods.add_method("membermul", |ctx, x, y| Ok(x.member_mul(y)));
[INFO] [stdout]    |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/mat3.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 |         |ctx, (a, b, c, d, e, f, g, h, i)| Ok(Mat3::new(a, b, c, d, e, f, g, h, i))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/color.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 |         |ctx, (r, g, b, u)| Ok(ColorVec::new([r, g, b, u]))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/color.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |         |ctx, (
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/color.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 |         |ctx, vec: ColorVec| Ok(ColorMat::new_from_diagonal(vec))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/color.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 |         |ctx, (r, g, b, u)| Ok(ColorMat::new_from_diagonal(ColorVec::new([r, g, b, u])))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/material.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 |         |ctx, (emission, reflection, surface)| Ok(Material::new(emission, reflection, surface))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/material.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 |         |ctx, (emission, reflection, surface)| Ok(Material::new_from_diagonal(emission, reflection, surface))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/light.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 |         |ctx, (pos, color)| Ok(Light::new(pos, color))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/transform.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 |         |ctx, (x, y, z)| Ok(scale_xyz(x, y, z))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/transform.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 |         |ctx, k| Ok(scale(k))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/transform.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 |         |ctx, k| Ok(scale_x(k))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/transform.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |         |ctx, k| Ok(scale_y(k))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/transform.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 26 |         |ctx, k| Ok(scale_z(k))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/transform.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 |         |ctx, (x, y, z)| Ok(rotate_xyz(x, y, z))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/transform.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 |         |ctx, a| Ok(rotate_x(a))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/transform.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 |         |ctx, a| Ok(rotate_y(a))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/transform.rs:40:10
[INFO] [stdout]    |
[INFO] [stdout] 40 |         |ctx, a| Ok(rotate_z(a))
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua/transform.rs:44:10
[INFO] [stdout]    |
[INFO] [stdout] 44 |         |ctx, transforms: Vec<Mat3>| {
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_cam` is never used
[INFO] [stdout]   --> src/main.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn default_cam() -> Cam {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_scene1` is never used
[INFO] [stdout]   --> src/main.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn default_scene1() -> Scene {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_scene2` is never used
[INFO] [stdout]   --> src/main.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn default_scene2() -> Scene {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_scene3` is never used
[INFO] [stdout]   --> src/main.rs:70:4
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn default_scene3() -> Scene {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RED` is never used
[INFO] [stdout]   --> src/material.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const RED: Material = Material::new_from_diagonal(
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GREEN` is never used
[INFO] [stdout]   --> src/material.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const GREEN: Material = Material::new_from_diagonal(
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLUE` is never used
[INFO] [stdout]   --> src/material.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const BLUE: Material = Material::new_from_diagonal(
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LIGHTSOURCE` is never used
[INFO] [stdout]   --> src/material.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const LIGHTSOURCE: Material = Material::new_from_diagonal(
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIRROR` is never used
[INFO] [stdout]   --> src/material.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const MIRROR: Material = Material::new_from_diagonal(
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STRONG_LIGHTSOURCE` is never used
[INFO] [stdout]   --> src/material.rs:68:11
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub const STRONG_LIGHTSOURCE: Material = Material::new_from_diagonal(
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BRIGHT_AF_LIGHTSOURCE` is never used
[INFO] [stdout]   --> src/material.rs:74:11
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub const BRIGHT_AF_LIGHTSOURCE: Material = Material::new_from_diagonal(
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UV_LIGHTSOURCE` is never used
[INFO] [stdout]   --> src/material.rs:80:11
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub const UV_LIGHTSOURCE: Material = Material::new_from_diagonal(
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLUORESCENT` is never used
[INFO] [stdout]   --> src/material.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub const FLUORESCENT: Material = Material::new(
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_xyz` is never used
[INFO] [stdout]   --> src/object/sphere.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Sphere {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub const fn new_xyz(x: f64, y: f64, z: f64, radius: f64) -> Sphere {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new_xyz` and `new_raw` are never used
[INFO] [stdout]   --> src/object/plane.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Plane {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn new_xyz(x: f64, y: f64, z: f64, offset: f64) -> Plane {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub const unsafe fn new_raw(normal: Vec3, offset: f64) -> Plane {
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_xyz` is never used
[INFO] [stdout]   --> src/object/cuboid.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Cuboid {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn new_xyz(cx: f64, cy: f64, cz: f64, rx: f64, ry: f64, rz: f64) -> Cuboid {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_xyz` is never used
[INFO] [stdout]   --> src/object/torus.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Torus {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub const fn new_xyz(x: f64, y: f64, z: f64, radius: f64, thickness: f64) -> Torus {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/object/with_material.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl<T: Obj, F: Clone + Send + Sync + Fn(Vec3) -> Material> WithDynamicMaterial<T, F> {
[INFO] [stdout]    | ------------------------------------------------------------------------------------- associated function in this implementation
[INFO] [stdout] 43 |     pub fn new(obj: T, fun: F) -> WithDynamicMaterial<T, F> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/object/with_lights.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<T: Obj, const N: usize> WithLights<T, N> {
[INFO] [stdout]    | --------------------------------------------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn new(obj: T, lights: [Light; N]) -> WithLights<T, N> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_light` is never used
[INFO] [stdout]   --> src/object/with_lights.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl<T: Obj> WithAnyLights<T> {
[INFO] [stdout]    | ----------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn add_light(&mut self, light: Light) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new_linear` and `new_translate` are never used
[INFO] [stdout]   --> src/object/transform.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl<T: Obj + Clone> AffineTransform<T> {
[INFO] [stdout]    | --------------------------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn new_linear(obj: T, transform: Mat3) -> AffineTransform<T> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn new_translate(obj: T, translate: Vec3) -> AffineTransform<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_from_box` is never used
[INFO] [stdout]   --> src/object/scene.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Scene {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn new_from_box(scene: Box<dyn ObjClone>) -> Scene {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new_cols` and `new_rows` are never used
[INFO] [stdout]   --> src/structs/mat3.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl Mat3 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub const fn new_cols(a: Vec3, b: Vec3, c: Vec3) -> Mat3 {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub const fn new_rows(a: Vec3, d: Vec3, g: Vec3) -> Mat3 {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_one`, `magnitude`, `unit`, `distance_to`, and `member_mul` are never used
[INFO] [stdout]   --> src/structs/vec_n.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 8  | impl<const N: usize> Vec<N> {
[INFO] [stdout]    | --------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub const fn new_one(i: usize) -> Vec<N> {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn magnitude(self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn unit(self) -> Vec<N> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn distance_to(self, other: Vec<N>) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn member_mul(self, other: Vec<N>) -> Vec<N> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_unit`, `new_one`, and `v` are never used
[INFO] [stdout]   --> src/structs/mat_n.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl<const N: usize> Mat<N> {
[INFO] [stdout]    | --------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub const fn new_unit() -> Mat<N> {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub const fn new_one(i: usize, j: usize) -> Mat<N> {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub const fn v(&self, i: usize, j: usize) -> f64 {
[INFO] [stdout]    |                  ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_from_to`, `unit`, `from`, and `dir` are never used
[INFO] [stdout]   --> src/structs/ray.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl Ray {
[INFO] [stdout]    | -------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn new_from_to(from: Vec3, to: Vec3) -> Ray {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn unit(&self) -> Ray {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn from(&self) -> Vec3 { self.from }
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 23 |     pub fn dir(&self) -> Vec3 { self.dir }
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_pointing` is never used
[INFO] [stdout]   --> src/structs/cam.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Cam {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn new_pointing(pos: Vec3, pointing: Vec3, fov: f64) -> Cam {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RIGHT` is never used
[INFO] [stdout]   --> src/consts.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const RIGHT: Vec3 = X;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FORWARD` is never used
[INFO] [stdout]   --> src/consts.rs:50:11
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub const FORWARD: Vec3 = Z;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [optimized + debuginfo] target(s) in 34.15s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rlua v0.17.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "b4b0c6881f817b71471d5aff1b723ac4b2f4c341e3da20f40e29f100730a14e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b4b0c6881f817b71471d5aff1b723ac4b2f4c341e3da20f40e29f100730a14e0", kill_on_drop: false }`
[INFO] [stdout] b4b0c6881f817b71471d5aff1b723ac4b2f4c341e3da20f40e29f100730a14e0
