[INFO] cloning repository https://github.com/WillCusick/lili
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/WillCusick/lili" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWillCusick%2Flili", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWillCusick%2Flili'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 885b2db51c1101ebb197f2f9f5139b6b62d94723
[INFO] testing WillCusick/lili against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWillCusick%2Flili" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/WillCusick/lili
[INFO] finished tweaking git repo https://github.com/WillCusick/lili
[INFO] tweaked toml for git repo https://github.com/WillCusick/lili written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/WillCusick/lili on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/WillCusick/lili 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" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 68c2df9fbca524d522c0fdc91bcd8341bf6ab8896db56d588b9bae8aaf39bcba
[INFO] running `Command { std: "docker" "start" "-a" "68c2df9fbca524d522c0fdc91bcd8341bf6ab8896db56d588b9bae8aaf39bcba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "68c2df9fbca524d522c0fdc91bcd8341bf6ab8896db56d588b9bae8aaf39bcba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "68c2df9fbca524d522c0fdc91bcd8341bf6ab8896db56d588b9bae8aaf39bcba", kill_on_drop: false }`
[INFO] [stdout] 68c2df9fbca524d522c0fdc91bcd8341bf6ab8896db56d588b9bae8aaf39bcba
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7678610d15bc110a8f8931f6e580a4cf1593711d77a6c3f6aee9df846a797107
[INFO] running `Command { std: "docker" "start" "-a" "7678610d15bc110a8f8931f6e580a4cf1593711d77a6c3f6aee9df846a797107", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling auto_ops v0.3.0
[INFO] [stderr]    Compiling syn v2.0.60
[INFO] [stderr]    Compiling clap_builder v4.5.2
[INFO] [stderr]    Compiling fast_polynomial v0.1.0
[INFO] [stderr]    Compiling lili v0.1.0 (/opt/rustwide/workdir/lili)
[INFO] [stdout] warning: unexpected `cfg` condition name: `f64`
[INFO] [stdout]  --> lili/src/math/float.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[cfg(not(f64))]
[INFO] [stdout]   |           ^^^ help: found config with similar value: `feature = "f64"`
[INFO] [stdout]   |
[INFO] [stdout]   = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]   = help: consider using a Cargo feature instead
[INFO] [stdout]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]            [lints.rust]
[INFO] [stdout]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(f64)'] }
[INFO] [stdout]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(f64)");` to the top of the `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `f64`
[INFO] [stdout]  --> lili/src/math/float.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[cfg(f64)]
[INFO] [stdout]   |       ^^^ help: found config with similar value: `feature = "f64"`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider using a Cargo feature instead
[INFO] [stdout]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]            [lints.rust]
[INFO] [stdout]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(f64)'] }
[INFO] [stdout]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(f64)");` to the top of the `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `f64`
[INFO] [stdout]    --> lili/src/math/float.rs:184:15
[INFO] [stdout]     |
[INFO] [stdout] 184 |     #[cfg(not(f64))]
[INFO] [stdout]     |               ^^^ help: found config with similar value: `feature = "f64"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(f64)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(f64)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `f64`
[INFO] [stdout]    --> lili/src/math/float.rs:187:11
[INFO] [stdout]     |
[INFO] [stdout] 187 |     #[cfg(f64)]
[INFO] [stdout]     |           ^^^ help: found config with similar value: `feature = "f64"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(f64)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(f64)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:14:26
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn sample_uniform_sphere(u: Point2f) -> Vector3f {
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn abs_dot(a: &Vector3f, b: &Vector3f) -> Float {
[INFO] [stdout]    |            ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:18:26
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn abs_dot(a: &Vector3f, b: &Vector3f) -> Float {
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ray`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn intersect(&self, ray: &Ray, t_max: Float) -> Option<ShapeIntersection> {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t_max`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:25:36
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn intersect(&self, ray: &Ray, t_max: Float) -> Option<ShapeIntersection> {
[INFO] [stdout]    |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ray`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:29:27
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn intersect_p(&self, ray: &Ray, t_max: Float) -> bool {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t_max`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:29:38
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn intersect_p(&self, ray: &Ray, t_max: Float) -> bool {
[INFO] [stdout]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bounds`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:49:30
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn preprocess(&mut self, bounds: &Bounds3f) {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bounds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ray`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn le(&self, ray: &Ray, lambda: &SampledWavelengths) -> SampledSpectrum {
[INFO] [stdout]    |                  ^^^ help: if this is intentional, prefix it with an underscore: `_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lambda`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:57:29
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn le(&self, ray: &Ray, lambda: &SampledWavelengths) -> SampledSpectrum {
[INFO] [stdout]    |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lambda`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wo`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn f(&self, wo: &Vector3f, wp: &Vector3f) -> SampledSpectrum {
[INFO] [stdout]    |                 ^^ help: if this is intentional, prefix it with an underscore: `_wo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wp`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:72:32
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn f(&self, wo: &Vector3f, wp: &Vector3f) -> SampledSpectrum {
[INFO] [stdout]    |                                ^^ help: if this is intentional, prefix it with an underscore: `_wp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wo`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:87:18
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn le(&self, wo: &Vector3f, lambda: &SampledWavelengths) -> SampledSpectrum {
[INFO] [stdout]    |                  ^^ help: if this is intentional, prefix it with an underscore: `_wo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lambda`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:87:33
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn le(&self, wo: &Vector3f, lambda: &SampledWavelengths) -> SampledSpectrum {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lambda`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ray`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         ray: &Ray,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lambda`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |         lambda: &SampledWavelengths,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lambda`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         camera: &Camera,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scratch_buffer`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 96 |         scratch_buffer: &ScratchBuffer,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scratch_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sampler`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |         sampler: &Sampler,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sampler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wp`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:102:25
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn spawn_ray(&self, wp: &Vector3f) -> RayDifferential {
[INFO] [stdout]     |                         ^^ help: if this is intentional, prefix it with an underscore: `_wp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pixel`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:120:34
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn start_pixel_sample(&self, pixel: &Point2i, sample_index: i32) {
[INFO] [stdout]     |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_pixel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample_index`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:120:51
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn start_pixel_sample(&self, pixel: &Point2i, sample_index: i32) {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera_sample`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |         camera_sample: CameraSample,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera_sample`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lambda`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         lambda: &SampledWavelengths,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lambda`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:157:34
[INFO] [stdout]     |
[INFO] [stdout] 157 |     fn sample_wavelengths(&self, sample: Float) -> SampledWavelengths {
[INFO] [stdout]     |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pixel`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |         pixel: Point2i,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_pixel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 172 |         l: SampledSpectrum,
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lambda`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:173:9
[INFO] [stdout]     |
[INFO] [stdout] 173 |         lambda: SampledWavelengths,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lambda`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visible_surface`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |         visible_surface: &VisibleSurface,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visible_surface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter_weight`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |         filter_weight: Float,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter_weight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sampler`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:187:12
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn new(sampler: &Sampler, pixel: Point2i, filter: Filter) -> Self {
[INFO] [stdout]     |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sampler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pixel`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:187:31
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn new(sampler: &Sampler, pixel: Point2i, filter: Filter) -> Self {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_pixel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:187:47
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn new(sampler: &Sampler, pixel: Point2i, filter: Filter) -> Self {
[INFO] [stdout]     |                                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:217:12
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn new(total: i64, message: &str, quiet: bool) -> Self {
[INFO] [stdout]     |            ^^^^^ help: if this is intentional, prefix it with an underscore: `_total`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:217:24
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn new(total: i64, message: &str, quiet: bool) -> Self {
[INFO] [stdout]     |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `quiet`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:217:39
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn new(total: i64, message: &str, quiet: bool) -> Self {
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_quiet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `progress`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:221:22
[INFO] [stdout]     |
[INFO] [stdout] 221 |     fn update(&self, progress: i32) {
[INFO] [stdout]     |                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_progress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wavelength`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout] 237 |     fn new(wavelength: Float) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wavelength`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:249:18
[INFO] [stdout]     |
[INFO] [stdout] 249 |     fn mul(self, rhs: Self) -> Self::Output {
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:257:18
[INFO] [stdout]     |
[INFO] [stdout] 257 |     fn mul(self, rhs: Float) -> Self::Output {
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:265:18
[INFO] [stdout]     |
[INFO] [stdout] 265 |     fn div(self, rhs: Float) -> Self::Output {
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:273:18
[INFO] [stdout]     |
[INFO] [stdout] 273 |     fn add(self, rhs: Self) -> Self::Output {
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:454:13
[INFO] [stdout]     |
[INFO] [stdout] 454 |         let mut camera_ray = camera.generate_ray_differential(camera_sample, &lambda);
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:456:13
[INFO] [stdout]     |
[INFO] [stdout] 456 |         let mut l = SampledSpectrum::new(0.0);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:459:21
[INFO] [stdout]     |
[INFO] [stdout] 459 |         if let Some(mut ray) = camera_ray {
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ray_diff_scale`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:460:17
[INFO] [stdout]     |
[INFO] [stdout] 460 |             let ray_diff_scale =
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ray_diff_scale`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:463:17
[INFO] [stdout]     |
[INFO] [stdout] 463 |             let l = ray.weight
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filenames`
[INFO] [stdout]  --> lili/src/scene.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn parse_files(filenames: Vec<OsString>) -> BasicScene {
[INFO] [stdout]   |                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filenames`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> lili/src/lib.rs:42:16
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn new(options: &Options) -> Self {
[INFO] [stdout]    |                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scene`
[INFO] [stdout]   --> lili/src/lib.rs:46:26
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn render(&self, scene: BasicScene) {
[INFO] [stdout]    |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_scene`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Float` is never used
[INFO] [stdout]  --> lili/src/lib.rs:4:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | type Float = math::Float;
[INFO] [stdout]   |      ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_uniform_sphere` is never used
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn sample_uniform_sphere(u: Point2f) -> Vector3f {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `abs_dot` is never used
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn abs_dot(a: &Vector3f, b: &Vector3f) -> Float {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Primitive` is never constructed
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct Primitive {}
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `intersect`, `intersect_p`, `bounds`, and `valid` are never used
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Primitive {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 25 |     fn intersect(&self, ray: &Ray, t_max: Float) -> Option<ShapeIntersection> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     fn intersect_p(&self, ray: &Ray, t_max: Float) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     fn bounds(&self) -> Bounds3f {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn valid(&self) -> bool {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Light` is never used
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:43:6
[INFO] [stdout]    |
[INFO] [stdout] 43 | enum Light {
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `preprocess`, `light_type`, and `le` are never used
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl Light {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 49 |     fn preprocess(&mut self, bounds: &Bounds3f) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     fn light_type(&self) -> LightType {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn le(&self, ray: &Ray, lambda: &SampledWavelengths) -> SampledSpectrum {
[INFO] [stdout]    |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LightType` is never used
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:64:6
[INFO] [stdout]    |
[INFO] [stdout] 64 | enum LightType {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bsdf` is never constructed
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | struct Bsdf {}
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `f` is never used
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | impl Bsdf {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 72 |     fn f(&self, wo: &Vector3f, wp: &Vector3f) -> SampledSpectrum {
[INFO] [stdout]    |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shading` is never constructed
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | struct Shading {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShapeIntersection` is never constructed
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | struct ShapeIntersection {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `le`, `bsdf`, and `spawn_ray` are never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:87:8
[INFO] [stdout]     |
[INFO] [stdout]  86 | impl ShapeIntersection {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout]  87 |     fn le(&self, wo: &Vector3f, lambda: &SampledWavelengths) -> SampledSpectrum {
[INFO] [stdout]     |        ^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     fn bsdf(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn spawn_ray(&self, wp: &Vector3f) -> RayDifferential {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SurfaceInteraction` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 107 | struct SurfaceInteraction {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bounds3f` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 110 | struct Bounds3f {}
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sampler` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | struct Sampler {}
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `samples_per_pixel`, `start_pixel_sample`, `get_1d`, and `get_2d` are never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl Sampler {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] 116 |     fn samples_per_pixel(&self) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     fn start_pixel_sample(&self, pixel: &Point2i, sample_index: i32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     fn get_1d(&self) -> Float {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     fn get_2d(&self) -> Point2f {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScratchBuffer` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | struct ScratchBuffer {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Camera` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | struct Camera {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generate_ray_differential` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl Camera {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] 141 |     fn generate_ray_differential(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Film` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | struct Film {}
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `pixel_bounds`, `sample_wavelengths`, `filter`, `uses_visible_surface`, and `add_sample` are never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:153:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | impl Film {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 153 |     fn pixel_bounds(&self) -> Bounds2i {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     fn sample_wavelengths(&self, sample: Float) -> SampledWavelengths {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     fn filter(&self) -> Filter {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     fn uses_visible_surface(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     fn add_sample(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CameraSample` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:182:8
[INFO] [stdout]     |
[INFO] [stdout] 182 | struct CameraSample {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:187:8
[INFO] [stdout]     |
[INFO] [stdout] 186 | impl CameraSample {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 187 |     fn new(sampler: &Sampler, pixel: Point2i, filter: Filter) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Filter` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:192:8
[INFO] [stdout]     |
[INFO] [stdout] 192 | struct Filter {}
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bounds2i` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:194:8
[INFO] [stdout]     |
[INFO] [stdout] 194 | struct Bounds2i {}
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `area`, `x`, and `y` are never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:197:8
[INFO] [stdout]     |
[INFO] [stdout] 196 | impl Bounds2i {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 197 |     fn area(&self) -> i64 {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     fn x(&self) -> i32 {
[INFO] [stdout]     |        ^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     fn y(&self) -> i32 {
[INFO] [stdout]     |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Renderer` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:210:7
[INFO] [stdout]     |
[INFO] [stdout] 210 | trait Renderer {
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProgressReporter` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:214:8
[INFO] [stdout]     |
[INFO] [stdout] 214 | struct ProgressReporter {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `update` are never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:217:8
[INFO] [stdout]     |
[INFO] [stdout] 216 | impl ProgressReporter {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 217 |     fn new(total: i64, message: &str, quiet: bool) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     fn update(&self, progress: i32) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CameraRayDifferential` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:226:8
[INFO] [stdout]     |
[INFO] [stdout] 226 | struct CameraRayDifferential {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SampledWavelengths` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:231:8
[INFO] [stdout]     |
[INFO] [stdout] 231 | struct SampledWavelengths {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SampledSpectrum` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:234:8
[INFO] [stdout]     |
[INFO] [stdout] 234 | struct SampledSpectrum {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `nonzero` are never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:237:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | impl SampledSpectrum {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 237 |     fn new(wavelength: Float) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     fn nonzero(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VisibleSurface` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 279 | struct VisibleSurface {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IntersectorTrait` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:281:7
[INFO] [stdout]     |
[INFO] [stdout] 281 | trait IntersectorTrait {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AggregateIntersector` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:287:8
[INFO] [stdout]     |
[INFO] [stdout] 287 | struct AggregateIntersector {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:296:8
[INFO] [stdout]     |
[INFO] [stdout] 295 | impl AggregateIntersector {
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 296 |     fn new(aggregate: Primitive, mut lights: Vec<Light>) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PixelEvaluator` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:339:7
[INFO] [stdout]     |
[INFO] [stdout] 339 | trait PixelEvaluator {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImageTileIntegrator` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:350:8
[INFO] [stdout]     |
[INFO] [stdout] 350 | struct ImageTileIntegrator<E: PixelEvaluator> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:359:8
[INFO] [stdout]     |
[INFO] [stdout] 358 | impl<E: PixelEvaluator> ImageTileIntegrator<E> {
[INFO] [stdout]     | ---------------------------------------------- associated function in this implementation
[INFO] [stdout] 359 |     fn new(camera: Camera, sampler: Sampler, pixel_evaluator: E) -> ImageTileIntegrator<E> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RadianceComputer` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:411:7
[INFO] [stdout]     |
[INFO] [stdout] 411 | trait RadianceComputer {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RayIntegrator` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:423:8
[INFO] [stdout]     |
[INFO] [stdout] 423 | struct RayIntegrator<R: RadianceComputer> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:428:8
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<R: RadianceComputer> RayIntegrator<R> {
[INFO] [stdout]     | ------------------------------------------ associated function in this implementation
[INFO] [stdout] 428 |     fn new(
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RandomWalkIntegrator` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:490:8
[INFO] [stdout]     |
[INFO] [stdout] 490 | struct RandomWalkIntegrator {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `li_random_walk` are never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:497:8
[INFO] [stdout]     |
[INFO] [stdout] 496 | impl RandomWalkIntegrator {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 497 |     fn new(
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 511 |     fn li_random_walk(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sample`, `pmf`, and `u_remapped` are never read
[INFO] [stdout]   --> lili/src/math/sampling.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct DiscreteSample {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 52 |     sample: i32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 53 |     pmf: Float,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 54 |     u_remapped: Float,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Distance` is never used
[INFO] [stdout]   --> lili/src/math/points.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | trait Distance: Sub + Sized
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> lili/src/math/float.rs:185:47
[INFO] [stdout]     |
[INFO] [stdout] 185 |     const ONE_MINUS_EPSILON: Float = unsafe { std::mem::transmute(0x3f7fffffu32) };
[INFO] [stdout]     |                                               -------------------^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               help: replace this with: `f32::from_bits`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling clap_derive v4.5.4
[INFO] [stderr]    Compiling clap v4.5.4
[INFO] [stderr]    Compiling ll v0.1.0 (/opt/rustwide/workdir/ll)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.03s
[INFO] running `Command { std: "docker" "inspect" "7678610d15bc110a8f8931f6e580a4cf1593711d77a6c3f6aee9df846a797107", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7678610d15bc110a8f8931f6e580a4cf1593711d77a6c3f6aee9df846a797107", kill_on_drop: false }`
[INFO] [stdout] 7678610d15bc110a8f8931f6e580a4cf1593711d77a6c3f6aee9df846a797107
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 66293527d79db1f90e7a2911b031edcedaf52969b259c52c39682b042e9b1edb
[INFO] running `Command { std: "docker" "start" "-a" "66293527d79db1f90e7a2911b031edcedaf52969b259c52c39682b042e9b1edb", kill_on_drop: false }`
[INFO] [stdout] warning: unexpected `cfg` condition name: `f64`
[INFO] [stdout]  --> lili/src/math/float.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[cfg(not(f64))]
[INFO] [stdout]   |           ^^^ help: found config with similar value: `feature = "f64"`
[INFO] [stdout]   |
[INFO] [stdout]   = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]   = help: consider using a Cargo feature instead
[INFO] [stdout]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]            [lints.rust]
[INFO] [stdout]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(f64)'] }
[INFO] [stdout]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(f64)");` to the top of the `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `f64`
[INFO] [stdout]  --> lili/src/math/float.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[cfg(f64)]
[INFO] [stdout]   |       ^^^ help: found config with similar value: `feature = "f64"`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider using a Cargo feature instead
[INFO] [stdout]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]            [lints.rust]
[INFO] [stdout]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(f64)'] }
[INFO] [stdout]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(f64)");` to the top of the `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `f64`
[INFO] [stdout]    --> lili/src/math/float.rs:184:15
[INFO] [stdout]     |
[INFO] [stdout] 184 |     #[cfg(not(f64))]
[INFO] [stdout]     |               ^^^ help: found config with similar value: `feature = "f64"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(f64)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(f64)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `f64`
[INFO] [stdout]    --> lili/src/math/float.rs:187:11
[INFO] [stdout]     |
[INFO] [stdout] 187 |     #[cfg(f64)]
[INFO] [stdout]     |           ^^^ help: found config with similar value: `feature = "f64"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(f64)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(f64)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:14:26
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn sample_uniform_sphere(u: Point2f) -> Vector3f {
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn abs_dot(a: &Vector3f, b: &Vector3f) -> Float {
[INFO] [stdout]    |            ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:18:26
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn abs_dot(a: &Vector3f, b: &Vector3f) -> Float {
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ray`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn intersect(&self, ray: &Ray, t_max: Float) -> Option<ShapeIntersection> {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t_max`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:25:36
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn intersect(&self, ray: &Ray, t_max: Float) -> Option<ShapeIntersection> {
[INFO] [stdout]    |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ray`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:29:27
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn intersect_p(&self, ray: &Ray, t_max: Float) -> bool {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t_max`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:29:38
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn intersect_p(&self, ray: &Ray, t_max: Float) -> bool {
[INFO] [stdout]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bounds`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:49:30
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn preprocess(&mut self, bounds: &Bounds3f) {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bounds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ray`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn le(&self, ray: &Ray, lambda: &SampledWavelengths) -> SampledSpectrum {
[INFO] [stdout]    |                  ^^^ help: if this is intentional, prefix it with an underscore: `_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lambda`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:57:29
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn le(&self, ray: &Ray, lambda: &SampledWavelengths) -> SampledSpectrum {
[INFO] [stdout]    |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lambda`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wo`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn f(&self, wo: &Vector3f, wp: &Vector3f) -> SampledSpectrum {
[INFO] [stdout]    |                 ^^ help: if this is intentional, prefix it with an underscore: `_wo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wp`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:72:32
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn f(&self, wo: &Vector3f, wp: &Vector3f) -> SampledSpectrum {
[INFO] [stdout]    |                                ^^ help: if this is intentional, prefix it with an underscore: `_wp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wo`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:87:18
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn le(&self, wo: &Vector3f, lambda: &SampledWavelengths) -> SampledSpectrum {
[INFO] [stdout]    |                  ^^ help: if this is intentional, prefix it with an underscore: `_wo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lambda`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:87:33
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn le(&self, wo: &Vector3f, lambda: &SampledWavelengths) -> SampledSpectrum {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lambda`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ray`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         ray: &Ray,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lambda`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |         lambda: &SampledWavelengths,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lambda`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         camera: &Camera,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scratch_buffer`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 96 |         scratch_buffer: &ScratchBuffer,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scratch_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sampler`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |         sampler: &Sampler,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sampler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wp`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:102:25
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn spawn_ray(&self, wp: &Vector3f) -> RayDifferential {
[INFO] [stdout]     |                         ^^ help: if this is intentional, prefix it with an underscore: `_wp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling lili v0.1.0 (/opt/rustwide/workdir/lili)
[INFO] [stderr]    Compiling ll v0.1.0 (/opt/rustwide/workdir/ll)
[INFO] [stdout] warning: unused variable: `pixel`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:120:34
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn start_pixel_sample(&self, pixel: &Point2i, sample_index: i32) {
[INFO] [stdout]     |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_pixel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample_index`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:120:51
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn start_pixel_sample(&self, pixel: &Point2i, sample_index: i32) {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera_sample`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |         camera_sample: CameraSample,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera_sample`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lambda`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         lambda: &SampledWavelengths,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lambda`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:157:34
[INFO] [stdout]     |
[INFO] [stdout] 157 |     fn sample_wavelengths(&self, sample: Float) -> SampledWavelengths {
[INFO] [stdout]     |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pixel`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |         pixel: Point2i,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_pixel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 172 |         l: SampledSpectrum,
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lambda`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:173:9
[INFO] [stdout]     |
[INFO] [stdout] 173 |         lambda: SampledWavelengths,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lambda`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visible_surface`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |         visible_surface: &VisibleSurface,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visible_surface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter_weight`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |         filter_weight: Float,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter_weight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sampler`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:187:12
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn new(sampler: &Sampler, pixel: Point2i, filter: Filter) -> Self {
[INFO] [stdout]     |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sampler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pixel`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:187:31
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn new(sampler: &Sampler, pixel: Point2i, filter: Filter) -> Self {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_pixel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:187:47
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn new(sampler: &Sampler, pixel: Point2i, filter: Filter) -> Self {
[INFO] [stdout]     |                                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:217:12
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn new(total: i64, message: &str, quiet: bool) -> Self {
[INFO] [stdout]     |            ^^^^^ help: if this is intentional, prefix it with an underscore: `_total`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:217:24
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn new(total: i64, message: &str, quiet: bool) -> Self {
[INFO] [stdout]     |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `quiet`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:217:39
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn new(total: i64, message: &str, quiet: bool) -> Self {
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_quiet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `progress`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:221:22
[INFO] [stdout]     |
[INFO] [stdout] 221 |     fn update(&self, progress: i32) {
[INFO] [stdout]     |                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_progress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wavelength`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout] 237 |     fn new(wavelength: Float) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wavelength`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:249:18
[INFO] [stdout]     |
[INFO] [stdout] 249 |     fn mul(self, rhs: Self) -> Self::Output {
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:257:18
[INFO] [stdout]     |
[INFO] [stdout] 257 |     fn mul(self, rhs: Float) -> Self::Output {
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:265:18
[INFO] [stdout]     |
[INFO] [stdout] 265 |     fn div(self, rhs: Float) -> Self::Output {
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:273:18
[INFO] [stdout]     |
[INFO] [stdout] 273 |     fn add(self, rhs: Self) -> Self::Output {
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:454:13
[INFO] [stdout]     |
[INFO] [stdout] 454 |         let mut camera_ray = camera.generate_ray_differential(camera_sample, &lambda);
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:456:13
[INFO] [stdout]     |
[INFO] [stdout] 456 |         let mut l = SampledSpectrum::new(0.0);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:459:21
[INFO] [stdout]     |
[INFO] [stdout] 459 |         if let Some(mut ray) = camera_ray {
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ray_diff_scale`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:460:17
[INFO] [stdout]     |
[INFO] [stdout] 460 |             let ray_diff_scale =
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ray_diff_scale`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:463:17
[INFO] [stdout]     |
[INFO] [stdout] 463 |             let l = ray.weight
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filenames`
[INFO] [stdout]  --> lili/src/scene.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn parse_files(filenames: Vec<OsString>) -> BasicScene {
[INFO] [stdout]   |                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filenames`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> lili/src/lib.rs:42:16
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn new(options: &Options) -> Self {
[INFO] [stdout]    |                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scene`
[INFO] [stdout]   --> lili/src/lib.rs:46:26
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn render(&self, scene: BasicScene) {
[INFO] [stdout]    |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_scene`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Float` is never used
[INFO] [stdout]  --> lili/src/lib.rs:4:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | type Float = math::Float;
[INFO] [stdout]   |      ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_uniform_sphere` is never used
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn sample_uniform_sphere(u: Point2f) -> Vector3f {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `abs_dot` is never used
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn abs_dot(a: &Vector3f, b: &Vector3f) -> Float {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Primitive` is never constructed
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct Primitive {}
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `intersect`, `intersect_p`, `bounds`, and `valid` are never used
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Primitive {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 25 |     fn intersect(&self, ray: &Ray, t_max: Float) -> Option<ShapeIntersection> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     fn intersect_p(&self, ray: &Ray, t_max: Float) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     fn bounds(&self) -> Bounds3f {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn valid(&self) -> bool {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Light` is never used
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:43:6
[INFO] [stdout]    |
[INFO] [stdout] 43 | enum Light {
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `preprocess`, `light_type`, and `le` are never used
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl Light {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 49 |     fn preprocess(&mut self, bounds: &Bounds3f) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     fn light_type(&self) -> LightType {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn le(&self, ray: &Ray, lambda: &SampledWavelengths) -> SampledSpectrum {
[INFO] [stdout]    |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LightType` is never used
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:64:6
[INFO] [stdout]    |
[INFO] [stdout] 64 | enum LightType {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bsdf` is never constructed
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | struct Bsdf {}
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `f` is never used
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | impl Bsdf {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 72 |     fn f(&self, wo: &Vector3f, wp: &Vector3f) -> SampledSpectrum {
[INFO] [stdout]    |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shading` is never constructed
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | struct Shading {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShapeIntersection` is never constructed
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | struct ShapeIntersection {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `le`, `bsdf`, and `spawn_ray` are never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:87:8
[INFO] [stdout]     |
[INFO] [stdout]  86 | impl ShapeIntersection {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout]  87 |     fn le(&self, wo: &Vector3f, lambda: &SampledWavelengths) -> SampledSpectrum {
[INFO] [stdout]     |        ^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     fn bsdf(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn spawn_ray(&self, wp: &Vector3f) -> RayDifferential {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SurfaceInteraction` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 107 | struct SurfaceInteraction {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bounds3f` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 110 | struct Bounds3f {}
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sampler` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | struct Sampler {}
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `samples_per_pixel`, `start_pixel_sample`, `get_1d`, and `get_2d` are never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl Sampler {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] 116 |     fn samples_per_pixel(&self) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     fn start_pixel_sample(&self, pixel: &Point2i, sample_index: i32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     fn get_1d(&self) -> Float {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     fn get_2d(&self) -> Point2f {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScratchBuffer` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | struct ScratchBuffer {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Camera` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | struct Camera {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generate_ray_differential` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl Camera {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] 141 |     fn generate_ray_differential(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Film` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | struct Film {}
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `pixel_bounds`, `sample_wavelengths`, `filter`, `uses_visible_surface`, and `add_sample` are never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:153:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | impl Film {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 153 |     fn pixel_bounds(&self) -> Bounds2i {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     fn sample_wavelengths(&self, sample: Float) -> SampledWavelengths {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     fn filter(&self) -> Filter {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     fn uses_visible_surface(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     fn add_sample(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CameraSample` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:182:8
[INFO] [stdout]     |
[INFO] [stdout] 182 | struct CameraSample {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:187:8
[INFO] [stdout]     |
[INFO] [stdout] 186 | impl CameraSample {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 187 |     fn new(sampler: &Sampler, pixel: Point2i, filter: Filter) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Filter` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:192:8
[INFO] [stdout]     |
[INFO] [stdout] 192 | struct Filter {}
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bounds2i` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:194:8
[INFO] [stdout]     |
[INFO] [stdout] 194 | struct Bounds2i {}
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `area`, `x`, and `y` are never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:197:8
[INFO] [stdout]     |
[INFO] [stdout] 196 | impl Bounds2i {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 197 |     fn area(&self) -> i64 {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     fn x(&self) -> i32 {
[INFO] [stdout]     |        ^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     fn y(&self) -> i32 {
[INFO] [stdout]     |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Renderer` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:210:7
[INFO] [stdout]     |
[INFO] [stdout] 210 | trait Renderer {
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProgressReporter` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:214:8
[INFO] [stdout]     |
[INFO] [stdout] 214 | struct ProgressReporter {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `update` are never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:217:8
[INFO] [stdout]     |
[INFO] [stdout] 216 | impl ProgressReporter {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 217 |     fn new(total: i64, message: &str, quiet: bool) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     fn update(&self, progress: i32) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CameraRayDifferential` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:226:8
[INFO] [stdout]     |
[INFO] [stdout] 226 | struct CameraRayDifferential {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SampledWavelengths` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:231:8
[INFO] [stdout]     |
[INFO] [stdout] 231 | struct SampledWavelengths {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SampledSpectrum` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:234:8
[INFO] [stdout]     |
[INFO] [stdout] 234 | struct SampledSpectrum {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `nonzero` are never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:237:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | impl SampledSpectrum {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 237 |     fn new(wavelength: Float) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     fn nonzero(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VisibleSurface` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 279 | struct VisibleSurface {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IntersectorTrait` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:281:7
[INFO] [stdout]     |
[INFO] [stdout] 281 | trait IntersectorTrait {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AggregateIntersector` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:287:8
[INFO] [stdout]     |
[INFO] [stdout] 287 | struct AggregateIntersector {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:296:8
[INFO] [stdout]     |
[INFO] [stdout] 295 | impl AggregateIntersector {
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 296 |     fn new(aggregate: Primitive, mut lights: Vec<Light>) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PixelEvaluator` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:339:7
[INFO] [stdout]     |
[INFO] [stdout] 339 | trait PixelEvaluator {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImageTileIntegrator` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:350:8
[INFO] [stdout]     |
[INFO] [stdout] 350 | struct ImageTileIntegrator<E: PixelEvaluator> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:359:8
[INFO] [stdout]     |
[INFO] [stdout] 358 | impl<E: PixelEvaluator> ImageTileIntegrator<E> {
[INFO] [stdout]     | ---------------------------------------------- associated function in this implementation
[INFO] [stdout] 359 |     fn new(camera: Camera, sampler: Sampler, pixel_evaluator: E) -> ImageTileIntegrator<E> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RadianceComputer` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:411:7
[INFO] [stdout]     |
[INFO] [stdout] 411 | trait RadianceComputer {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RayIntegrator` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:423:8
[INFO] [stdout]     |
[INFO] [stdout] 423 | struct RayIntegrator<R: RadianceComputer> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:428:8
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<R: RadianceComputer> RayIntegrator<R> {
[INFO] [stdout]     | ------------------------------------------ associated function in this implementation
[INFO] [stdout] 428 |     fn new(
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RandomWalkIntegrator` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:490:8
[INFO] [stdout]     |
[INFO] [stdout] 490 | struct RandomWalkIntegrator {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `li_random_walk` are never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:497:8
[INFO] [stdout]     |
[INFO] [stdout] 496 | impl RandomWalkIntegrator {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 497 |     fn new(
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 511 |     fn li_random_walk(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sample`, `pmf`, and `u_remapped` are never read
[INFO] [stdout]   --> lili/src/math/sampling.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct DiscreteSample {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 52 |     sample: i32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 53 |     pmf: Float,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 54 |     u_remapped: Float,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Distance` is never used
[INFO] [stdout]   --> lili/src/math/points.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | trait Distance: Sub + Sized
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> lili/src/math/float.rs:185:47
[INFO] [stdout]     |
[INFO] [stdout] 185 |     const ONE_MINUS_EPSILON: Float = unsafe { std::mem::transmute(0x3f7fffffu32) };
[INFO] [stdout]     |                                               -------------------^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               help: replace this with: `f32::from_bits`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `f64`
[INFO] [stdout]  --> lili/src/math/float.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[cfg(not(f64))]
[INFO] [stdout]   |           ^^^ help: found config with similar value: `feature = "f64"`
[INFO] [stdout]   |
[INFO] [stdout]   = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]   = help: consider using a Cargo feature instead
[INFO] [stdout]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]            [lints.rust]
[INFO] [stdout]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(f64)'] }
[INFO] [stdout]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(f64)");` to the top of the `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `f64`
[INFO] [stdout]  --> lili/src/math/float.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[cfg(f64)]
[INFO] [stdout]   |       ^^^ help: found config with similar value: `feature = "f64"`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider using a Cargo feature instead
[INFO] [stdout]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]            [lints.rust]
[INFO] [stdout]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(f64)'] }
[INFO] [stdout]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(f64)");` to the top of the `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `f64`
[INFO] [stdout]    --> lili/src/math/float.rs:184:15
[INFO] [stdout]     |
[INFO] [stdout] 184 |     #[cfg(not(f64))]
[INFO] [stdout]     |               ^^^ help: found config with similar value: `feature = "f64"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(f64)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(f64)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `f64`
[INFO] [stdout]    --> lili/src/math/float.rs:187:11
[INFO] [stdout]     |
[INFO] [stdout] 187 |     #[cfg(f64)]
[INFO] [stdout]     |           ^^^ help: found config with similar value: `feature = "f64"`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(f64)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(f64)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:14:26
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn sample_uniform_sphere(u: Point2f) -> Vector3f {
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn abs_dot(a: &Vector3f, b: &Vector3f) -> Float {
[INFO] [stdout]    |            ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:18:26
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn abs_dot(a: &Vector3f, b: &Vector3f) -> Float {
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ray`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn intersect(&self, ray: &Ray, t_max: Float) -> Option<ShapeIntersection> {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t_max`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:25:36
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn intersect(&self, ray: &Ray, t_max: Float) -> Option<ShapeIntersection> {
[INFO] [stdout]    |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ray`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:29:27
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn intersect_p(&self, ray: &Ray, t_max: Float) -> bool {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t_max`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:29:38
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn intersect_p(&self, ray: &Ray, t_max: Float) -> bool {
[INFO] [stdout]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bounds`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:49:30
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn preprocess(&mut self, bounds: &Bounds3f) {
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bounds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ray`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn le(&self, ray: &Ray, lambda: &SampledWavelengths) -> SampledSpectrum {
[INFO] [stdout]    |                  ^^^ help: if this is intentional, prefix it with an underscore: `_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lambda`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:57:29
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn le(&self, ray: &Ray, lambda: &SampledWavelengths) -> SampledSpectrum {
[INFO] [stdout]    |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lambda`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wo`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn f(&self, wo: &Vector3f, wp: &Vector3f) -> SampledSpectrum {
[INFO] [stdout]    |                 ^^ help: if this is intentional, prefix it with an underscore: `_wo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wp`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:72:32
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn f(&self, wo: &Vector3f, wp: &Vector3f) -> SampledSpectrum {
[INFO] [stdout]    |                                ^^ help: if this is intentional, prefix it with an underscore: `_wp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wo`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:87:18
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn le(&self, wo: &Vector3f, lambda: &SampledWavelengths) -> SampledSpectrum {
[INFO] [stdout]    |                  ^^ help: if this is intentional, prefix it with an underscore: `_wo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lambda`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:87:33
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn le(&self, wo: &Vector3f, lambda: &SampledWavelengths) -> SampledSpectrum {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lambda`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ray`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         ray: &Ray,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ray`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lambda`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |         lambda: &SampledWavelengths,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lambda`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         camera: &Camera,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scratch_buffer`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 96 |         scratch_buffer: &ScratchBuffer,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scratch_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sampler`
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |         sampler: &Sampler,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sampler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wp`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:102:25
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn spawn_ray(&self, wp: &Vector3f) -> RayDifferential {
[INFO] [stdout]     |                         ^^ help: if this is intentional, prefix it with an underscore: `_wp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pixel`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:120:34
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn start_pixel_sample(&self, pixel: &Point2i, sample_index: i32) {
[INFO] [stdout]     |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_pixel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample_index`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:120:51
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn start_pixel_sample(&self, pixel: &Point2i, sample_index: i32) {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera_sample`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |         camera_sample: CameraSample,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera_sample`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lambda`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         lambda: &SampledWavelengths,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lambda`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:157:34
[INFO] [stdout]     |
[INFO] [stdout] 157 |     fn sample_wavelengths(&self, sample: Float) -> SampledWavelengths {
[INFO] [stdout]     |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pixel`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |         pixel: Point2i,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_pixel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 172 |         l: SampledSpectrum,
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lambda`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:173:9
[INFO] [stdout]     |
[INFO] [stdout] 173 |         lambda: SampledWavelengths,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lambda`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visible_surface`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |         visible_surface: &VisibleSurface,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visible_surface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter_weight`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |         filter_weight: Float,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter_weight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sampler`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:187:12
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn new(sampler: &Sampler, pixel: Point2i, filter: Filter) -> Self {
[INFO] [stdout]     |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sampler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pixel`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:187:31
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn new(sampler: &Sampler, pixel: Point2i, filter: Filter) -> Self {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_pixel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:187:47
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn new(sampler: &Sampler, pixel: Point2i, filter: Filter) -> Self {
[INFO] [stdout]     |                                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:217:12
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn new(total: i64, message: &str, quiet: bool) -> Self {
[INFO] [stdout]     |            ^^^^^ help: if this is intentional, prefix it with an underscore: `_total`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:217:24
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn new(total: i64, message: &str, quiet: bool) -> Self {
[INFO] [stdout]     |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `quiet`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:217:39
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn new(total: i64, message: &str, quiet: bool) -> Self {
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_quiet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `progress`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:221:22
[INFO] [stdout]     |
[INFO] [stdout] 221 |     fn update(&self, progress: i32) {
[INFO] [stdout]     |                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_progress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wavelength`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout] 237 |     fn new(wavelength: Float) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wavelength`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:249:18
[INFO] [stdout]     |
[INFO] [stdout] 249 |     fn mul(self, rhs: Self) -> Self::Output {
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:257:18
[INFO] [stdout]     |
[INFO] [stdout] 257 |     fn mul(self, rhs: Float) -> Self::Output {
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:265:18
[INFO] [stdout]     |
[INFO] [stdout] 265 |     fn div(self, rhs: Float) -> Self::Output {
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:273:18
[INFO] [stdout]     |
[INFO] [stdout] 273 |     fn add(self, rhs: Self) -> Self::Output {
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:454:13
[INFO] [stdout]     |
[INFO] [stdout] 454 |         let mut camera_ray = camera.generate_ray_differential(camera_sample, &lambda);
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:456:13
[INFO] [stdout]     |
[INFO] [stdout] 456 |         let mut l = SampledSpectrum::new(0.0);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:459:21
[INFO] [stdout]     |
[INFO] [stdout] 459 |         if let Some(mut ray) = camera_ray {
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ray_diff_scale`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:460:17
[INFO] [stdout]     |
[INFO] [stdout] 460 |             let ray_diff_scale =
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ray_diff_scale`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l`
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:463:17
[INFO] [stdout]     |
[INFO] [stdout] 463 |             let l = ray.weight
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filenames`
[INFO] [stdout]  --> lili/src/scene.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn parse_files(filenames: Vec<OsString>) -> BasicScene {
[INFO] [stdout]   |                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filenames`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> lili/src/lib.rs:42:16
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn new(options: &Options) -> Self {
[INFO] [stdout]    |                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scene`
[INFO] [stdout]   --> lili/src/lib.rs:46:26
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn render(&self, scene: BasicScene) {
[INFO] [stdout]    |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_scene`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Float` is never used
[INFO] [stdout]  --> lili/src/lib.rs:4:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | type Float = math::Float;
[INFO] [stdout]   |      ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sample_uniform_sphere` is never used
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn sample_uniform_sphere(u: Point2f) -> Vector3f {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `abs_dot` is never used
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn abs_dot(a: &Vector3f, b: &Vector3f) -> Float {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Primitive` is never constructed
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct Primitive {}
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `intersect`, `intersect_p`, `bounds`, and `valid` are never used
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Primitive {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 25 |     fn intersect(&self, ray: &Ray, t_max: Float) -> Option<ShapeIntersection> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     fn intersect_p(&self, ray: &Ray, t_max: Float) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     fn bounds(&self) -> Bounds3f {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn valid(&self) -> bool {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Light` is never used
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:43:6
[INFO] [stdout]    |
[INFO] [stdout] 43 | enum Light {
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `preprocess`, `light_type`, and `le` are never used
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl Light {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 49 |     fn preprocess(&mut self, bounds: &Bounds3f) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     fn light_type(&self) -> LightType {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn le(&self, ray: &Ray, lambda: &SampledWavelengths) -> SampledSpectrum {
[INFO] [stdout]    |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LightType` is never used
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:64:6
[INFO] [stdout]    |
[INFO] [stdout] 64 | enum LightType {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bsdf` is never constructed
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | struct Bsdf {}
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `f` is never used
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | impl Bsdf {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 72 |     fn f(&self, wo: &Vector3f, wp: &Vector3f) -> SampledSpectrum {
[INFO] [stdout]    |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shading` is never constructed
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | struct Shading {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShapeIntersection` is never constructed
[INFO] [stdout]   --> lili/src/cpu/integrator.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | struct ShapeIntersection {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `le`, `bsdf`, and `spawn_ray` are never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:87:8
[INFO] [stdout]     |
[INFO] [stdout]  86 | impl ShapeIntersection {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout]  87 |     fn le(&self, wo: &Vector3f, lambda: &SampledWavelengths) -> SampledSpectrum {
[INFO] [stdout]     |        ^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     fn bsdf(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn spawn_ray(&self, wp: &Vector3f) -> RayDifferential {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SurfaceInteraction` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 107 | struct SurfaceInteraction {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bounds3f` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 110 | struct Bounds3f {}
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sampler` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | struct Sampler {}
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `samples_per_pixel`, `start_pixel_sample`, `get_1d`, and `get_2d` are never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl Sampler {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] 116 |     fn samples_per_pixel(&self) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     fn start_pixel_sample(&self, pixel: &Point2i, sample_index: i32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     fn get_1d(&self) -> Float {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     fn get_2d(&self) -> Point2f {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScratchBuffer` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | struct ScratchBuffer {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Camera` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | struct Camera {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generate_ray_differential` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl Camera {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] 141 |     fn generate_ray_differential(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Film` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | struct Film {}
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `pixel_bounds`, `sample_wavelengths`, `filter`, `uses_visible_surface`, and `add_sample` are never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:153:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | impl Film {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 153 |     fn pixel_bounds(&self) -> Bounds2i {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     fn sample_wavelengths(&self, sample: Float) -> SampledWavelengths {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     fn filter(&self) -> Filter {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     fn uses_visible_surface(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     fn add_sample(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CameraSample` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:182:8
[INFO] [stdout]     |
[INFO] [stdout] 182 | struct CameraSample {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:187:8
[INFO] [stdout]     |
[INFO] [stdout] 186 | impl CameraSample {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 187 |     fn new(sampler: &Sampler, pixel: Point2i, filter: Filter) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Filter` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:192:8
[INFO] [stdout]     |
[INFO] [stdout] 192 | struct Filter {}
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bounds2i` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:194:8
[INFO] [stdout]     |
[INFO] [stdout] 194 | struct Bounds2i {}
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `area`, `x`, and `y` are never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:197:8
[INFO] [stdout]     |
[INFO] [stdout] 196 | impl Bounds2i {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 197 |     fn area(&self) -> i64 {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     fn x(&self) -> i32 {
[INFO] [stdout]     |        ^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     fn y(&self) -> i32 {
[INFO] [stdout]     |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Renderer` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:210:7
[INFO] [stdout]     |
[INFO] [stdout] 210 | trait Renderer {
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProgressReporter` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:214:8
[INFO] [stdout]     |
[INFO] [stdout] 214 | struct ProgressReporter {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `update` are never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:217:8
[INFO] [stdout]     |
[INFO] [stdout] 216 | impl ProgressReporter {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 217 |     fn new(total: i64, message: &str, quiet: bool) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     fn update(&self, progress: i32) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CameraRayDifferential` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:226:8
[INFO] [stdout]     |
[INFO] [stdout] 226 | struct CameraRayDifferential {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SampledWavelengths` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:231:8
[INFO] [stdout]     |
[INFO] [stdout] 231 | struct SampledWavelengths {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SampledSpectrum` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:234:8
[INFO] [stdout]     |
[INFO] [stdout] 234 | struct SampledSpectrum {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `nonzero` are never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:237:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | impl SampledSpectrum {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 237 |     fn new(wavelength: Float) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     fn nonzero(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VisibleSurface` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 279 | struct VisibleSurface {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IntersectorTrait` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:281:7
[INFO] [stdout]     |
[INFO] [stdout] 281 | trait IntersectorTrait {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AggregateIntersector` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:287:8
[INFO] [stdout]     |
[INFO] [stdout] 287 | struct AggregateIntersector {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:296:8
[INFO] [stdout]     |
[INFO] [stdout] 295 | impl AggregateIntersector {
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 296 |     fn new(aggregate: Primitive, mut lights: Vec<Light>) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PixelEvaluator` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:339:7
[INFO] [stdout]     |
[INFO] [stdout] 339 | trait PixelEvaluator {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImageTileIntegrator` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:350:8
[INFO] [stdout]     |
[INFO] [stdout] 350 | struct ImageTileIntegrator<E: PixelEvaluator> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:359:8
[INFO] [stdout]     |
[INFO] [stdout] 358 | impl<E: PixelEvaluator> ImageTileIntegrator<E> {
[INFO] [stdout]     | ---------------------------------------------- associated function in this implementation
[INFO] [stdout] 359 |     fn new(camera: Camera, sampler: Sampler, pixel_evaluator: E) -> ImageTileIntegrator<E> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RadianceComputer` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:411:7
[INFO] [stdout]     |
[INFO] [stdout] 411 | trait RadianceComputer {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RayIntegrator` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:423:8
[INFO] [stdout]     |
[INFO] [stdout] 423 | struct RayIntegrator<R: RadianceComputer> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:428:8
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl<R: RadianceComputer> RayIntegrator<R> {
[INFO] [stdout]     | ------------------------------------------ associated function in this implementation
[INFO] [stdout] 428 |     fn new(
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RandomWalkIntegrator` is never constructed
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:490:8
[INFO] [stdout]     |
[INFO] [stdout] 490 | struct RandomWalkIntegrator {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `li_random_walk` are never used
[INFO] [stdout]    --> lili/src/cpu/integrator.rs:497:8
[INFO] [stdout]     |
[INFO] [stdout] 496 | impl RandomWalkIntegrator {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 497 |     fn new(
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 511 |     fn li_random_walk(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sample`, `pmf`, and `u_remapped` are never read
[INFO] [stdout]   --> lili/src/math/sampling.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct DiscreteSample {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 52 |     sample: i32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 53 |     pmf: Float,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 54 |     u_remapped: Float,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Distance` is never used
[INFO] [stdout]   --> lili/src/math/points.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | trait Distance: Sub + Sized
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> lili/src/math/float.rs:185:47
[INFO] [stdout]     |
[INFO] [stdout] 185 |     const ONE_MINUS_EPSILON: Float = unsafe { std::mem::transmute(0x3f7fffffu32) };
[INFO] [stdout]     |                                               -------------------^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               help: replace this with: `f32::from_bits`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.19s
[INFO] running `Command { std: "docker" "inspect" "66293527d79db1f90e7a2911b031edcedaf52969b259c52c39682b042e9b1edb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "66293527d79db1f90e7a2911b031edcedaf52969b259c52c39682b042e9b1edb", kill_on_drop: false }`
[INFO] [stdout] 66293527d79db1f90e7a2911b031edcedaf52969b259c52c39682b042e9b1edb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ebba4449e5698215c56c49d92d2f5f12e59273502ddcd9b6cb9d080e181ec197
[INFO] running `Command { std: "docker" "start" "-a" "ebba4449e5698215c56c49d92d2f5f12e59273502ddcd9b6cb9d080e181ec197", kill_on_drop: false }`
[INFO] [stderr] warning: unexpected `cfg` condition name: `f64`
[INFO] [stderr]  --> lili/src/math/float.rs:4:11
[INFO] [stderr]   |
[INFO] [stderr] 4 | #[cfg(not(f64))]
[INFO] [stderr]   |           ^^^ help: found config with similar value: `feature = "f64"`
[INFO] [stderr]   |
[INFO] [stderr]   = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stderr]   = help: consider using a Cargo feature instead
[INFO] [stderr]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]            [lints.rust]
[INFO] [stderr]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(f64)'] }
[INFO] [stderr]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(f64)");` to the top of the `build.rs`
[INFO] [stderr]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `f64`
[INFO] [stderr]  --> lili/src/math/float.rs:7:7
[INFO] [stderr]   |
[INFO] [stderr] 7 | #[cfg(f64)]
[INFO] [stderr]   |       ^^^ help: found config with similar value: `feature = "f64"`
[INFO] [stderr]   |
[INFO] [stderr]   = help: consider using a Cargo feature instead
[INFO] [stderr]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]            [lints.rust]
[INFO] [stderr]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(f64)'] }
[INFO] [stderr]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(f64)");` to the top of the `build.rs`
[INFO] [stderr]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `f64`
[INFO] [stderr]    --> lili/src/math/float.rs:184:15
[INFO] [stderr]     |
[INFO] [stderr] 184 |     #[cfg(not(f64))]
[INFO] [stderr]     |               ^^^ help: found config with similar value: `feature = "f64"`
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(f64)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(f64)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `f64`
[INFO] [stderr]    --> lili/src/math/float.rs:187:11
[INFO] [stderr]     |
[INFO] [stderr] 187 |     #[cfg(f64)]
[INFO] [stderr]     |           ^^^ help: found config with similar value: `feature = "f64"`
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(f64)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(f64)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `u`
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:14:26
[INFO] [stderr]    |
[INFO] [stderr] 14 | fn sample_uniform_sphere(u: Point2f) -> Vector3f {
[INFO] [stderr]    |                          ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `a`
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:18:12
[INFO] [stderr]    |
[INFO] [stderr] 18 | fn abs_dot(a: &Vector3f, b: &Vector3f) -> Float {
[INFO] [stderr]    |            ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `b`
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:18:26
[INFO] [stderr]    |
[INFO] [stderr] 18 | fn abs_dot(a: &Vector3f, b: &Vector3f) -> Float {
[INFO] [stderr]    |                          ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ray`
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:25:25
[INFO] [stderr]    |
[INFO] [stderr] 25 |     fn intersect(&self, ray: &Ray, t_max: Float) -> Option<ShapeIntersection> {
[INFO] [stderr]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_ray`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `t_max`
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:25:36
[INFO] [stderr]    |
[INFO] [stderr] 25 |     fn intersect(&self, ray: &Ray, t_max: Float) -> Option<ShapeIntersection> {
[INFO] [stderr]    |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_max`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ray`
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:29:27
[INFO] [stderr]    |
[INFO] [stderr] 29 |     fn intersect_p(&self, ray: &Ray, t_max: Float) -> bool {
[INFO] [stderr]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ray`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `t_max`
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:29:38
[INFO] [stderr]    |
[INFO] [stderr] 29 |     fn intersect_p(&self, ray: &Ray, t_max: Float) -> bool {
[INFO] [stderr]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_max`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `bounds`
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:49:30
[INFO] [stderr]    |
[INFO] [stderr] 49 |     fn preprocess(&mut self, bounds: &Bounds3f) {
[INFO] [stderr]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bounds`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ray`
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:57:18
[INFO] [stderr]    |
[INFO] [stderr] 57 |     fn le(&self, ray: &Ray, lambda: &SampledWavelengths) -> SampledSpectrum {
[INFO] [stderr]    |                  ^^^ help: if this is intentional, prefix it with an underscore: `_ray`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `lambda`
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:57:29
[INFO] [stderr]    |
[INFO] [stderr] 57 |     fn le(&self, ray: &Ray, lambda: &SampledWavelengths) -> SampledSpectrum {
[INFO] [stderr]    |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lambda`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `wo`
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:72:17
[INFO] [stderr]    |
[INFO] [stderr] 72 |     fn f(&self, wo: &Vector3f, wp: &Vector3f) -> SampledSpectrum {
[INFO] [stderr]    |                 ^^ help: if this is intentional, prefix it with an underscore: `_wo`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `wp`
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:72:32
[INFO] [stderr]    |
[INFO] [stderr] 72 |     fn f(&self, wo: &Vector3f, wp: &Vector3f) -> SampledSpectrum {
[INFO] [stderr]    |                                ^^ help: if this is intentional, prefix it with an underscore: `_wp`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `wo`
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:87:18
[INFO] [stderr]    |
[INFO] [stderr] 87 |     fn le(&self, wo: &Vector3f, lambda: &SampledWavelengths) -> SampledSpectrum {
[INFO] [stderr]    |                  ^^ help: if this is intentional, prefix it with an underscore: `_wo`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `lambda`
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:87:33
[INFO] [stderr]    |
[INFO] [stderr] 87 |     fn le(&self, wo: &Vector3f, lambda: &SampledWavelengths) -> SampledSpectrum {
[INFO] [stderr]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lambda`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ray`
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:93:9
[INFO] [stderr]    |
[INFO] [stderr] 93 |         ray: &Ray,
[INFO] [stderr]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ray`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `lambda`
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:94:9
[INFO] [stderr]    |
[INFO] [stderr] 94 |         lambda: &SampledWavelengths,
[INFO] [stderr]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lambda`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `camera`
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:95:9
[INFO] [stderr]    |
[INFO] [stderr] 95 |         camera: &Camera,
[INFO] [stderr]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `scratch_buffer`
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:96:9
[INFO] [stderr]    |
[INFO] [stderr] 96 |         scratch_buffer: &ScratchBuffer,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scratch_buffer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sampler`
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:97:9
[INFO] [stderr]    |
[INFO] [stderr] 97 |         sampler: &Sampler,
[INFO] [stderr]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sampler`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `wp`
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:102:25
[INFO] [stderr]     |
[INFO] [stderr] 102 |     fn spawn_ray(&self, wp: &Vector3f) -> RayDifferential {
[INFO] [stderr]     |                         ^^ help: if this is intentional, prefix it with an underscore: `_wp`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pixel`
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:120:34
[INFO] [stderr]     |
[INFO] [stderr] 120 |     fn start_pixel_sample(&self, pixel: &Point2i, sample_index: i32) {
[INFO] [stderr]     |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_pixel`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sample_index`
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:120:51
[INFO] [stderr]     |
[INFO] [stderr] 120 |     fn start_pixel_sample(&self, pixel: &Point2i, sample_index: i32) {
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `camera_sample`
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:143:9
[INFO] [stderr]     |
[INFO] [stderr] 143 |         camera_sample: CameraSample,
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera_sample`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `lambda`
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:144:9
[INFO] [stderr]     |
[INFO] [stderr] 144 |         lambda: &SampledWavelengths,
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lambda`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sample`
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:157:34
[INFO] [stderr]     |
[INFO] [stderr] 157 |     fn sample_wavelengths(&self, sample: Float) -> SampledWavelengths {
[INFO] [stderr]     |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pixel`
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:171:9
[INFO] [stderr]     |
[INFO] [stderr] 171 |         pixel: Point2i,
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_pixel`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `l`
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:172:9
[INFO] [stderr]     |
[INFO] [stderr] 172 |         l: SampledSpectrum,
[INFO] [stderr]     |         ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `lambda`
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:173:9
[INFO] [stderr]     |
[INFO] [stderr] 173 |         lambda: SampledWavelengths,
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lambda`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `visible_surface`
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:174:9
[INFO] [stderr]     |
[INFO] [stderr] 174 |         visible_surface: &VisibleSurface,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visible_surface`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `filter_weight`
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:175:9
[INFO] [stderr]     |
[INFO] [stderr] 175 |         filter_weight: Float,
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter_weight`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sampler`
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:187:12
[INFO] [stderr]     |
[INFO] [stderr] 187 |     fn new(sampler: &Sampler, pixel: Point2i, filter: Filter) -> Self {
[INFO] [stderr]     |            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sampler`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pixel`
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:187:31
[INFO] [stderr]     |
[INFO] [stderr] 187 |     fn new(sampler: &Sampler, pixel: Point2i, filter: Filter) -> Self {
[INFO] [stderr]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_pixel`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `filter`
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:187:47
[INFO] [stderr]     |
[INFO] [stderr] 187 |     fn new(sampler: &Sampler, pixel: Point2i, filter: Filter) -> Self {
[INFO] [stderr]     |                                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `total`
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:217:12
[INFO] [stderr]     |
[INFO] [stderr] 217 |     fn new(total: i64, message: &str, quiet: bool) -> Self {
[INFO] [stderr]     |            ^^^^^ help: if this is intentional, prefix it with an underscore: `_total`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `message`
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:217:24
[INFO] [stderr]     |
[INFO] [stderr] 217 |     fn new(total: i64, message: &str, quiet: bool) -> Self {
[INFO] [stderr]     |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `quiet`
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:217:39
[INFO] [stderr]     |
[INFO] [stderr] 217 |     fn new(total: i64, message: &str, quiet: bool) -> Self {
[INFO] [stderr]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_quiet`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `progress`
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:221:22
[INFO] [stderr]     |
[INFO] [stderr] 221 |     fn update(&self, progress: i32) {
[INFO] [stderr]     |                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_progress`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `wavelength`
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:237:12
[INFO] [stderr]     |
[INFO] [stderr] 237 |     fn new(wavelength: Float) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wavelength`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rhs`
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:249:18
[INFO] [stderr]     |
[INFO] [stderr] 249 |     fn mul(self, rhs: Self) -> Self::Output {
[INFO] [stderr]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rhs`
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:257:18
[INFO] [stderr]     |
[INFO] [stderr] 257 |     fn mul(self, rhs: Float) -> Self::Output {
[INFO] [stderr]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rhs`
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:265:18
[INFO] [stderr]     |
[INFO] [stderr] 265 |     fn div(self, rhs: Float) -> Self::Output {
[INFO] [stderr]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rhs`
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:273:18
[INFO] [stderr]     |
[INFO] [stderr] 273 |     fn add(self, rhs: Self) -> Self::Output {
[INFO] [stderr]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:454:13
[INFO] [stderr]     |
[INFO] [stderr] 454 |         let mut camera_ray = camera.generate_ray_differential(camera_sample, &lambda);
[INFO] [stderr]     |             ----^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:456:13
[INFO] [stderr]     |
[INFO] [stderr] 456 |         let mut l = SampledSpectrum::new(0.0);
[INFO] [stderr]     |             ----^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:459:21
[INFO] [stderr]     |
[INFO] [stderr] 459 |         if let Some(mut ray) = camera_ray {
[INFO] [stderr]     |                     ----^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ray_diff_scale`
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:460:17
[INFO] [stderr]     |
[INFO] [stderr] 460 |             let ray_diff_scale =
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ray_diff_scale`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `l`
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:463:17
[INFO] [stderr]     |
[INFO] [stderr] 463 |             let l = ray.weight
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_l`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `filenames`
[INFO] [stderr]  --> lili/src/scene.rs:8:24
[INFO] [stderr]   |
[INFO] [stderr] 8 |     pub fn parse_files(filenames: Vec<OsString>) -> BasicScene {
[INFO] [stderr]   |                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filenames`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `options`
[INFO] [stderr]   --> lili/src/lib.rs:42:16
[INFO] [stderr]    |
[INFO] [stderr] 42 |     pub fn new(options: &Options) -> Self {
[INFO] [stderr]    |                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `scene`
[INFO] [stderr]   --> lili/src/lib.rs:46:26
[INFO] [stderr]    |
[INFO] [stderr] 46 |     pub fn render(&self, scene: BasicScene) {
[INFO] [stderr]    |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_scene`
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Float` is never used
[INFO] [stderr]  --> lili/src/lib.rs:4:6
[INFO] [stderr]   |
[INFO] [stderr] 4 | type Float = math::Float;
[INFO] [stderr]   |      ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `sample_uniform_sphere` is never used
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:14:4
[INFO] [stderr]    |
[INFO] [stderr] 14 | fn sample_uniform_sphere(u: Point2f) -> Vector3f {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `abs_dot` is never used
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:18:4
[INFO] [stderr]    |
[INFO] [stderr] 18 | fn abs_dot(a: &Vector3f, b: &Vector3f) -> Float {
[INFO] [stderr]    |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Primitive` is never constructed
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:22:8
[INFO] [stderr]    |
[INFO] [stderr] 22 | struct Primitive {}
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `intersect`, `intersect_p`, `bounds`, and `valid` are never used
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:25:8
[INFO] [stderr]    |
[INFO] [stderr] 24 | impl Primitive {
[INFO] [stderr]    | -------------- methods in this implementation
[INFO] [stderr] 25 |     fn intersect(&self, ray: &Ray, t_max: Float) -> Option<ShapeIntersection> {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 29 |     fn intersect_p(&self, ray: &Ray, t_max: Float) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 33 |     fn bounds(&self) -> Bounds3f {
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 37 |     fn valid(&self) -> bool {
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Light` is never used
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:43:6
[INFO] [stderr]    |
[INFO] [stderr] 43 | enum Light {
[INFO] [stderr]    |      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `preprocess`, `light_type`, and `le` are never used
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:49:8
[INFO] [stderr]    |
[INFO] [stderr] 48 | impl Light {
[INFO] [stderr]    | ---------- methods in this implementation
[INFO] [stderr] 49 |     fn preprocess(&mut self, bounds: &Bounds3f) {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 53 |     fn light_type(&self) -> LightType {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 57 |     fn le(&self, ray: &Ray, lambda: &SampledWavelengths) -> SampledSpectrum {
[INFO] [stderr]    |        ^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `LightType` is never used
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:64:6
[INFO] [stderr]    |
[INFO] [stderr] 64 | enum LightType {
[INFO] [stderr]    |      ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Bsdf` is never constructed
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:69:8
[INFO] [stderr]    |
[INFO] [stderr] 69 | struct Bsdf {}
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `f` is never used
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:72:8
[INFO] [stderr]    |
[INFO] [stderr] 71 | impl Bsdf {
[INFO] [stderr]    | --------- method in this implementation
[INFO] [stderr] 72 |     fn f(&self, wo: &Vector3f, wp: &Vector3f) -> SampledSpectrum {
[INFO] [stderr]    |        ^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Shading` is never constructed
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:77:8
[INFO] [stderr]    |
[INFO] [stderr] 77 | struct Shading {
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ShapeIntersection` is never constructed
[INFO] [stderr]   --> lili/src/cpu/integrator.rs:81:8
[INFO] [stderr]    |
[INFO] [stderr] 81 | struct ShapeIntersection {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `le`, `bsdf`, and `spawn_ray` are never used
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:87:8
[INFO] [stderr]     |
[INFO] [stderr]  86 | impl ShapeIntersection {
[INFO] [stderr]     | ---------------------- methods in this implementation
[INFO] [stderr]  87 |     fn le(&self, wo: &Vector3f, lambda: &SampledWavelengths) -> SampledSpectrum {
[INFO] [stderr]     |        ^^
[INFO] [stderr] ...
[INFO] [stderr]  91 |     fn bsdf(
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 102 |     fn spawn_ray(&self, wp: &Vector3f) -> RayDifferential {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SurfaceInteraction` is never constructed
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:107:8
[INFO] [stderr]     |
[INFO] [stderr] 107 | struct SurfaceInteraction {}
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Bounds3f` is never constructed
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:110:8
[INFO] [stderr]     |
[INFO] [stderr] 110 | struct Bounds3f {}
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Sampler` is never constructed
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:113:8
[INFO] [stderr]     |
[INFO] [stderr] 113 | struct Sampler {}
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `samples_per_pixel`, `start_pixel_sample`, `get_1d`, and `get_2d` are never used
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:116:8
[INFO] [stderr]     |
[INFO] [stderr] 115 | impl Sampler {
[INFO] [stderr]     | ------------ methods in this implementation
[INFO] [stderr] 116 |     fn samples_per_pixel(&self) -> i32 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 120 |     fn start_pixel_sample(&self, pixel: &Point2i, sample_index: i32) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 124 |     fn get_1d(&self) -> Float {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 128 |     fn get_2d(&self) -> Point2f {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ScratchBuffer` is never constructed
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:134:8
[INFO] [stderr]     |
[INFO] [stderr] 134 | struct ScratchBuffer {}
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Camera` is never constructed
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:136:8
[INFO] [stderr]     |
[INFO] [stderr] 136 | struct Camera {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `generate_ray_differential` is never used
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:141:8
[INFO] [stderr]     |
[INFO] [stderr] 140 | impl Camera {
[INFO] [stderr]     | ----------- method in this implementation
[INFO] [stderr] 141 |     fn generate_ray_differential(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Film` is never constructed
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:150:8
[INFO] [stderr]     |
[INFO] [stderr] 150 | struct Film {}
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `pixel_bounds`, `sample_wavelengths`, `filter`, `uses_visible_surface`, and `add_sample` are never used
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:153:8
[INFO] [stderr]     |
[INFO] [stderr] 152 | impl Film {
[INFO] [stderr]     | --------- methods in this implementation
[INFO] [stderr] 153 |     fn pixel_bounds(&self) -> Bounds2i {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 157 |     fn sample_wavelengths(&self, sample: Float) -> SampledWavelengths {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 161 |     fn filter(&self) -> Filter {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 165 |     fn uses_visible_surface(&self) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 169 |     fn add_sample(
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CameraSample` is never constructed
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:182:8
[INFO] [stderr]     |
[INFO] [stderr] 182 | struct CameraSample {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:187:8
[INFO] [stderr]     |
[INFO] [stderr] 186 | impl CameraSample {
[INFO] [stderr]     | ----------------- associated function in this implementation
[INFO] [stderr] 187 |     fn new(sampler: &Sampler, pixel: Point2i, filter: Filter) -> Self {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Filter` is never constructed
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:192:8
[INFO] [stderr]     |
[INFO] [stderr] 192 | struct Filter {}
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Bounds2i` is never constructed
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:194:8
[INFO] [stderr]     |
[INFO] [stderr] 194 | struct Bounds2i {}
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `area`, `x`, and `y` are never used
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:197:8
[INFO] [stderr]     |
[INFO] [stderr] 196 | impl Bounds2i {
[INFO] [stderr]     | ------------- methods in this implementation
[INFO] [stderr] 197 |     fn area(&self) -> i64 {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 201 |     fn x(&self) -> i32 {
[INFO] [stderr]     |        ^
[INFO] [stderr] ...
[INFO] [stderr] 205 |     fn y(&self) -> i32 {
[INFO] [stderr]     |        ^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Renderer` is never used
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:210:7
[INFO] [stderr]     |
[INFO] [stderr] 210 | trait Renderer {
[INFO] [stderr]     |       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ProgressReporter` is never constructed
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:214:8
[INFO] [stderr]     |
[INFO] [stderr] 214 | struct ProgressReporter {}
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `update` are never used
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:217:8
[INFO] [stderr]     |
[INFO] [stderr] 216 | impl ProgressReporter {
[INFO] [stderr]     | --------------------- associated items in this implementation
[INFO] [stderr] 217 |     fn new(total: i64, message: &str, quiet: bool) -> Self {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 221 |     fn update(&self, progress: i32) {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CameraRayDifferential` is never constructed
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:226:8
[INFO] [stderr]     |
[INFO] [stderr] 226 | struct CameraRayDifferential {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SampledWavelengths` is never constructed
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:231:8
[INFO] [stderr]     |
[INFO] [stderr] 231 | struct SampledWavelengths {}
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SampledSpectrum` is never constructed
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:234:8
[INFO] [stderr]     |
[INFO] [stderr] 234 | struct SampledSpectrum {}
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `nonzero` are never used
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:237:8
[INFO] [stderr]     |
[INFO] [stderr] 236 | impl SampledSpectrum {
[INFO] [stderr]     | -------------------- associated items in this implementation
[INFO] [stderr] 237 |     fn new(wavelength: Float) -> Self {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 241 |     fn nonzero(&self) -> bool {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `VisibleSurface` is never constructed
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:279:8
[INFO] [stderr]     |
[INFO] [stderr] 279 | struct VisibleSurface {}
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `IntersectorTrait` is never used
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:281:7
[INFO] [stderr]     |
[INFO] [stderr] 281 | trait IntersectorTrait {
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AggregateIntersector` is never constructed
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:287:8
[INFO] [stderr]     |
[INFO] [stderr] 287 | struct AggregateIntersector {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:296:8
[INFO] [stderr]     |
[INFO] [stderr] 295 | impl AggregateIntersector {
[INFO] [stderr]     | ------------------------- associated function in this implementation
[INFO] [stderr] 296 |     fn new(aggregate: Primitive, mut lights: Vec<Light>) -> Self {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `PixelEvaluator` is never used
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:339:7
[INFO] [stderr]     |
[INFO] [stderr] 339 | trait PixelEvaluator {
[INFO] [stderr]     |       ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ImageTileIntegrator` is never constructed
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:350:8
[INFO] [stderr]     |
[INFO] [stderr] 350 | struct ImageTileIntegrator<E: PixelEvaluator> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:359:8
[INFO] [stderr]     |
[INFO] [stderr] 358 | impl<E: PixelEvaluator> ImageTileIntegrator<E> {
[INFO] [stderr]     | ---------------------------------------------- associated function in this implementation
[INFO] [stderr] 359 |     fn new(camera: Camera, sampler: Sampler, pixel_evaluator: E) -> ImageTileIntegrator<E> {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `RadianceComputer` is never used
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:411:7
[INFO] [stderr]     |
[INFO] [stderr] 411 | trait RadianceComputer {
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RayIntegrator` is never constructed
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:423:8
[INFO] [stderr]     |
[INFO] [stderr] 423 | struct RayIntegrator<R: RadianceComputer> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:428:8
[INFO] [stderr]     |
[INFO] [stderr] 427 | impl<R: RadianceComputer> RayIntegrator<R> {
[INFO] [stderr]     | ------------------------------------------ associated function in this implementation
[INFO] [stderr] 428 |     fn new(
[INFO] [stderr]     |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RandomWalkIntegrator` is never constructed
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:490:8
[INFO] [stderr]     |
[INFO] [stderr] 490 | struct RandomWalkIntegrator {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `li_random_walk` are never used
[INFO] [stderr]    --> lili/src/cpu/integrator.rs:497:8
[INFO] [stderr]     |
[INFO] [stderr] 496 | impl RandomWalkIntegrator {
[INFO] [stderr]     | ------------------------- associated items in this implementation
[INFO] [stderr] 497 |     fn new(
[INFO] [stderr]     |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 511 |     fn li_random_walk(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `sample`, `pmf`, and `u_remapped` are never read
[INFO] [stderr]   --> lili/src/math/sampling.rs:52:5
[INFO] [stderr]    |
[INFO] [stderr] 51 | pub struct DiscreteSample {
[INFO] [stderr]    |            -------------- fields in this struct
[INFO] [stderr] 52 |     sample: i32,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 53 |     pmf: Float,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 54 |     u_remapped: Float,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Distance` is never used
[INFO] [stderr]   --> lili/src/math/points.rs:18:7
[INFO] [stderr]    |
[INFO] [stderr] 18 | trait Distance: Sub + Sized
[INFO] [stderr]    |       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]    --> lili/src/math/float.rs:185:47
[INFO] [stderr]     |
[INFO] [stderr] 185 |     const ONE_MINUS_EPSILON: Float = unsafe { std::mem::transmute(0x3f7fffffu32) };
[INFO] [stderr]     |                                               -------------------^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                               |
[INFO] [stderr]     |                                               help: replace this with: `f32::from_bits`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `lili` (lib) generated 103 warnings (run `cargo fix --lib -p lili` to apply 51 suggestions)
[INFO] [stderr] warning: `lili` (lib test) generated 103 warnings (103 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.21s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/lili-51436a0f6b0046db)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ll-024959aba7d53ff1)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests lili
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test lili/src/math/length.rs - math::length::Length::length_squared (line 18) ... FAILED
[INFO] [stdout] test lili/src/math/float.rs - math::float::FloatExt::lerp (line 43) ... FAILED
[INFO] [stdout] test lili/src/math/num_traits.rs - math::num_traits::MulAdd::mul_add (line 137) ... FAILED
[INFO] [stdout] test lili/src/math/float.rs - math::float::FloatExt::smooth_step (line 59) ... FAILED
[INFO] [stdout] test lili/src/math/num_traits.rs - math::num_traits::Ceil::ceil (line 70) ... FAILED
[INFO] [stdout] test lili/src/math/length.rs - math::length::Length::length (line 31) ... FAILED
[INFO] [stdout] test lili/src/math.rs - math::difference_of_products (line 43) ... ok
[INFO] [stderr] error: doctest failed, to rerun pass `-p lili --doc`
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- lili/src/math/length.rs - math::length::Length::length_squared (line 18) stdout ----
[INFO] [stdout] error[E0432]: unresolved imports `lili::math::Length`, `lili::math::Vector2f`
[INFO] [stdout]   --> lili/src/math/length.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | use lili::math::{Length, Vector2f};
[INFO] [stdout]    |                  ^^^^^^  ^^^^^^^^ no `Vector2f` in `math`
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `Length` in `math`
[INFO] [stdout]    |                  help: a similar name exists in the module: `length`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing this trait instead:
[INFO] [stdout]            lili::math::length::Length
[INFO] [stdout]    = help: consider importing this type alias instead:
[INFO] [stdout]            lili::math::vectors::Vector2f
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- lili/src/math/float.rs - math::float::FloatExt::lerp (line 43) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `math`
[INFO] [stdout]   --> lili/src/math/float.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | use math::float::lerp;
[INFO] [stdout]    |     ^^^^ use of unresolved module or unlinked crate `math`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `math`, use `cargo add math` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- lili/src/math/num_traits.rs - math::num_traits::MulAdd::mul_add (line 137) stdout ----
[INFO] [stdout] error[E0689]: can't call method `mul_add` on ambiguous numeric type `{float}`
[INFO] [stdout]    --> lili/src/math/num_traits.rs:138:16
[INFO] [stdout]     |
[INFO] [stdout] 138 | assert_eq!(2.0.mul_add(3.0, 4.0), 10.0);
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you must specify a concrete type for this numeric value, like `f32`
[INFO] [stdout]     |
[INFO] [stdout] 138 | assert_eq!(2.0_f32.mul_add(3.0, 4.0), 10.0);
[INFO] [stdout]     |               ++++
[INFO] [stdout] 
[INFO] [stdout] error[E0689]: can't call method `mul_add` on ambiguous numeric type `{integer}`
[INFO] [stdout]    --> lili/src/math/num_traits.rs:139:14
[INFO] [stdout]     |
[INFO] [stdout] 139 | assert_eq!(2.mul_add(3, 4), 10);
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you must specify a concrete type for this numeric value, like `i32`
[INFO] [stdout]     |
[INFO] [stdout] 139 | assert_eq!(2_i32.mul_add(3, 4), 10);
[INFO] [stdout]     |             ++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0689`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- lili/src/math/float.rs - math::float::FloatExt::smooth_step (line 59) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `math`
[INFO] [stdout]   --> lili/src/math/float.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | use math::float::smooth_step;
[INFO] [stdout]    |     ^^^^ use of unresolved module or unlinked crate `math`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `math`, use `cargo add math` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- lili/src/math/num_traits.rs - math::num_traits::Ceil::ceil (line 70) stdout ----
[INFO] [stdout] error[E0689]: can't call method `ceil` on ambiguous numeric type `{float}`
[INFO] [stdout]   --> lili/src/math/num_traits.rs:71:16
[INFO] [stdout]    |
[INFO] [stdout] 71 | assert_eq!(5.3.ceil(), 6.0);
[INFO] [stdout]    |                ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you must specify a concrete type for this numeric value, like `f32`
[INFO] [stdout]    |
[INFO] [stdout] 71 | assert_eq!(5.3_f32.ceil(), 6.0);
[INFO] [stdout]    |               ++++
[INFO] [stdout] 
[INFO] [stdout] error[E0689]: can't call method `ceil` on ambiguous numeric type `{float}`
[INFO] [stdout]   --> lili/src/math/num_traits.rs:72:19
[INFO] [stdout]    |
[INFO] [stdout] 72 | assert_eq!((-5.3).ceil(), -5.0);
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0689`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- lili/src/math/length.rs - math::length::Length::length (line 31) stdout ----
[INFO] [stdout] error[E0432]: unresolved imports `lili::math::Length`, `lili::math::Vector2f`
[INFO] [stdout]   --> lili/src/math/length.rs:33:18
[INFO] [stdout]    |
[INFO] [stdout] 33 | use lili::math::{Length, Vector2f};
[INFO] [stdout]    |                  ^^^^^^  ^^^^^^^^ no `Vector2f` in `math`
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  no `Length` in `math`
[INFO] [stdout]    |                  help: a similar name exists in the module: `length`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing this trait instead:
[INFO] [stdout]            lili::math::length::Length
[INFO] [stdout]    = help: consider importing this type alias instead:
[INFO] [stdout]            lili::math::vectors::Vector2f
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     lili/src/math/float.rs - math::float::FloatExt::lerp (line 43)
[INFO] [stdout]     lili/src/math/float.rs - math::float::FloatExt::smooth_step (line 59)
[INFO] [stdout]     lili/src/math/length.rs - math::length::Length::length (line 31)
[INFO] [stdout]     lili/src/math/length.rs - math::length::Length::length_squared (line 18)
[INFO] [stdout]     lili/src/math/num_traits.rs - math::num_traits::Ceil::ceil (line 70)
[INFO] [stdout]     lili/src/math/num_traits.rs - math::num_traits::MulAdd::mul_add (line 137)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1 passed; 6 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "ebba4449e5698215c56c49d92d2f5f12e59273502ddcd9b6cb9d080e181ec197", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ebba4449e5698215c56c49d92d2f5f12e59273502ddcd9b6cb9d080e181ec197", kill_on_drop: false }`
[INFO] [stdout] ebba4449e5698215c56c49d92d2f5f12e59273502ddcd9b6cb9d080e181ec197
