[INFO] fetching crate forgedthoughts 0.1.5...
[INFO] checking forgedthoughts-0.1.5 against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] extracting crate forgedthoughts 0.1.5 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate forgedthoughts 0.1.5 on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate forgedthoughts 0.1.5
[INFO] finished tweaking crates.io crate forgedthoughts 0.1.5
[INFO] tweaked toml for crates.io crate forgedthoughts 0.1.5 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded colors-transform v0.2.11
[INFO] [stderr]   Downloaded thin-vec v0.2.13
[INFO] [stderr]   Downloaded rhai-rand v0.1.6
[INFO] [stderr]   Downloaded rhai_codegen v2.0.0
[INFO] [stderr]   Downloaded rhai v1.17.1
[INFO] [stderr]   Downloaded rust-pathtracer v0.2.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 268c7c5273e99e1eb634622db27487bbba3cd3249e0848950754479d14d1e800
[INFO] running `Command { std: "docker" "start" "-a" "268c7c5273e99e1eb634622db27487bbba3cd3249e0848950754479d14d1e800", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "268c7c5273e99e1eb634622db27487bbba3cd3249e0848950754479d14d1e800", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "268c7c5273e99e1eb634622db27487bbba3cd3249e0848950754479d14d1e800", kill_on_drop: false }`
[INFO] [stdout] 268c7c5273e99e1eb634622db27487bbba3cd3249e0848950754479d14d1e800
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 64bcec51e2ad279147fbbd0b8424416a7f565f8192e95fa9200d99dcac3877b1
[INFO] running `Command { std: "docker" "start" "-a" "64bcec51e2ad279147fbbd0b8424416a7f565f8192e95fa9200d99dcac3877b1", kill_on_drop: false }`
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling smartstring v1.0.1
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]    Compiling syn v2.0.57
[INFO] [stderr]    Compiling zerocopy v0.7.32
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling serde_json v1.0.115
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling thin-vec v0.2.13
[INFO] [stderr]    Compiling bitflags v2.5.0
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]     Checking either v1.10.0
[INFO] [stderr]     Checking colors-transform v0.2.11
[INFO] [stderr]    Compiling const-random v0.1.18
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]    Compiling rhai_codegen v2.0.0
[INFO] [stderr]    Compiling uuid-macro-internal v1.8.0
[INFO] [stderr]     Checking uuid v1.8.0
[INFO] [stderr]    Compiling rhai v1.17.1
[INFO] [stderr]     Checking rust-pathtracer v0.2.4
[INFO] [stderr]    Compiling rhai-rand v0.1.6
[INFO] [stderr]     Checking forgedthoughts v0.1.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: private item shadows public glob re-export
[INFO] [stdout]   --> src/ft.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 | use rust_pathtracer::{tracer::Tracer};
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the name `Tracer` in the type namespace is supposed to be publicly re-exported here
[INFO] [stdout]   --> src/ft.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout] 1  | pub use crate::prelude::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: but the private item here shadows it
[INFO] [stdout]   --> src/ft.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 | use rust_pathtracer::{tracer::Tracer};
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(hidden_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Tracer` is imported redundantly
[INFO] [stdout]   --> src/ft.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 1  | pub use crate::prelude::*;
[INFO] [stdout]    |         ----------------- the item `Tracer` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 21 | use rust_pathtracer::{tracer::Tracer};
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Tracer` is imported redundantly
[INFO] [stdout]  --> src/script.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::prelude::*;
[INFO] [stdout]   |     ----------------- the item `Tracer` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 7 | use rust_pathtracer::tracer::Tracer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private item shadows public glob re-export
[INFO] [stdout]   --> src/ft.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 | use rust_pathtracer::{tracer::Tracer};
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the name `Tracer` in the type namespace is supposed to be publicly re-exported here
[INFO] [stdout]   --> src/ft.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout] 1  | pub use crate::prelude::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: but the private item here shadows it
[INFO] [stdout]   --> src/ft.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 | use rust_pathtracer::{tracer::Tracer};
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(hidden_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Tracer` is imported redundantly
[INFO] [stdout]   --> src/ft.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 1  | pub use crate::prelude::*;
[INFO] [stdout]    |         ----------------- the item `Tracer` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 21 | use rust_pathtracer::{tracer::Tracer};
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Tracer` is imported redundantly
[INFO] [stdout]  --> src/script.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::prelude::*;
[INFO] [stdout]   |     ----------------- the item `Tracer` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 7 | use rust_pathtracer::tracer::Tracer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `as_any`
[INFO] [stdout]   --> src/renderer/bsdf.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl rust_pathtracer::scene::Scene for BSDFScene<'_> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `as_any` in implementation
[INFO] [stdout]    |
[INFO] [stdout]    = help: implement the missing item: `fn as_any(&mut self) -> &mut (dyn Any + 'static) { todo!() }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `as_any`
[INFO] [stdout]   --> src/renderer/bsdf.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl rust_pathtracer::scene::Scene for BSDFScene<'_> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `as_any` in implementation
[INFO] [stdout]    |
[INFO] [stdout]    = help: implement the missing item: `fn as_any(&mut self) -> &mut (dyn Any + 'static) { todo!() }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/ft/sdf.rs:155:31
[INFO] [stdout]     |
[INFO] [stdout] 155 |             max             : F3::new(f64::MAX, f64::MAX, f64::MAX),
[INFO] [stdout]     |                               ^^^^^^^ --------  --------  -------- expected `f32`, found `f64`
[INFO] [stdout]     |                                       |         |
[INFO] [stdout]     |                                       |         expected `f32`, found `f64`
[INFO] [stdout]     |                                       expected `f32`, found `f64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/fx.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(x: F, y: F, z: F) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/ft/sdf.rs:155:31
[INFO] [stdout]     |
[INFO] [stdout] 155 |             max             : F3::new(f64::MAX, f64::MAX, f64::MAX),
[INFO] [stdout]     |                               ^^^^^^^ --------  --------  -------- expected `f32`, found `f64`
[INFO] [stdout]     |                                       |         |
[INFO] [stdout]     |                                       |         expected `f32`, found `f64`
[INFO] [stdout]     |                                       expected `f32`, found `f64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/fx.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(x: F, y: F, z: F) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/ft/sdf.rs:156:31
[INFO] [stdout]     |
[INFO] [stdout] 156 |             min             : F3::new(f64::MIN, f64::MIN, f64::MIN),
[INFO] [stdout]     |                               ^^^^^^^ --------  --------  -------- expected `f32`, found `f64`
[INFO] [stdout]     |                                       |         |
[INFO] [stdout]     |                                       |         expected `f32`, found `f64`
[INFO] [stdout]     |                                       expected `f32`, found `f64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/fx.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(x: F, y: F, z: F) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/ft/sdf.rs:156:31
[INFO] [stdout]     |
[INFO] [stdout] 156 |             min             : F3::new(f64::MIN, f64::MIN, f64::MIN),
[INFO] [stdout]     |                               ^^^^^^^ --------  --------  -------- expected `f32`, found `f64`
[INFO] [stdout]     |                                       |         |
[INFO] [stdout]     |                                       |         expected `f32`, found `f64`
[INFO] [stdout]     |                                       expected `f32`, found `f64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/fx.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(x: F, y: F, z: F) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:394:35
[INFO] [stdout]     |
[INFO] [stdout] 394 |                 let cx = f64::cos(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/f64.rs:736:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 394 |                 let cx = f64::cos((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:394:35
[INFO] [stdout]     |
[INFO] [stdout] 394 |                 let cx = f64::cos(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/f64.rs:736:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 394 |                 let cx = f64::cos((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:395:35
[INFO] [stdout]     |
[INFO] [stdout] 395 |                 let sx = f64::sin(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/f64.rs:713:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 395 |                 let sx = f64::sin((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:406:44
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:395:35
[INFO] [stdout]     |
[INFO] [stdout] 395 |                 let sx = f64::sin(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/f64.rs:713:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 395 |                 let sx = f64::sin((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:406:44
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:406:42
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:406:38
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                      ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:406:42
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:406:38
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                      ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:406:36
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                    ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:406:56
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                        ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:406:36
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                    ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:406:56
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                        ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:406:54
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                      ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:406:50
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:406:54
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                      ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:406:50
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:406:48
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:407:44
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:406:48
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:407:42
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:407:44
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:407:38
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                      ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:407:42
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:407:38
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                      ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:407:36
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                    ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:407:56
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                        ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:407:36
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                    ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:407:54
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                      ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:407:56
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                        ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:407:50
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:407:48
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:407:54
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                      ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:407:50
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:407:48
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:416:35
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 let cy = f64::cos(k * p.y);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/f64.rs:736:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 let cy = f64::cos((k * p.y).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:416:35
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 let cy = f64::cos(k * p.y);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/f64.rs:736:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 let cy = f64::cos((k * p.y).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:417:35
[INFO] [stdout]     |
[INFO] [stdout] 417 |                 let sy = f64::sin(k * p.y);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/f64.rs:713:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 417 |                 let sy = f64::sin((k * p.y).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:422:32
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 let qx = m11 * p.x + m12 * p.z;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:422:30
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 let qx = m11 * p.x + m12 * p.z;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:422:44
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 let qx = m11 * p.x + m12 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:422:42
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 let qx = m11 * p.x + m12 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:423:32
[INFO] [stdout]     |
[INFO] [stdout] 423 |                 let qz = m21 * p.x + m22 * p.z;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:417:35
[INFO] [stdout]     |
[INFO] [stdout] 417 |                 let sy = f64::sin(k * p.y);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/f64.rs:713:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 417 |                 let sy = f64::sin((k * p.y).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:422:32
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 let qx = m11 * p.x + m12 * p.z;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:423:30
[INFO] [stdout]     |
[INFO] [stdout] 423 |                 let qz = m21 * p.x + m22 * p.z;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:423:44
[INFO] [stdout]     |
[INFO] [stdout] 423 |                 let qz = m21 * p.x + m22 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:423:42
[INFO] [stdout]     |
[INFO] [stdout] 423 |                 let qz = m21 * p.x + m22 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:422:30
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 let qx = m11 * p.x + m12 * p.z;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:422:44
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 let qx = m11 * p.x + m12 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:422:42
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 let qx = m11 * p.x + m12 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:423:32
[INFO] [stdout]     |
[INFO] [stdout] 423 |                 let qz = m21 * p.x + m22 * p.z;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:423:30
[INFO] [stdout]     |
[INFO] [stdout] 423 |                 let qz = m21 * p.x + m22 * p.z;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:423:44
[INFO] [stdout]     |
[INFO] [stdout] 423 |                 let qz = m21 * p.x + m22 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:423:42
[INFO] [stdout]     |
[INFO] [stdout] 423 |                 let qz = m21 * p.x + m22 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/ft/sdf.rs:425:17
[INFO] [stdout]     |
[INFO] [stdout] 425 |                 F3::new(qx, qy, qz)
[INFO] [stdout]     |                 ^^^^^^^ --      -- expected `f32`, found `f64`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         expected `f32`, found `f64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/fx.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(x: F, y: F, z: F) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:433:35
[INFO] [stdout]     |
[INFO] [stdout] 433 |                 let cz = f64::cos(k * p.z);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/f64.rs:736:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 433 |                 let cz = f64::cos((k * p.z).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:434:35
[INFO] [stdout]     |
[INFO] [stdout] 434 |                 let sz = f64::sin(k * p.z);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/f64.rs:713:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 434 |                 let sz = f64::sin((k * p.z).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:444:32
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let qx = m11 * p.x + m12 * p.y + m13 * p.z;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:444:30
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let qx = m11 * p.x + m12 * p.y + m13 * p.z;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:444:44
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let qx = m11 * p.x + m12 * p.y + m13 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:444:42
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let qx = m11 * p.x + m12 * p.y + m13 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:444:50
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let qx = m11 * p.x + m12 * p.y + m13 * p.z;
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f32` to `f64`
[INFO] [stdout]    --> src/ft/sdf.rs:444:48
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let qx = m11 * p.x + m12 * p.y + m13 * p.z;
[INFO] [stdout]     |                                                ^ no implementation for `f64 + f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f64 as Add>
[INFO] [stdout]               <f64 as Add<&f64>>
[INFO] [stdout]               <&'a f64 as Add<f64>>
[INFO] [stdout]               <&f64 as Add<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:445:32
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:445:30
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:445:44
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:445:42
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:445:50
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f32` to `f64`
[INFO] [stdout]    --> src/ft/sdf.rs:445:48
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                ^ no implementation for `f64 + f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f64 as Add>
[INFO] [stdout]               <f64 as Add<&f64>>
[INFO] [stdout]               <&'a f64 as Add<f64>>
[INFO] [stdout]               <&f64 as Add<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/ft/sdf.rs:425:17
[INFO] [stdout]     |
[INFO] [stdout] 425 |                 F3::new(qx, qy, qz)
[INFO] [stdout]     |                 ^^^^^^^ --      -- expected `f32`, found `f64`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         expected `f32`, found `f64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/fx.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(x: F, y: F, z: F) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:433:35
[INFO] [stdout]     |
[INFO] [stdout] 433 |                 let cz = f64::cos(k * p.z);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/f64.rs:736:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 433 |                 let cz = f64::cos((k * p.z).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/ft/sdf.rs:447:17
[INFO] [stdout]     |
[INFO] [stdout] 447 |                 F3::new(qx, qy, qz)
[INFO] [stdout]     |                 ^^^^^^^ --  -- expected `f32`, found `f64`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         expected `f32`, found `f64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/fx.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(x: F, y: F, z: F) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:434:35
[INFO] [stdout]     |
[INFO] [stdout] 434 |                 let sz = f64::sin(k * p.z);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/f64.rs:713:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 434 |                 let sz = f64::sin((k * p.z).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:444:32
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let qx = m11 * p.x + m12 * p.y + m13 * p.z;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:457:35
[INFO] [stdout]     |
[INFO] [stdout] 457 |                 let cx = f64::cos(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/f64.rs:736:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 457 |                 let cx = f64::cos((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:444:30
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let qx = m11 * p.x + m12 * p.y + m13 * p.z;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:444:44
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let qx = m11 * p.x + m12 * p.y + m13 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:444:42
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let qx = m11 * p.x + m12 * p.y + m13 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:444:50
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let qx = m11 * p.x + m12 * p.y + m13 * p.z;
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f32` to `f64`
[INFO] [stdout]    --> src/ft/sdf.rs:444:48
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let qx = m11 * p.x + m12 * p.y + m13 * p.z;
[INFO] [stdout]     |                                                ^ no implementation for `f64 + f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f64 as Add>
[INFO] [stdout]               <f64 as Add<&f64>>
[INFO] [stdout]               <&'a f64 as Add<f64>>
[INFO] [stdout]               <&f64 as Add<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:445:32
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:458:35
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 let sx = f64::sin(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/f64.rs:713:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 let sx = f64::sin((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:445:30
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:463:32
[INFO] [stdout]     |
[INFO] [stdout] 463 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:445:44
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:463:30
[INFO] [stdout]     |
[INFO] [stdout] 463 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:463:44
[INFO] [stdout]     |
[INFO] [stdout] 463 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:445:42
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:445:50
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f32` to `f64`
[INFO] [stdout]    --> src/ft/sdf.rs:445:48
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                ^ no implementation for `f64 + f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f64 as Add>
[INFO] [stdout]               <f64 as Add<&f64>>
[INFO] [stdout]               <&'a f64 as Add<f64>>
[INFO] [stdout]               <&f64 as Add<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:463:42
[INFO] [stdout]     |
[INFO] [stdout] 463 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:464:32
[INFO] [stdout]     |
[INFO] [stdout] 464 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:464:30
[INFO] [stdout]     |
[INFO] [stdout] 464 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:464:44
[INFO] [stdout]     |
[INFO] [stdout] 464 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:464:42
[INFO] [stdout]     |
[INFO] [stdout] 464 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/ft/sdf.rs:466:17
[INFO] [stdout]     |
[INFO] [stdout] 466 |                 F3::new(qx, qy, qz)
[INFO] [stdout]     |                 ^^^^^^^ --  -- expected `f32`, found `f64`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         expected `f32`, found `f64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/fx.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(x: F, y: F, z: F) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/ft/sdf.rs:447:17
[INFO] [stdout]     |
[INFO] [stdout] 447 |                 F3::new(qx, qy, qz)
[INFO] [stdout]     |                 ^^^^^^^ --  -- expected `f32`, found `f64`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         expected `f32`, found `f64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/fx.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(x: F, y: F, z: F) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:474:35
[INFO] [stdout]     |
[INFO] [stdout] 474 |                 let cx = f64::cos(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/f64.rs:736:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 474 |                 let cx = f64::cos((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:457:35
[INFO] [stdout]     |
[INFO] [stdout] 457 |                 let cx = f64::cos(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/f64.rs:736:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 457 |                 let cx = f64::cos((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:475:35
[INFO] [stdout]     |
[INFO] [stdout] 475 |                 let sx = f64::sin(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/f64.rs:713:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 475 |                 let sx = f64::sin((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:486:44
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:486:42
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:486:38
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                      ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:486:36
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                    ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:486:56
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                        ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:486:54
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                      ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:486:50
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:486:48
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:487:44
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:487:42
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:487:38
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                      ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:458:35
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 let sx = f64::sin(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/f64.rs:713:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 let sx = f64::sin((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:463:32
[INFO] [stdout]     |
[INFO] [stdout] 463 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:487:36
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                    ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:487:56
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                        ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:487:54
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                      ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:487:50
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:487:48
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:463:30
[INFO] [stdout]     |
[INFO] [stdout] 463 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:463:44
[INFO] [stdout]     |
[INFO] [stdout] 463 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:463:42
[INFO] [stdout]     |
[INFO] [stdout] 463 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:464:32
[INFO] [stdout]     |
[INFO] [stdout] 464 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:464:30
[INFO] [stdout]     |
[INFO] [stdout] 464 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:496:35
[INFO] [stdout]     |
[INFO] [stdout] 496 |                 let cx = f64::cos(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/f64.rs:736:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 496 |                 let cx = f64::cos((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:464:44
[INFO] [stdout]     |
[INFO] [stdout] 464 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:464:42
[INFO] [stdout]     |
[INFO] [stdout] 464 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:497:35
[INFO] [stdout]     |
[INFO] [stdout] 497 |                 let sx = f64::sin(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/f64.rs:713:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 497 |                 let sx = f64::sin((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:502:32
[INFO] [stdout]     |
[INFO] [stdout] 502 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:502:30
[INFO] [stdout]     |
[INFO] [stdout] 502 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:502:44
[INFO] [stdout]     |
[INFO] [stdout] 502 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:502:42
[INFO] [stdout]     |
[INFO] [stdout] 502 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:503:32
[INFO] [stdout]     |
[INFO] [stdout] 503 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:503:30
[INFO] [stdout]     |
[INFO] [stdout] 503 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:503:44
[INFO] [stdout]     |
[INFO] [stdout] 503 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:503:42
[INFO] [stdout]     |
[INFO] [stdout] 503 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/ft/sdf.rs:505:17
[INFO] [stdout]     |
[INFO] [stdout] 505 |                 F3::new(qx, qy, qz)
[INFO] [stdout]     |                 ^^^^^^^ --  -- expected `f32`, found `f64`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         expected `f32`, found `f64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/fx.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(x: F, y: F, z: F) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/ft/sdf.rs:466:17
[INFO] [stdout]     |
[INFO] [stdout] 466 |                 F3::new(qx, qy, qz)
[INFO] [stdout]     |                 ^^^^^^^ --  -- expected `f32`, found `f64`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         expected `f32`, found `f64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/fx.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(x: F, y: F, z: F) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:474:35
[INFO] [stdout]     |
[INFO] [stdout] 474 |                 let cx = f64::cos(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/f64.rs:736:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 474 |                 let cx = f64::cos((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:475:35
[INFO] [stdout]     |
[INFO] [stdout] 475 |                 let sx = f64::sin(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/f64.rs:713:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 475 |                 let sx = f64::sin((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:486:44
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:486:42
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:486:38
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                      ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:486:36
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                    ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:486:56
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                        ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:486:54
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                      ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:486:50
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:486:48
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:487:44
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:487:42
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:487:38
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                      ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:487:36
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                    ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:487:56
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                        ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:487:54
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                      ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:487:50
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:487:48
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:496:35
[INFO] [stdout]     |
[INFO] [stdout] 496 |                 let cx = f64::cos(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/f64.rs:736:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 496 |                 let cx = f64::cos((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:497:35
[INFO] [stdout]     |
[INFO] [stdout] 497 |                 let sx = f64::sin(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/f64.rs:713:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 497 |                 let sx = f64::sin((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:502:32
[INFO] [stdout]     |
[INFO] [stdout] 502 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:502:30
[INFO] [stdout]     |
[INFO] [stdout] 502 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:502:44
[INFO] [stdout]     |
[INFO] [stdout] 502 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:502:42
[INFO] [stdout]     |
[INFO] [stdout] 502 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:503:32
[INFO] [stdout]     |
[INFO] [stdout] 503 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:503:30
[INFO] [stdout]     |
[INFO] [stdout] 503 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:503:44
[INFO] [stdout]     |
[INFO] [stdout] 503 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:503:42
[INFO] [stdout]     |
[INFO] [stdout] 503 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/ft/sdf.rs:505:17
[INFO] [stdout]     |
[INFO] [stdout] 505 |                 F3::new(qx, qy, qz)
[INFO] [stdout]     |                 ^^^^^^^ --  -- expected `f32`, found `f64`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         expected `f32`, found `f64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/fx.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(x: F, y: F, z: F) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/ft/scene.rs:94:27
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 if rc.0 < d {
[INFO] [stdout]    |                    ----   ^ expected `f32`, found `f64`
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    expected because this is `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/ft/scene.rs:96:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let mut d = std::f64::MAX;
[INFO] [stdout]    |                     ------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 96 |                     d = rc.0;
[INFO] [stdout]    |                         ^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/ft/scene.rs:99:40
[INFO] [stdout]    |
[INFO] [stdout] 99 |                     hit_point = ray.at(&d);
[INFO] [stdout]    |                                     -- ^^ expected `&f32`, found `&f64`
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&f32`
[INFO] [stdout]               found reference `&f64`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/ray.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn at(&self, dist: &F) -> F3 {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:105:51
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let t_max = ctx.settings.max_distance.min(d);
[INFO] [stdout]     |                                               --- ^ expected `f32`, found `f64`
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/num/f32.rs:944:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/ft/scene.rs:94:27
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 if rc.0 < d {
[INFO] [stdout]    |                    ----   ^ expected `f32`, found `f64`
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    expected because this is `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/ft/scene.rs:96:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let mut d = std::f64::MAX;
[INFO] [stdout]    |                     ------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 96 |                     d = rc.0;
[INFO] [stdout]    |                         ^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:151:25
[INFO] [stdout]     |
[INFO] [stdout] 83  |         let mut d = std::f64::MAX;
[INFO] [stdout]     |                     ------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 151 |                     d = t;
[INFO] [stdout]     |                         ^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:152:40
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     hit_point = ray.at(&d);
[INFO] [stdout]     |                                     -- ^^ expected `&f32`, found `&f64`
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&f32`
[INFO] [stdout]                found reference `&f64`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/ray.rs:31:12
[INFO] [stdout]     |
[INFO] [stdout] 31  |     pub fn at(&self, dist: &F) -> F3 {
[INFO] [stdout]     |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/ft/scene.rs:99:40
[INFO] [stdout]    |
[INFO] [stdout] 99 |                     hit_point = ray.at(&d);
[INFO] [stdout]    |                                     -- ^^ expected `&f32`, found `&f64`
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&f32`
[INFO] [stdout]               found reference `&f64`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/ray.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn at(&self, dist: &F) -> F3 {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:169:39
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 distance            : d,
[INFO] [stdout]     |                                       ^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:215:27
[INFO] [stdout]     |
[INFO] [stdout] 215 |                 if rc.0 < d {
[INFO] [stdout]     |                    ----   ^ expected `f32`, found `f64`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    expected because this is `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:105:51
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let t_max = ctx.settings.max_distance.min(d);
[INFO] [stdout]     |                                               --- ^ expected `f32`, found `f64`
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/num/f32.rs:944:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:217:25
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let mut d = std::f64::MAX;
[INFO] [stdout]     |                     ------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 217 |                     d = rc.0;
[INFO] [stdout]     |                         ^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:222:16
[INFO] [stdout]     |
[INFO] [stdout] 222 |         if d < t_max {
[INFO] [stdout]     |            -   ^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |            |
[INFO] [stdout]     |            expected because this is `f64`
[INFO] [stdout]     |
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 222 |         if d < t_max.into() {
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:151:25
[INFO] [stdout]     |
[INFO] [stdout] 83  |         let mut d = std::f64::MAX;
[INFO] [stdout]     |                     ------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 151 |                     d = t;
[INFO] [stdout]     |                         ^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:223:21
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let mut t_max = ctx.settings.max_distance;
[INFO] [stdout]     |                         ------------------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 223 |             t_max = d;
[INFO] [stdout]     |                     ^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:236:37
[INFO] [stdout]     |
[INFO] [stdout] 236 |                     if rc.0.abs() < d.abs() {
[INFO] [stdout]     |                        ----------   ^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        expected because this is `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:152:40
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     hit_point = ray.at(&d);
[INFO] [stdout]     |                                     -- ^^ expected `&f32`, found `&f64`
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&f32`
[INFO] [stdout]                found reference `&f64`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/ray.rs:31:12
[INFO] [stdout]     |
[INFO] [stdout] 31  |     pub fn at(&self, dist: &F) -> F3 {
[INFO] [stdout]     |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:237:29
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let mut d = std::f64::MAX;
[INFO] [stdout]     |                     ------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 237 |                         d = rc.0.abs();
[INFO] [stdout]     |                             ^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:241:26
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 t += d * ctx.settings.step_size;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/scene.rs:241:24
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 t += d * ctx.settings.step_size;
[INFO] [stdout]     |                        ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:241:22
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 t += d * ctx.settings.step_size;
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f64` to `f32`
[INFO] [stdout]    --> src/ft/scene.rs:241:19
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 t += d * ctx.settings.step_size;
[INFO] [stdout]     |                   ^^ no implementation for `f32 += f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `AddAssign<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]               <f32 as AddAssign>
[INFO] [stdout]               <f32 as AddAssign<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:169:39
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 distance            : d,
[INFO] [stdout]     |                                       ^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:243:24
[INFO] [stdout]     |
[INFO] [stdout] 243 |                 if d < iso_value {
[INFO] [stdout]     |                    -   ^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    expected because this is `f64`
[INFO] [stdout]     |
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 243 |                 if d < iso_value.into() {
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:257:25
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let mut d : F = std::f64::MAX;
[INFO] [stdout]     |                     -   ^^^^^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     expected due to this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:215:27
[INFO] [stdout]     |
[INFO] [stdout] 215 |                 if rc.0 < d {
[INFO] [stdout]     |                    ----   ^ expected `f32`, found `f64`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    expected because this is `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:217:25
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let mut d = std::f64::MAX;
[INFO] [stdout]     |                     ------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 217 |                     d = rc.0;
[INFO] [stdout]     |                         ^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:222:16
[INFO] [stdout]     |
[INFO] [stdout] 222 |         if d < t_max {
[INFO] [stdout]     |            -   ^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |            |
[INFO] [stdout]     |            expected because this is `f64`
[INFO] [stdout]     |
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 222 |         if d < t_max.into() {
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:223:21
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let mut t_max = ctx.settings.max_distance;
[INFO] [stdout]     |                         ------------------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 223 |             t_max = d;
[INFO] [stdout]     |                     ^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:236:37
[INFO] [stdout]     |
[INFO] [stdout] 236 |                     if rc.0.abs() < d.abs() {
[INFO] [stdout]     |                        ----------   ^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        expected because this is `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:237:29
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let mut d = std::f64::MAX;
[INFO] [stdout]     |                     ------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 237 |                         d = rc.0.abs();
[INFO] [stdout]     |                             ^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:241:26
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 t += d * ctx.settings.step_size;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/scene.rs:241:24
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 t += d * ctx.settings.step_size;
[INFO] [stdout]     |                        ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:241:22
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 t += d * ctx.settings.step_size;
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f64` to `f32`
[INFO] [stdout]    --> src/ft/scene.rs:241:19
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 t += d * ctx.settings.step_size;
[INFO] [stdout]     |                   ^^ no implementation for `f32 += f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `AddAssign<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]               <f32 as AddAssign>
[INFO] [stdout]               <f32 as AddAssign<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:243:24
[INFO] [stdout]     |
[INFO] [stdout] 243 |                 if d < iso_value {
[INFO] [stdout]     |                    -   ^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    expected because this is `f64`
[INFO] [stdout]     |
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 243 |                 if d < iso_value.into() {
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:257:25
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let mut d : F = std::f64::MAX;
[INFO] [stdout]     |                     -   ^^^^^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     expected due to this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft.rs:197:59
[INFO] [stdout]     |
[INFO] [stdout] 197 | ...                   phong(&ctx, &hit, &mut color);
[INFO] [stdout]     |                       -----             ^^^^^^^^^^ expected `&mut [f64; 4]`, found `&mut [f32; 4]`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut [f64; 4]`
[INFO] [stdout]                found mutable reference `&mut [f32; 4]`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/renderer/phong.rs:5:8
[INFO] [stdout]     |
[INFO] [stdout] 5   | pub fn phong(ctx: &FTContext, hit: &HitRecord, color: &mut [f64; 4]) {
[INFO] [stdout]     |        ^^^^^                                   --------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft.rs:200:57
[INFO] [stdout]     |
[INFO] [stdout] 200 | ...                   pbr(&ctx, &hit, &mut color);
[INFO] [stdout]     |                       ---             ^^^^^^^^^^ expected `&mut [f64; 4]`, found `&mut [f32; 4]`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut [f64; 4]`
[INFO] [stdout]                found mutable reference `&mut [f32; 4]`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/renderer/pbr.rs:44:8
[INFO] [stdout]     |
[INFO] [stdout] 44  | pub fn pbr(ctx: &FTContext, hit: &HitRecord, color: &mut [f64; 4]) {
[INFO] [stdout]     |        ^^^                                   --------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft.rs:197:59
[INFO] [stdout]     |
[INFO] [stdout] 197 | ...                   phong(&ctx, &hit, &mut color);
[INFO] [stdout]     |                       -----             ^^^^^^^^^^ expected `&mut [f64; 4]`, found `&mut [f32; 4]`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut [f64; 4]`
[INFO] [stdout]                found mutable reference `&mut [f32; 4]`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/renderer/phong.rs:5:8
[INFO] [stdout]     |
[INFO] [stdout] 5   | pub fn phong(ctx: &FTContext, hit: &HitRecord, color: &mut [f64; 4]) {
[INFO] [stdout]     |        ^^^^^                                   --------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft.rs:282:23
[INFO] [stdout]     |
[INFO] [stdout] 282 |         mc.set_volume(volume, dim, dim, dim);
[INFO] [stdout]     |            ---------- ^^^^^^ expected `Vec<f64>`, found `Vec<f32>`
[INFO] [stdout]     |            |
[INFO] [stdout]     |            arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<f64>`
[INFO] [stdout]                found struct `Vec<f32>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/marching_cubes.rs:330:12
[INFO] [stdout]     |
[INFO] [stdout] 330 |     pub fn set_volume(&mut self, volume: Vec<f64>, dims_x: u32, dims_y: u32, dims_z: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^            ----------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft.rs:200:57
[INFO] [stdout]     |
[INFO] [stdout] 200 | ...                   pbr(&ctx, &hit, &mut color);
[INFO] [stdout]     |                       ---             ^^^^^^^^^^ expected `&mut [f64; 4]`, found `&mut [f32; 4]`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut [f64; 4]`
[INFO] [stdout]                found mutable reference `&mut [f32; 4]`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/renderer/pbr.rs:44:8
[INFO] [stdout]     |
[INFO] [stdout] 44  | pub fn pbr(ctx: &FTContext, hit: &HitRecord, color: &mut [f64; 4]) {
[INFO] [stdout]     |        ^^^                                   --------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 |         color[0] += ctx.settings.renderer.ambient.x * amb * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 18 |         color[0] += ctx.settings.renderer.ambient.x * amb * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 |         color[1] += ctx.settings.renderer.ambient.y * amb * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 |         color[1] += ctx.settings.renderer.ambient.y * amb * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:20:21
[INFO] [stdout]    |
[INFO] [stdout] 20 |         color[2] += ctx.settings.renderer.ambient.z * amb * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 |         color[2] += ctx.settings.renderer.ambient.z * amb * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |         color[0] += hit.material.rgb.x * dif * l.intensity * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 |         color[0] += hit.material.rgb.x * dif * l.intensity * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |         color[1] += hit.material.rgb.y * dif * l.intensity * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:24:18
[INFO] [stdout]    |
[INFO] [stdout] 24 |         color[1] += hit.material.rgb.y * dif * l.intensity * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 |         color[2] += hit.material.rgb.z * dif * l.intensity * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:25:18
[INFO] [stdout]    |
[INFO] [stdout] 25 |         color[2] += hit.material.rgb.z * dif * l.intensity * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |         color[0] += ctx.settings.renderer.specular.x * dif * spe * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:28:18
[INFO] [stdout]    |
[INFO] [stdout] 28 |         color[0] += ctx.settings.renderer.specular.x * dif * spe * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:29:21
[INFO] [stdout]    |
[INFO] [stdout] 29 |         color[1] += ctx.settings.renderer.specular.y * dif * spe * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 |         color[1] += ctx.settings.renderer.specular.y * dif * spe * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:30:21
[INFO] [stdout]    |
[INFO] [stdout] 30 |         color[2] += ctx.settings.renderer.specular.z * dif * spe * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:30:18
[INFO] [stdout]    |
[INFO] [stdout] 30 |         color[2] += ctx.settings.renderer.specular.z * dif * spe * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:23:28
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let d = alpha_sqr / (PI * denom * denom);
[INFO] [stdout]    |                               ^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]   --> src/renderer/pbr.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let d = alpha_sqr / (PI * denom * denom);
[INFO] [stdout]    |                             ^ no implementation for `f64 * f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]              <f64 as Mul>
[INFO] [stdout]              <f64 as Mul<&f64>>
[INFO] [stdout]              <&'a f64 as Mul<f64>>
[INFO] [stdout]              <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:23:36
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let d = alpha_sqr / (PI * denom * denom);
[INFO] [stdout]    |                                       ^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]   --> src/renderer/pbr.rs:23:34
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let d = alpha_sqr / (PI * denom * denom);
[INFO] [stdout]    |                                     ^ no implementation for `f64 * f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]              <f64 as Mul>
[INFO] [stdout]              <f64 as Mul<&f64>>
[INFO] [stdout]              <&'a f64 as Mul<f64>>
[INFO] [stdout]              <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:23:22
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let d = alpha_sqr / (PI * denom * denom);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot divide `f32` by `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:23:20
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let d = alpha_sqr / (PI * denom * denom);
[INFO] [stdout]    |                       ^ no implementation for `f32 / f64`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Div<f64>` is not implemented for `f32`
[INFO] [stdout]    = help: the following other types implement trait `Div<Rhs>`:
[INFO] [stdout]              <f32 as Div>
[INFO] [stdout]              <f32 as Div<rust_pathtracer::fx::F3>>
[INFO] [stdout]              <f32 as Div<&f32>>
[INFO] [stdout]              <&'a f32 as Div<f32>>
[INFO] [stdout]              <&f32 as Div<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |         color[0] += col.x;
[INFO] [stdout]    |                     ^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:56:18
[INFO] [stdout]    |
[INFO] [stdout] 56 |         color[0] += col.x;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 |         color[1] += col.y;
[INFO] [stdout]    |                     ^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 |         color[1] += col.y;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:58:21
[INFO] [stdout]    |
[INFO] [stdout] 58 |         color[2] += col.z;
[INFO] [stdout]    |                     ^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 58 |         color[2] += col.z;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:79:21
[INFO] [stdout]    |
[INFO] [stdout] 79 |         color[0] += ctx.settings.renderer.ambient.x * amb * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 79 |         color[0] += ctx.settings.renderer.ambient.x * amb * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:80:21
[INFO] [stdout]    |
[INFO] [stdout] 80 |         color[1] += ctx.settings.renderer.ambient.y * amb * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |         color[1] += ctx.settings.renderer.ambient.y * amb * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 |         color[2] += ctx.settings.renderer.ambient.z * amb * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:81:18
[INFO] [stdout]    |
[INFO] [stdout] 81 |         color[2] += ctx.settings.renderer.ambient.z * amb * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |         color[0] += hit.material.rgb.x * dif * l.intensity * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:84:18
[INFO] [stdout]    |
[INFO] [stdout] 84 |         color[0] += hit.material.rgb.x * dif * l.intensity * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:85:21
[INFO] [stdout]    |
[INFO] [stdout] 85 |         color[1] += hit.material.rgb.y * dif * l.intensity * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:85:18
[INFO] [stdout]    |
[INFO] [stdout] 85 |         color[1] += hit.material.rgb.y * dif * l.intensity * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:86:21
[INFO] [stdout]    |
[INFO] [stdout] 86 |         color[2] += hit.material.rgb.z * dif * l.intensity * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:86:18
[INFO] [stdout]    |
[INFO] [stdout] 86 |         color[2] += hit.material.rgb.z * dif * l.intensity * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:89:21
[INFO] [stdout]    |
[INFO] [stdout] 89 |         color[0] += ctx.settings.renderer.specular.x * dif * spe * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:89:18
[INFO] [stdout]    |
[INFO] [stdout] 89 |         color[0] += ctx.settings.renderer.specular.x * dif * spe * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:90:21
[INFO] [stdout]    |
[INFO] [stdout] 90 |         color[1] += ctx.settings.renderer.specular.y * dif * spe * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:90:18
[INFO] [stdout]    |
[INFO] [stdout] 90 |         color[1] += ctx.settings.renderer.specular.y * dif * spe * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:91:21
[INFO] [stdout]    |
[INFO] [stdout] 91 |         color[2] += ctx.settings.renderer.specular.z * dif * spe * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:91:18
[INFO] [stdout]    |
[INFO] [stdout] 91 |         color[2] += ctx.settings.renderer.specular.z * dif * spe * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft.rs:282:23
[INFO] [stdout]     |
[INFO] [stdout] 282 |         mc.set_volume(volume, dim, dim, dim);
[INFO] [stdout]     |            ---------- ^^^^^^ expected `Vec<f64>`, found `Vec<f32>`
[INFO] [stdout]     |            |
[INFO] [stdout]     |            arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<f64>`
[INFO] [stdout]                found struct `Vec<f32>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/marching_cubes.rs:330:12
[INFO] [stdout]     |
[INFO] [stdout] 330 |     pub fn set_volume(&mut self, volume: Vec<f64>, dims_x: u32, dims_y: u32, dims_z: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^            ----------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 |         color[0] += ctx.settings.renderer.ambient.x * amb * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 18 |         color[0] += ctx.settings.renderer.ambient.x * amb * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 |         color[1] += ctx.settings.renderer.ambient.y * amb * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 |         color[1] += ctx.settings.renderer.ambient.y * amb * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:20:21
[INFO] [stdout]    |
[INFO] [stdout] 20 |         color[2] += ctx.settings.renderer.ambient.z * amb * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 |         color[2] += ctx.settings.renderer.ambient.z * amb * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |         color[0] += hit.material.rgb.x * dif * l.intensity * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 |         color[0] += hit.material.rgb.x * dif * l.intensity * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |         color[1] += hit.material.rgb.y * dif * l.intensity * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:24:18
[INFO] [stdout]    |
[INFO] [stdout] 24 |         color[1] += hit.material.rgb.y * dif * l.intensity * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 |         color[2] += hit.material.rgb.z * dif * l.intensity * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:25:18
[INFO] [stdout]    |
[INFO] [stdout] 25 |         color[2] += hit.material.rgb.z * dif * l.intensity * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |         color[0] += ctx.settings.renderer.specular.x * dif * spe * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:28:18
[INFO] [stdout]    |
[INFO] [stdout] 28 |         color[0] += ctx.settings.renderer.specular.x * dif * spe * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:29:21
[INFO] [stdout]    |
[INFO] [stdout] 29 |         color[1] += ctx.settings.renderer.specular.y * dif * spe * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 |         color[1] += ctx.settings.renderer.specular.y * dif * spe * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:30:21
[INFO] [stdout]    |
[INFO] [stdout] 30 |         color[2] += ctx.settings.renderer.specular.z * dif * spe * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:30:18
[INFO] [stdout]    |
[INFO] [stdout] 30 |         color[2] += ctx.settings.renderer.specular.z * dif * spe * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:23:28
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let d = alpha_sqr / (PI * denom * denom);
[INFO] [stdout]    |                               ^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]   --> src/renderer/pbr.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let d = alpha_sqr / (PI * denom * denom);
[INFO] [stdout]    |                             ^ no implementation for `f64 * f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]              <f64 as Mul>
[INFO] [stdout]              <f64 as Mul<&f64>>
[INFO] [stdout]              <&'a f64 as Mul<f64>>
[INFO] [stdout]              <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:23:36
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let d = alpha_sqr / (PI * denom * denom);
[INFO] [stdout]    |                                       ^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]   --> src/renderer/pbr.rs:23:34
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let d = alpha_sqr / (PI * denom * denom);
[INFO] [stdout]    |                                     ^ no implementation for `f64 * f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]              <f64 as Mul>
[INFO] [stdout]              <f64 as Mul<&f64>>
[INFO] [stdout]              <&'a f64 as Mul<f64>>
[INFO] [stdout]              <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:23:22
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let d = alpha_sqr / (PI * denom * denom);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot divide `f32` by `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:23:20
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let d = alpha_sqr / (PI * denom * denom);
[INFO] [stdout]    |                       ^ no implementation for `f32 / f64`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Div<f64>` is not implemented for `f32`
[INFO] [stdout]    = help: the following other types implement trait `Div<Rhs>`:
[INFO] [stdout]              <f32 as Div>
[INFO] [stdout]              <f32 as Div<rust_pathtracer::fx::F3>>
[INFO] [stdout]              <f32 as Div<&f32>>
[INFO] [stdout]              <&'a f32 as Div<f32>>
[INFO] [stdout]              <&f32 as Div<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |         color[0] += col.x;
[INFO] [stdout]    |                     ^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:56:18
[INFO] [stdout]    |
[INFO] [stdout] 56 |         color[0] += col.x;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 |         color[1] += col.y;
[INFO] [stdout]    |                     ^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 |         color[1] += col.y;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:58:21
[INFO] [stdout]    |
[INFO] [stdout] 58 |         color[2] += col.z;
[INFO] [stdout]    |                     ^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 58 |         color[2] += col.z;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:79:21
[INFO] [stdout]    |
[INFO] [stdout] 79 |         color[0] += ctx.settings.renderer.ambient.x * amb * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 79 |         color[0] += ctx.settings.renderer.ambient.x * amb * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:80:21
[INFO] [stdout]    |
[INFO] [stdout] 80 |         color[1] += ctx.settings.renderer.ambient.y * amb * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |         color[1] += ctx.settings.renderer.ambient.y * amb * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 |         color[2] += ctx.settings.renderer.ambient.z * amb * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:81:18
[INFO] [stdout]    |
[INFO] [stdout] 81 |         color[2] += ctx.settings.renderer.ambient.z * amb * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |         color[0] += hit.material.rgb.x * dif * l.intensity * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:84:18
[INFO] [stdout]    |
[INFO] [stdout] 84 |         color[0] += hit.material.rgb.x * dif * l.intensity * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:85:21
[INFO] [stdout]    |
[INFO] [stdout] 85 |         color[1] += hit.material.rgb.y * dif * l.intensity * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:85:18
[INFO] [stdout]    |
[INFO] [stdout] 85 |         color[1] += hit.material.rgb.y * dif * l.intensity * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:86:21
[INFO] [stdout]    |
[INFO] [stdout] 86 |         color[2] += hit.material.rgb.z * dif * l.intensity * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:86:18
[INFO] [stdout]    |
[INFO] [stdout] 86 |         color[2] += hit.material.rgb.z * dif * l.intensity * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:89:21
[INFO] [stdout]    |
[INFO] [stdout] 89 |         color[0] += ctx.settings.renderer.specular.x * dif * spe * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:89:18
[INFO] [stdout]    |
[INFO] [stdout] 89 |         color[0] += ctx.settings.renderer.specular.x * dif * spe * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:90:21
[INFO] [stdout]    |
[INFO] [stdout] 90 |         color[1] += ctx.settings.renderer.specular.y * dif * spe * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:90:18
[INFO] [stdout]    |
[INFO] [stdout] 90 |         color[1] += ctx.settings.renderer.specular.y * dif * spe * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:91:21
[INFO] [stdout]    |
[INFO] [stdout] 91 |         color[2] += ctx.settings.renderer.specular.z * dif * spe * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:91:18
[INFO] [stdout]    |
[INFO] [stdout] 91 |         color[2] += ctx.settings.renderer.specular.z * dif * spe * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 157 previous errors; 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0046, E0277, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0046`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `forgedthoughts` (lib) due to 158 previous errors; 3 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 157 previous errors; 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0046, E0277, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0046`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `forgedthoughts` (lib test) due to 158 previous errors; 3 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "64bcec51e2ad279147fbbd0b8424416a7f565f8192e95fa9200d99dcac3877b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "64bcec51e2ad279147fbbd0b8424416a7f565f8192e95fa9200d99dcac3877b1", kill_on_drop: false }`
[INFO] [stdout] 64bcec51e2ad279147fbbd0b8424416a7f565f8192e95fa9200d99dcac3877b1
[INFO] checking forgedthoughts-0.1.5 against try#72eda894eb3548c7ba774079ce0afab42958d4ee for pr-121848-1
[INFO] extracting crate forgedthoughts 0.1.5 into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate forgedthoughts 0.1.5 on toolchain 72eda894eb3548c7ba774079ce0afab42958d4ee
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate forgedthoughts 0.1.5
[INFO] finished tweaking crates.io crate forgedthoughts 0.1.5
[INFO] tweaked toml for crates.io crate forgedthoughts 0.1.5 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 06bdd3ef0614ba2e8070867b88c906e1b7857b8cadb42639ff47c4a0222fd4dd
[INFO] running `Command { std: "docker" "start" "-a" "06bdd3ef0614ba2e8070867b88c906e1b7857b8cadb42639ff47c4a0222fd4dd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "06bdd3ef0614ba2e8070867b88c906e1b7857b8cadb42639ff47c4a0222fd4dd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "06bdd3ef0614ba2e8070867b88c906e1b7857b8cadb42639ff47c4a0222fd4dd", kill_on_drop: false }`
[INFO] [stdout] 06bdd3ef0614ba2e8070867b88c906e1b7857b8cadb42639ff47c4a0222fd4dd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] db8502727e633ddb04d5fff47067361391c74ee5727b828c6009188ee0002091
[INFO] running `Command { std: "docker" "start" "-a" "db8502727e633ddb04d5fff47067361391c74ee5727b828c6009188ee0002091", kill_on_drop: false }`
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling smartstring v1.0.1
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]    Compiling syn v2.0.57
[INFO] [stderr]    Compiling zerocopy v0.7.32
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling serde_json v1.0.115
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling thin-vec v0.2.13
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling bitflags v2.5.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]     Checking either v1.10.0
[INFO] [stderr]     Checking colors-transform v0.2.11
[INFO] [stderr]    Compiling const-random v0.1.18
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]    Compiling rhai_codegen v2.0.0
[INFO] [stderr]    Compiling uuid-macro-internal v1.8.0
[INFO] [stderr]     Checking uuid v1.8.0
[INFO] [stderr]    Compiling rhai v1.17.1
[INFO] [stderr]     Checking rust-pathtracer v0.2.4
[INFO] [stderr]    Compiling rhai-rand v0.1.6
[INFO] [stderr]     Checking forgedthoughts v0.1.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: private item shadows public glob re-export
[INFO] [stdout]   --> src/ft.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 | use rust_pathtracer::{tracer::Tracer};
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the name `Tracer` in the type namespace is supposed to be publicly re-exported here
[INFO] [stdout]   --> src/ft.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout] 1  | pub use crate::prelude::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: but the private item here shadows it
[INFO] [stdout]   --> src/ft.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 | use rust_pathtracer::{tracer::Tracer};
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(hidden_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Tracer` is imported redundantly
[INFO] [stdout]   --> src/ft.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 1  | pub use crate::prelude::*;
[INFO] [stdout]    |         ----------------- the item `Tracer` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 21 | use rust_pathtracer::{tracer::Tracer};
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Tracer` is imported redundantly
[INFO] [stdout]  --> src/script.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::prelude::*;
[INFO] [stdout]   |     ----------------- the item `Tracer` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 7 | use rust_pathtracer::tracer::Tracer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private item shadows public glob re-export
[INFO] [stdout]   --> src/ft.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 | use rust_pathtracer::{tracer::Tracer};
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the name `Tracer` in the type namespace is supposed to be publicly re-exported here
[INFO] [stdout]   --> src/ft.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout] 1  | pub use crate::prelude::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: but the private item here shadows it
[INFO] [stdout]   --> src/ft.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 | use rust_pathtracer::{tracer::Tracer};
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(hidden_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Tracer` is imported redundantly
[INFO] [stdout]   --> src/ft.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 1  | pub use crate::prelude::*;
[INFO] [stdout]    |         ----------------- the item `Tracer` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 21 | use rust_pathtracer::{tracer::Tracer};
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Tracer` is imported redundantly
[INFO] [stdout]  --> src/script.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::prelude::*;
[INFO] [stdout]   |     ----------------- the item `Tracer` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 7 | use rust_pathtracer::tracer::Tracer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `as_any`
[INFO] [stdout]   --> src/renderer/bsdf.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl rust_pathtracer::scene::Scene for BSDFScene<'_> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `as_any` in implementation
[INFO] [stdout]    |
[INFO] [stdout]    = help: implement the missing item: `fn as_any(&mut self) -> &mut (dyn Any + 'static) { todo!() }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `as_any`
[INFO] [stdout]   --> src/renderer/bsdf.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl rust_pathtracer::scene::Scene for BSDFScene<'_> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `as_any` in implementation
[INFO] [stdout]    |
[INFO] [stdout]    = help: implement the missing item: `fn as_any(&mut self) -> &mut (dyn Any + 'static) { todo!() }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/ft/sdf.rs:155:31
[INFO] [stdout]     |
[INFO] [stdout] 155 |             max             : F3::new(f64::MAX, f64::MAX, f64::MAX),
[INFO] [stdout]     |                               ^^^^^^^ --------  --------  -------- expected `f32`, found `f64`
[INFO] [stdout]     |                                       |         |
[INFO] [stdout]     |                                       |         expected `f32`, found `f64`
[INFO] [stdout]     |                                       expected `f32`, found `f64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/fx.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(x: F, y: F, z: F) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/ft/sdf.rs:155:31
[INFO] [stdout]     |
[INFO] [stdout] 155 |             max             : F3::new(f64::MAX, f64::MAX, f64::MAX),
[INFO] [stdout]     |                               ^^^^^^^ --------  --------  -------- expected `f32`, found `f64`
[INFO] [stdout]     |                                       |         |
[INFO] [stdout]     |                                       |         expected `f32`, found `f64`
[INFO] [stdout]     |                                       expected `f32`, found `f64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/fx.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(x: F, y: F, z: F) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/ft/sdf.rs:156:31
[INFO] [stdout]     |
[INFO] [stdout] 156 |             min             : F3::new(f64::MIN, f64::MIN, f64::MIN),
[INFO] [stdout]     |                               ^^^^^^^ --------  --------  -------- expected `f32`, found `f64`
[INFO] [stdout]     |                                       |         |
[INFO] [stdout]     |                                       |         expected `f32`, found `f64`
[INFO] [stdout]     |                                       expected `f32`, found `f64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/fx.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(x: F, y: F, z: F) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/ft/sdf.rs:156:31
[INFO] [stdout]     |
[INFO] [stdout] 156 |             min             : F3::new(f64::MIN, f64::MIN, f64::MIN),
[INFO] [stdout]     |                               ^^^^^^^ --------  --------  -------- expected `f32`, found `f64`
[INFO] [stdout]     |                                       |         |
[INFO] [stdout]     |                                       |         expected `f32`, found `f64`
[INFO] [stdout]     |                                       expected `f32`, found `f64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/fx.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(x: F, y: F, z: F) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:394:35
[INFO] [stdout]     |
[INFO] [stdout] 394 |                 let cx = f64::cos(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/f64.rs:736:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 394 |                 let cx = f64::cos((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:395:35
[INFO] [stdout]     |
[INFO] [stdout] 395 |                 let sx = f64::sin(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/f64.rs:713:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 395 |                 let sx = f64::sin((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:406:44
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:406:42
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:406:38
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                      ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:394:35
[INFO] [stdout]     |
[INFO] [stdout] 394 |                 let cx = f64::cos(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/f64.rs:736:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 394 |                 let cx = f64::cos((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:406:36
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                    ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:406:56
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                        ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:406:54
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                      ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:406:50
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:406:48
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:407:44
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:407:42
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:407:38
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                      ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:395:35
[INFO] [stdout]     |
[INFO] [stdout] 395 |                 let sx = f64::sin(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/f64.rs:713:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 395 |                 let sx = f64::sin((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:407:36
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                    ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:406:44
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:407:56
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                        ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:407:54
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                      ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:407:50
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:407:48
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:406:42
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:406:38
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                      ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:416:35
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 let cy = f64::cos(k * p.y);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/f64.rs:736:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 let cy = f64::cos((k * p.y).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:406:36
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                    ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:406:56
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                        ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:406:54
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                      ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:406:50
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:406:48
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:407:44
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:407:42
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:407:38
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                      ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:417:35
[INFO] [stdout]     |
[INFO] [stdout] 417 |                 let sy = f64::sin(k * p.y);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/f64.rs:713:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 417 |                 let sy = f64::sin((k * p.y).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:407:36
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                    ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:422:32
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 let qx = m11 * p.x + m12 * p.z;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:407:56
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                        ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:422:30
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 let qx = m11 * p.x + m12 * p.z;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:422:44
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 let qx = m11 * p.x + m12 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:407:54
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                      ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:407:50
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:422:42
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 let qx = m11 * p.x + m12 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:423:32
[INFO] [stdout]     |
[INFO] [stdout] 423 |                 let qz = m21 * p.x + m22 * p.z;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:407:48
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:423:30
[INFO] [stdout]     |
[INFO] [stdout] 423 |                 let qz = m21 * p.x + m22 * p.z;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:423:44
[INFO] [stdout]     |
[INFO] [stdout] 423 |                 let qz = m21 * p.x + m22 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:423:42
[INFO] [stdout]     |
[INFO] [stdout] 423 |                 let qz = m21 * p.x + m22 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:416:35
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 let cy = f64::cos(k * p.y);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/f64.rs:736:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 let cy = f64::cos((k * p.y).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/ft/sdf.rs:425:17
[INFO] [stdout]     |
[INFO] [stdout] 425 |                 F3::new(qx, qy, qz)
[INFO] [stdout]     |                 ^^^^^^^ --      -- expected `f32`, found `f64`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         expected `f32`, found `f64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/fx.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(x: F, y: F, z: F) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:417:35
[INFO] [stdout]     |
[INFO] [stdout] 417 |                 let sy = f64::sin(k * p.y);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/f64.rs:713:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 417 |                 let sy = f64::sin((k * p.y).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:422:32
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 let qx = m11 * p.x + m12 * p.z;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:422:30
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 let qx = m11 * p.x + m12 * p.z;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:433:35
[INFO] [stdout]     |
[INFO] [stdout] 433 |                 let cz = f64::cos(k * p.z);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/f64.rs:736:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 433 |                 let cz = f64::cos((k * p.z).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:422:44
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 let qx = m11 * p.x + m12 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:422:42
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 let qx = m11 * p.x + m12 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:423:32
[INFO] [stdout]     |
[INFO] [stdout] 423 |                 let qz = m21 * p.x + m22 * p.z;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:423:30
[INFO] [stdout]     |
[INFO] [stdout] 423 |                 let qz = m21 * p.x + m22 * p.z;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:423:44
[INFO] [stdout]     |
[INFO] [stdout] 423 |                 let qz = m21 * p.x + m22 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:423:42
[INFO] [stdout]     |
[INFO] [stdout] 423 |                 let qz = m21 * p.x + m22 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:434:35
[INFO] [stdout]     |
[INFO] [stdout] 434 |                 let sz = f64::sin(k * p.z);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/f64.rs:713:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 434 |                 let sz = f64::sin((k * p.z).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:444:32
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let qx = m11 * p.x + m12 * p.y + m13 * p.z;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:444:30
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let qx = m11 * p.x + m12 * p.y + m13 * p.z;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:444:44
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let qx = m11 * p.x + m12 * p.y + m13 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:444:42
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let qx = m11 * p.x + m12 * p.y + m13 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:444:50
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let qx = m11 * p.x + m12 * p.y + m13 * p.z;
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f32` to `f64`
[INFO] [stdout]    --> src/ft/sdf.rs:444:48
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let qx = m11 * p.x + m12 * p.y + m13 * p.z;
[INFO] [stdout]     |                                                ^ no implementation for `f64 + f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f64 as Add>
[INFO] [stdout]               <f64 as Add<&f64>>
[INFO] [stdout]               <&'a f64 as Add<f64>>
[INFO] [stdout]               <&f64 as Add<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:445:32
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:445:30
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:445:44
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:445:42
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:445:50
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f32` to `f64`
[INFO] [stdout]    --> src/ft/sdf.rs:445:48
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                ^ no implementation for `f64 + f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f64 as Add>
[INFO] [stdout]               <f64 as Add<&f64>>
[INFO] [stdout]               <&'a f64 as Add<f64>>
[INFO] [stdout]               <&f64 as Add<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/ft/sdf.rs:425:17
[INFO] [stdout]     |
[INFO] [stdout] 425 |                 F3::new(qx, qy, qz)
[INFO] [stdout]     |                 ^^^^^^^ --      -- expected `f32`, found `f64`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         expected `f32`, found `f64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/fx.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(x: F, y: F, z: F) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:433:35
[INFO] [stdout]     |
[INFO] [stdout] 433 |                 let cz = f64::cos(k * p.z);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/f64.rs:736:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 433 |                 let cz = f64::cos((k * p.z).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/ft/sdf.rs:447:17
[INFO] [stdout]     |
[INFO] [stdout] 447 |                 F3::new(qx, qy, qz)
[INFO] [stdout]     |                 ^^^^^^^ --  -- expected `f32`, found `f64`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         expected `f32`, found `f64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/fx.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(x: F, y: F, z: F) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:434:35
[INFO] [stdout]     |
[INFO] [stdout] 434 |                 let sz = f64::sin(k * p.z);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/f64.rs:713:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 434 |                 let sz = f64::sin((k * p.z).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:444:32
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let qx = m11 * p.x + m12 * p.y + m13 * p.z;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:444:30
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let qx = m11 * p.x + m12 * p.y + m13 * p.z;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:444:44
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let qx = m11 * p.x + m12 * p.y + m13 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:457:35
[INFO] [stdout]     |
[INFO] [stdout] 457 |                 let cx = f64::cos(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/f64.rs:736:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 457 |                 let cx = f64::cos((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:444:42
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let qx = m11 * p.x + m12 * p.y + m13 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:444:50
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let qx = m11 * p.x + m12 * p.y + m13 * p.z;
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f32` to `f64`
[INFO] [stdout]    --> src/ft/sdf.rs:444:48
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let qx = m11 * p.x + m12 * p.y + m13 * p.z;
[INFO] [stdout]     |                                                ^ no implementation for `f64 + f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f64 as Add>
[INFO] [stdout]               <f64 as Add<&f64>>
[INFO] [stdout]               <&'a f64 as Add<f64>>
[INFO] [stdout]               <&f64 as Add<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:445:32
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:458:35
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 let sx = f64::sin(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/f64.rs:713:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 let sx = f64::sin((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:445:30
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:463:32
[INFO] [stdout]     |
[INFO] [stdout] 463 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:445:44
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:463:30
[INFO] [stdout]     |
[INFO] [stdout] 463 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:463:44
[INFO] [stdout]     |
[INFO] [stdout] 463 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:445:42
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:463:42
[INFO] [stdout]     |
[INFO] [stdout] 463 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:464:32
[INFO] [stdout]     |
[INFO] [stdout] 464 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:445:50
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:464:30
[INFO] [stdout]     |
[INFO] [stdout] 464 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:464:44
[INFO] [stdout]     |
[INFO] [stdout] 464 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f32` to `f64`
[INFO] [stdout]    --> src/ft/sdf.rs:445:48
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                ^ no implementation for `f64 + f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f64 as Add>
[INFO] [stdout]               <f64 as Add<&f64>>
[INFO] [stdout]               <&'a f64 as Add<f64>>
[INFO] [stdout]               <&f64 as Add<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:464:42
[INFO] [stdout]     |
[INFO] [stdout] 464 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/ft/sdf.rs:466:17
[INFO] [stdout]     |
[INFO] [stdout] 466 |                 F3::new(qx, qy, qz)
[INFO] [stdout]     |                 ^^^^^^^ --  -- expected `f32`, found `f64`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         expected `f32`, found `f64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/fx.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(x: F, y: F, z: F) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/ft/sdf.rs:447:17
[INFO] [stdout]     |
[INFO] [stdout] 447 |                 F3::new(qx, qy, qz)
[INFO] [stdout]     |                 ^^^^^^^ --  -- expected `f32`, found `f64`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         expected `f32`, found `f64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/fx.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(x: F, y: F, z: F) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:474:35
[INFO] [stdout]     |
[INFO] [stdout] 474 |                 let cx = f64::cos(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/f64.rs:736:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 474 |                 let cx = f64::cos((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:475:35
[INFO] [stdout]     |
[INFO] [stdout] 475 |                 let sx = f64::sin(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/f64.rs:713:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 475 |                 let sx = f64::sin((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:486:44
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:486:42
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:457:35
[INFO] [stdout]     |
[INFO] [stdout] 457 |                 let cx = f64::cos(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/f64.rs:736:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 457 |                 let cx = f64::cos((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:486:38
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                      ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:486:36
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                    ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:486:56
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                        ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:486:54
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                      ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:486:50
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:486:48
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:458:35
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 let sx = f64::sin(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/f64.rs:713:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 let sx = f64::sin((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:487:44
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:463:32
[INFO] [stdout]     |
[INFO] [stdout] 463 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:487:42
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:487:38
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                      ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:463:30
[INFO] [stdout]     |
[INFO] [stdout] 463 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:463:44
[INFO] [stdout]     |
[INFO] [stdout] 463 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:487:36
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                    ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:487:56
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                        ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:487:54
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                      ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:463:42
[INFO] [stdout]     |
[INFO] [stdout] 463 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:487:50
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:464:32
[INFO] [stdout]     |
[INFO] [stdout] 464 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:487:48
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:464:30
[INFO] [stdout]     |
[INFO] [stdout] 464 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:464:44
[INFO] [stdout]     |
[INFO] [stdout] 464 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:464:42
[INFO] [stdout]     |
[INFO] [stdout] 464 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:496:35
[INFO] [stdout]     |
[INFO] [stdout] 496 |                 let cx = f64::cos(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/f64.rs:736:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 496 |                 let cx = f64::cos((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:497:35
[INFO] [stdout]     |
[INFO] [stdout] 497 |                 let sx = f64::sin(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/f64.rs:713:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 497 |                 let sx = f64::sin((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:502:32
[INFO] [stdout]     |
[INFO] [stdout] 502 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:502:30
[INFO] [stdout]     |
[INFO] [stdout] 502 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:502:44
[INFO] [stdout]     |
[INFO] [stdout] 502 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:502:42
[INFO] [stdout]     |
[INFO] [stdout] 502 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:503:32
[INFO] [stdout]     |
[INFO] [stdout] 503 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:503:30
[INFO] [stdout]     |
[INFO] [stdout] 503 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:503:44
[INFO] [stdout]     |
[INFO] [stdout] 503 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/ft/sdf.rs:466:17
[INFO] [stdout]     |
[INFO] [stdout] 466 |                 F3::new(qx, qy, qz)
[INFO] [stdout]     |                 ^^^^^^^ --  -- expected `f32`, found `f64`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         expected `f32`, found `f64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/fx.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(x: F, y: F, z: F) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:503:42
[INFO] [stdout]     |
[INFO] [stdout] 503 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:474:35
[INFO] [stdout]     |
[INFO] [stdout] 474 |                 let cx = f64::cos(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/f64.rs:736:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 474 |                 let cx = f64::cos((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/ft/sdf.rs:505:17
[INFO] [stdout]     |
[INFO] [stdout] 505 |                 F3::new(qx, qy, qz)
[INFO] [stdout]     |                 ^^^^^^^ --  -- expected `f32`, found `f64`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         expected `f32`, found `f64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/fx.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(x: F, y: F, z: F) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:475:35
[INFO] [stdout]     |
[INFO] [stdout] 475 |                 let sx = f64::sin(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/f64.rs:713:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 475 |                 let sx = f64::sin((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:486:44
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:486:42
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:486:38
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                      ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:486:36
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                    ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:486:56
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                        ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:486:54
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                      ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:486:50
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:486:48
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let qy = m21 * p.x + m22 * p.y + m23 * p.z;
[INFO] [stdout]     |                                                ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:487:44
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:487:42
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:487:38
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                      ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:487:36
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                    ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:487:56
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                        ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:487:54
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                      ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:487:50
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                  ^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add `f64` to `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:487:48
[INFO] [stdout]     |
[INFO] [stdout] 487 |                 let qz = m31 * p.x + m32 * p.y + m33 * p.z;
[INFO] [stdout]     |                                                ^ no implementation for `f32 + f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Add<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `Add<Rhs>`:
[INFO] [stdout]               <f32 as Add>
[INFO] [stdout]               <f32 as Add<&f32>>
[INFO] [stdout]               <&'a f32 as Add<f32>>
[INFO] [stdout]               <&f32 as Add<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:496:35
[INFO] [stdout]     |
[INFO] [stdout] 496 |                 let cx = f64::cos(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/f64.rs:736:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 496 |                 let cx = f64::cos((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:497:35
[INFO] [stdout]     |
[INFO] [stdout] 497 |                 let sx = f64::sin(k * p.x);
[INFO] [stdout]     |                          -------- ^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/f64.rs:713:12
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 497 |                 let sx = f64::sin((k * p.x).into());
[INFO] [stdout]     |                                   +       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:502:32
[INFO] [stdout]     |
[INFO] [stdout] 502 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:502:30
[INFO] [stdout]     |
[INFO] [stdout] 502 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:502:44
[INFO] [stdout]     |
[INFO] [stdout] 502 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:502:42
[INFO] [stdout]     |
[INFO] [stdout] 502 |                 let qx = m11 * p.x + m12 * p.y;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:503:32
[INFO] [stdout]     |
[INFO] [stdout] 503 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                                ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:503:30
[INFO] [stdout]     |
[INFO] [stdout] 503 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                              ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/sdf.rs:503:44
[INFO] [stdout]     |
[INFO] [stdout] 503 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                                            ^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/sdf.rs:503:42
[INFO] [stdout]     |
[INFO] [stdout] 503 |                 let qy = m21 * p.x + m22 * p.y;
[INFO] [stdout]     |                                          ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/ft/sdf.rs:505:17
[INFO] [stdout]     |
[INFO] [stdout] 505 |                 F3::new(qx, qy, qz)
[INFO] [stdout]     |                 ^^^^^^^ --  -- expected `f32`, found `f64`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         expected `f32`, found `f64`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/fx.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(x: F, y: F, z: F) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/ft/scene.rs:94:27
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 if rc.0 < d {
[INFO] [stdout]    |                    ----   ^ expected `f32`, found `f64`
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    expected because this is `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/ft/scene.rs:96:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let mut d = std::f64::MAX;
[INFO] [stdout]    |                     ------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 96 |                     d = rc.0;
[INFO] [stdout]    |                         ^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/ft/scene.rs:99:40
[INFO] [stdout]    |
[INFO] [stdout] 99 |                     hit_point = ray.at(&d);
[INFO] [stdout]    |                                     -- ^^ expected `&f32`, found `&f64`
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&f32`
[INFO] [stdout]               found reference `&f64`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/ray.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn at(&self, dist: &F) -> F3 {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:105:51
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let t_max = ctx.settings.max_distance.min(d);
[INFO] [stdout]     |                                               --- ^ expected `f32`, found `f64`
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/num/f32.rs:944:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:151:25
[INFO] [stdout]     |
[INFO] [stdout] 83  |         let mut d = std::f64::MAX;
[INFO] [stdout]     |                     ------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 151 |                     d = t;
[INFO] [stdout]     |                         ^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:152:40
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     hit_point = ray.at(&d);
[INFO] [stdout]     |                                     -- ^^ expected `&f32`, found `&f64`
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&f32`
[INFO] [stdout]                found reference `&f64`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/ray.rs:31:12
[INFO] [stdout]     |
[INFO] [stdout] 31  |     pub fn at(&self, dist: &F) -> F3 {
[INFO] [stdout]     |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/ft/scene.rs:94:27
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 if rc.0 < d {
[INFO] [stdout]    |                    ----   ^ expected `f32`, found `f64`
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    expected because this is `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:169:39
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 distance            : d,
[INFO] [stdout]     |                                       ^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/ft/scene.rs:96:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let mut d = std::f64::MAX;
[INFO] [stdout]    |                     ------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 96 |                     d = rc.0;
[INFO] [stdout]    |                         ^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:215:27
[INFO] [stdout]     |
[INFO] [stdout] 215 |                 if rc.0 < d {
[INFO] [stdout]     |                    ----   ^ expected `f32`, found `f64`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    expected because this is `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:217:25
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let mut d = std::f64::MAX;
[INFO] [stdout]     |                     ------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 217 |                     d = rc.0;
[INFO] [stdout]     |                         ^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:222:16
[INFO] [stdout]     |
[INFO] [stdout] 222 |         if d < t_max {
[INFO] [stdout]     |            -   ^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |            |
[INFO] [stdout]     |            expected because this is `f64`
[INFO] [stdout]     |
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 222 |         if d < t_max.into() {
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/ft/scene.rs:99:40
[INFO] [stdout]    |
[INFO] [stdout] 99 |                     hit_point = ray.at(&d);
[INFO] [stdout]    |                                     -- ^^ expected `&f32`, found `&f64`
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&f32`
[INFO] [stdout]               found reference `&f64`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/ray.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn at(&self, dist: &F) -> F3 {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:223:21
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let mut t_max = ctx.settings.max_distance;
[INFO] [stdout]     |                         ------------------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 223 |             t_max = d;
[INFO] [stdout]     |                     ^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:105:51
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let t_max = ctx.settings.max_distance.min(d);
[INFO] [stdout]     |                                               --- ^ expected `f32`, found `f64`
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/num/f32.rs:944:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:236:37
[INFO] [stdout]     |
[INFO] [stdout] 236 |                     if rc.0.abs() < d.abs() {
[INFO] [stdout]     |                        ----------   ^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        expected because this is `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:237:29
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let mut d = std::f64::MAX;
[INFO] [stdout]     |                     ------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 237 |                         d = rc.0.abs();
[INFO] [stdout]     |                             ^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:241:26
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 t += d * ctx.settings.step_size;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/scene.rs:241:24
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 t += d * ctx.settings.step_size;
[INFO] [stdout]     |                        ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:241:22
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 t += d * ctx.settings.step_size;
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f64` to `f32`
[INFO] [stdout]    --> src/ft/scene.rs:241:19
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 t += d * ctx.settings.step_size;
[INFO] [stdout]     |                   ^^ no implementation for `f32 += f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `AddAssign<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]               <f32 as AddAssign>
[INFO] [stdout]               <f32 as AddAssign<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:151:25
[INFO] [stdout]     |
[INFO] [stdout] 83  |         let mut d = std::f64::MAX;
[INFO] [stdout]     |                     ------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 151 |                     d = t;
[INFO] [stdout]     |                         ^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:243:24
[INFO] [stdout]     |
[INFO] [stdout] 243 |                 if d < iso_value {
[INFO] [stdout]     |                    -   ^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    expected because this is `f64`
[INFO] [stdout]     |
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 243 |                 if d < iso_value.into() {
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:257:25
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let mut d : F = std::f64::MAX;
[INFO] [stdout]     |                     -   ^^^^^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     expected due to this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:152:40
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     hit_point = ray.at(&d);
[INFO] [stdout]     |                                     -- ^^ expected `&f32`, found `&f64`
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&f32`
[INFO] [stdout]                found reference `&f64`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rust-pathtracer-0.2.4/src/ray.rs:31:12
[INFO] [stdout]     |
[INFO] [stdout] 31  |     pub fn at(&self, dist: &F) -> F3 {
[INFO] [stdout]     |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:169:39
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 distance            : d,
[INFO] [stdout]     |                                       ^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:215:27
[INFO] [stdout]     |
[INFO] [stdout] 215 |                 if rc.0 < d {
[INFO] [stdout]     |                    ----   ^ expected `f32`, found `f64`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    expected because this is `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:217:25
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let mut d = std::f64::MAX;
[INFO] [stdout]     |                     ------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 217 |                     d = rc.0;
[INFO] [stdout]     |                         ^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:222:16
[INFO] [stdout]     |
[INFO] [stdout] 222 |         if d < t_max {
[INFO] [stdout]     |            -   ^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |            |
[INFO] [stdout]     |            expected because this is `f64`
[INFO] [stdout]     |
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 222 |         if d < t_max.into() {
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:223:21
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let mut t_max = ctx.settings.max_distance;
[INFO] [stdout]     |                         ------------------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 223 |             t_max = d;
[INFO] [stdout]     |                     ^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:236:37
[INFO] [stdout]     |
[INFO] [stdout] 236 |                     if rc.0.abs() < d.abs() {
[INFO] [stdout]     |                        ----------   ^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        expected because this is `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:237:29
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let mut d = std::f64::MAX;
[INFO] [stdout]     |                     ------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 237 |                         d = rc.0.abs();
[INFO] [stdout]     |                             ^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:241:26
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 t += d * ctx.settings.step_size;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]    --> src/ft/scene.rs:241:24
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 t += d * ctx.settings.step_size;
[INFO] [stdout]     |                        ^ no implementation for `f64 * f32`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               <f64 as Mul>
[INFO] [stdout]               <f64 as Mul<&f64>>
[INFO] [stdout]               <&'a f64 as Mul<f64>>
[INFO] [stdout]               <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:241:22
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 t += d * ctx.settings.step_size;
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f64` to `f32`
[INFO] [stdout]    --> src/ft/scene.rs:241:19
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 t += d * ctx.settings.step_size;
[INFO] [stdout]     |                   ^^ no implementation for `f32 += f64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `AddAssign<f64>` is not implemented for `f32`
[INFO] [stdout]     = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]               <f32 as AddAssign>
[INFO] [stdout]               <f32 as AddAssign<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:243:24
[INFO] [stdout]     |
[INFO] [stdout] 243 |                 if d < iso_value {
[INFO] [stdout]     |                    -   ^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    expected because this is `f64`
[INFO] [stdout]     |
[INFO] [stdout] help: you can convert an `f32` to an `f64`
[INFO] [stdout]     |
[INFO] [stdout] 243 |                 if d < iso_value.into() {
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft/scene.rs:257:25
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let mut d : F = std::f64::MAX;
[INFO] [stdout]     |                     -   ^^^^^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     expected due to this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft.rs:197:59
[INFO] [stdout]     |
[INFO] [stdout] 197 | ...                   phong(&ctx, &hit, &mut color);
[INFO] [stdout]     |                       -----             ^^^^^^^^^^ expected `&mut [f64; 4]`, found `&mut [f32; 4]`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut [f64; 4]`
[INFO] [stdout]                found mutable reference `&mut [f32; 4]`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/renderer/phong.rs:5:8
[INFO] [stdout]     |
[INFO] [stdout] 5   | pub fn phong(ctx: &FTContext, hit: &HitRecord, color: &mut [f64; 4]) {
[INFO] [stdout]     |        ^^^^^                                   --------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft.rs:200:57
[INFO] [stdout]     |
[INFO] [stdout] 200 | ...                   pbr(&ctx, &hit, &mut color);
[INFO] [stdout]     |                       ---             ^^^^^^^^^^ expected `&mut [f64; 4]`, found `&mut [f32; 4]`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut [f64; 4]`
[INFO] [stdout]                found mutable reference `&mut [f32; 4]`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/renderer/pbr.rs:44:8
[INFO] [stdout]     |
[INFO] [stdout] 44  | pub fn pbr(ctx: &FTContext, hit: &HitRecord, color: &mut [f64; 4]) {
[INFO] [stdout]     |        ^^^                                   --------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft.rs:282:23
[INFO] [stdout]     |
[INFO] [stdout] 282 |         mc.set_volume(volume, dim, dim, dim);
[INFO] [stdout]     |            ---------- ^^^^^^ expected `Vec<f64>`, found `Vec<f32>`
[INFO] [stdout]     |            |
[INFO] [stdout]     |            arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<f64>`
[INFO] [stdout]                found struct `Vec<f32>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/marching_cubes.rs:330:12
[INFO] [stdout]     |
[INFO] [stdout] 330 |     pub fn set_volume(&mut self, volume: Vec<f64>, dims_x: u32, dims_y: u32, dims_z: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^            ----------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 |         color[0] += ctx.settings.renderer.ambient.x * amb * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 18 |         color[0] += ctx.settings.renderer.ambient.x * amb * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 |         color[1] += ctx.settings.renderer.ambient.y * amb * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 |         color[1] += ctx.settings.renderer.ambient.y * amb * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:20:21
[INFO] [stdout]    |
[INFO] [stdout] 20 |         color[2] += ctx.settings.renderer.ambient.z * amb * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft.rs:197:59
[INFO] [stdout]     |
[INFO] [stdout] 197 | ...                   phong(&ctx, &hit, &mut color);
[INFO] [stdout]     |                       -----             ^^^^^^^^^^ expected `&mut [f64; 4]`, found `&mut [f32; 4]`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut [f64; 4]`
[INFO] [stdout]                found mutable reference `&mut [f32; 4]`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/renderer/phong.rs:5:8
[INFO] [stdout]     |
[INFO] [stdout] 5   | pub fn phong(ctx: &FTContext, hit: &HitRecord, color: &mut [f64; 4]) {
[INFO] [stdout]     |        ^^^^^                                   --------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 |         color[2] += ctx.settings.renderer.ambient.z * amb * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |         color[0] += hit.material.rgb.x * dif * l.intensity * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 |         color[0] += hit.material.rgb.x * dif * l.intensity * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |         color[1] += hit.material.rgb.y * dif * l.intensity * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:24:18
[INFO] [stdout]    |
[INFO] [stdout] 24 |         color[1] += hit.material.rgb.y * dif * l.intensity * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 |         color[2] += hit.material.rgb.z * dif * l.intensity * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:25:18
[INFO] [stdout]    |
[INFO] [stdout] 25 |         color[2] += hit.material.rgb.z * dif * l.intensity * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |         color[0] += ctx.settings.renderer.specular.x * dif * spe * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:28:18
[INFO] [stdout]    |
[INFO] [stdout] 28 |         color[0] += ctx.settings.renderer.specular.x * dif * spe * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft.rs:200:57
[INFO] [stdout]     |
[INFO] [stdout] 200 | ...                   pbr(&ctx, &hit, &mut color);
[INFO] [stdout]     |                       ---             ^^^^^^^^^^ expected `&mut [f64; 4]`, found `&mut [f32; 4]`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut [f64; 4]`
[INFO] [stdout]                found mutable reference `&mut [f32; 4]`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/renderer/pbr.rs:44:8
[INFO] [stdout]     |
[INFO] [stdout] 44  | pub fn pbr(ctx: &FTContext, hit: &HitRecord, color: &mut [f64; 4]) {
[INFO] [stdout]     |        ^^^                                   --------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:29:21
[INFO] [stdout]    |
[INFO] [stdout] 29 |         color[1] += ctx.settings.renderer.specular.y * dif * spe * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 |         color[1] += ctx.settings.renderer.specular.y * dif * spe * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:30:21
[INFO] [stdout]    |
[INFO] [stdout] 30 |         color[2] += ctx.settings.renderer.specular.z * dif * spe * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:30:18
[INFO] [stdout]    |
[INFO] [stdout] 30 |         color[2] += ctx.settings.renderer.specular.z * dif * spe * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:23:28
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let d = alpha_sqr / (PI * denom * denom);
[INFO] [stdout]    |                               ^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]   --> src/renderer/pbr.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let d = alpha_sqr / (PI * denom * denom);
[INFO] [stdout]    |                             ^ no implementation for `f64 * f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]              <f64 as Mul>
[INFO] [stdout]              <f64 as Mul<&f64>>
[INFO] [stdout]              <&'a f64 as Mul<f64>>
[INFO] [stdout]              <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:23:36
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let d = alpha_sqr / (PI * denom * denom);
[INFO] [stdout]    |                                       ^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]   --> src/renderer/pbr.rs:23:34
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let d = alpha_sqr / (PI * denom * denom);
[INFO] [stdout]    |                                     ^ no implementation for `f64 * f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]              <f64 as Mul>
[INFO] [stdout]              <f64 as Mul<&f64>>
[INFO] [stdout]              <&'a f64 as Mul<f64>>
[INFO] [stdout]              <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:23:22
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let d = alpha_sqr / (PI * denom * denom);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot divide `f32` by `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:23:20
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let d = alpha_sqr / (PI * denom * denom);
[INFO] [stdout]    |                       ^ no implementation for `f32 / f64`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Div<f64>` is not implemented for `f32`
[INFO] [stdout]    = help: the following other types implement trait `Div<Rhs>`:
[INFO] [stdout]              <f32 as Div>
[INFO] [stdout]              <f32 as Div<rust_pathtracer::fx::F3>>
[INFO] [stdout]              <f32 as Div<&f32>>
[INFO] [stdout]              <&'a f32 as Div<f32>>
[INFO] [stdout]              <&f32 as Div<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |         color[0] += col.x;
[INFO] [stdout]    |                     ^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:56:18
[INFO] [stdout]    |
[INFO] [stdout] 56 |         color[0] += col.x;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 |         color[1] += col.y;
[INFO] [stdout]    |                     ^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 |         color[1] += col.y;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:58:21
[INFO] [stdout]    |
[INFO] [stdout] 58 |         color[2] += col.z;
[INFO] [stdout]    |                     ^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 58 |         color[2] += col.z;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:79:21
[INFO] [stdout]    |
[INFO] [stdout] 79 |         color[0] += ctx.settings.renderer.ambient.x * amb * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 79 |         color[0] += ctx.settings.renderer.ambient.x * amb * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:80:21
[INFO] [stdout]    |
[INFO] [stdout] 80 |         color[1] += ctx.settings.renderer.ambient.y * amb * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |         color[1] += ctx.settings.renderer.ambient.y * amb * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 |         color[2] += ctx.settings.renderer.ambient.z * amb * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:81:18
[INFO] [stdout]    |
[INFO] [stdout] 81 |         color[2] += ctx.settings.renderer.ambient.z * amb * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |         color[0] += hit.material.rgb.x * dif * l.intensity * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:84:18
[INFO] [stdout]    |
[INFO] [stdout] 84 |         color[0] += hit.material.rgb.x * dif * l.intensity * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:85:21
[INFO] [stdout]    |
[INFO] [stdout] 85 |         color[1] += hit.material.rgb.y * dif * l.intensity * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:85:18
[INFO] [stdout]    |
[INFO] [stdout] 85 |         color[1] += hit.material.rgb.y * dif * l.intensity * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:86:21
[INFO] [stdout]    |
[INFO] [stdout] 86 |         color[2] += hit.material.rgb.z * dif * l.intensity * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:86:18
[INFO] [stdout]    |
[INFO] [stdout] 86 |         color[2] += hit.material.rgb.z * dif * l.intensity * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:89:21
[INFO] [stdout]    |
[INFO] [stdout] 89 |         color[0] += ctx.settings.renderer.specular.x * dif * spe * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:89:18
[INFO] [stdout]    |
[INFO] [stdout] 89 |         color[0] += ctx.settings.renderer.specular.x * dif * spe * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:90:21
[INFO] [stdout]    |
[INFO] [stdout] 90 |         color[1] += ctx.settings.renderer.specular.y * dif * spe * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:90:18
[INFO] [stdout]    |
[INFO] [stdout] 90 |         color[1] += ctx.settings.renderer.specular.y * dif * spe * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:91:21
[INFO] [stdout]    |
[INFO] [stdout] 91 |         color[2] += ctx.settings.renderer.specular.z * dif * spe * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:91:18
[INFO] [stdout]    |
[INFO] [stdout] 91 |         color[2] += ctx.settings.renderer.specular.z * dif * spe * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ft.rs:282:23
[INFO] [stdout]     |
[INFO] [stdout] 282 |         mc.set_volume(volume, dim, dim, dim);
[INFO] [stdout]     |            ---------- ^^^^^^ expected `Vec<f64>`, found `Vec<f32>`
[INFO] [stdout]     |            |
[INFO] [stdout]     |            arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<f64>`
[INFO] [stdout]                found struct `Vec<f32>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/marching_cubes.rs:330:12
[INFO] [stdout]     |
[INFO] [stdout] 330 |     pub fn set_volume(&mut self, volume: Vec<f64>, dims_x: u32, dims_y: u32, dims_z: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^            ----------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 |         color[0] += ctx.settings.renderer.ambient.x * amb * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 18 |         color[0] += ctx.settings.renderer.ambient.x * amb * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 |         color[1] += ctx.settings.renderer.ambient.y * amb * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 |         color[1] += ctx.settings.renderer.ambient.y * amb * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:20:21
[INFO] [stdout]    |
[INFO] [stdout] 20 |         color[2] += ctx.settings.renderer.ambient.z * amb * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 |         color[2] += ctx.settings.renderer.ambient.z * amb * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |         color[0] += hit.material.rgb.x * dif * l.intensity * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 |         color[0] += hit.material.rgb.x * dif * l.intensity * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |         color[1] += hit.material.rgb.y * dif * l.intensity * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:24:18
[INFO] [stdout]    |
[INFO] [stdout] 24 |         color[1] += hit.material.rgb.y * dif * l.intensity * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 |         color[2] += hit.material.rgb.z * dif * l.intensity * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:25:18
[INFO] [stdout]    |
[INFO] [stdout] 25 |         color[2] += hit.material.rgb.z * dif * l.intensity * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |         color[0] += ctx.settings.renderer.specular.x * dif * spe * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:28:18
[INFO] [stdout]    |
[INFO] [stdout] 28 |         color[0] += ctx.settings.renderer.specular.x * dif * spe * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:29:21
[INFO] [stdout]    |
[INFO] [stdout] 29 |         color[1] += ctx.settings.renderer.specular.y * dif * spe * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 |         color[1] += ctx.settings.renderer.specular.y * dif * spe * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/phong.rs:30:21
[INFO] [stdout]    |
[INFO] [stdout] 30 |         color[2] += ctx.settings.renderer.specular.z * dif * spe * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/phong.rs:30:18
[INFO] [stdout]    |
[INFO] [stdout] 30 |         color[2] += ctx.settings.renderer.specular.z * dif * spe * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:23:28
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let d = alpha_sqr / (PI * denom * denom);
[INFO] [stdout]    |                               ^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]   --> src/renderer/pbr.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let d = alpha_sqr / (PI * denom * denom);
[INFO] [stdout]    |                             ^ no implementation for `f64 * f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]              <f64 as Mul>
[INFO] [stdout]              <f64 as Mul<&f64>>
[INFO] [stdout]              <&'a f64 as Mul<f64>>
[INFO] [stdout]              <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:23:36
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let d = alpha_sqr / (PI * denom * denom);
[INFO] [stdout]    |                                       ^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `f64` by `f32`
[INFO] [stdout]   --> src/renderer/pbr.rs:23:34
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let d = alpha_sqr / (PI * denom * denom);
[INFO] [stdout]    |                                     ^ no implementation for `f64 * f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Mul<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]              <f64 as Mul>
[INFO] [stdout]              <f64 as Mul<&f64>>
[INFO] [stdout]              <&'a f64 as Mul<f64>>
[INFO] [stdout]              <&f64 as Mul<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:23:22
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let d = alpha_sqr / (PI * denom * denom);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^ expected `f32`, found `f64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot divide `f32` by `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:23:20
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let d = alpha_sqr / (PI * denom * denom);
[INFO] [stdout]    |                       ^ no implementation for `f32 / f64`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Div<f64>` is not implemented for `f32`
[INFO] [stdout]    = help: the following other types implement trait `Div<Rhs>`:
[INFO] [stdout]              <f32 as Div>
[INFO] [stdout]              <f32 as Div<rust_pathtracer::fx::F3>>
[INFO] [stdout]              <f32 as Div<&f32>>
[INFO] [stdout]              <&'a f32 as Div<f32>>
[INFO] [stdout]              <&f32 as Div<&f32>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |         color[0] += col.x;
[INFO] [stdout]    |                     ^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:56:18
[INFO] [stdout]    |
[INFO] [stdout] 56 |         color[0] += col.x;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 |         color[1] += col.y;
[INFO] [stdout]    |                     ^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 |         color[1] += col.y;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:58:21
[INFO] [stdout]    |
[INFO] [stdout] 58 |         color[2] += col.z;
[INFO] [stdout]    |                     ^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 58 |         color[2] += col.z;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:79:21
[INFO] [stdout]    |
[INFO] [stdout] 79 |         color[0] += ctx.settings.renderer.ambient.x * amb * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 79 |         color[0] += ctx.settings.renderer.ambient.x * amb * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:80:21
[INFO] [stdout]    |
[INFO] [stdout] 80 |         color[1] += ctx.settings.renderer.ambient.y * amb * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |         color[1] += ctx.settings.renderer.ambient.y * amb * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 |         color[2] += ctx.settings.renderer.ambient.z * amb * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:81:18
[INFO] [stdout]    |
[INFO] [stdout] 81 |         color[2] += ctx.settings.renderer.ambient.z * amb * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |         color[0] += hit.material.rgb.x * dif * l.intensity * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:84:18
[INFO] [stdout]    |
[INFO] [stdout] 84 |         color[0] += hit.material.rgb.x * dif * l.intensity * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:85:21
[INFO] [stdout]    |
[INFO] [stdout] 85 |         color[1] += hit.material.rgb.y * dif * l.intensity * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:85:18
[INFO] [stdout]    |
[INFO] [stdout] 85 |         color[1] += hit.material.rgb.y * dif * l.intensity * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:86:21
[INFO] [stdout]    |
[INFO] [stdout] 86 |         color[2] += hit.material.rgb.z * dif * l.intensity * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:86:18
[INFO] [stdout]    |
[INFO] [stdout] 86 |         color[2] += hit.material.rgb.z * dif * l.intensity * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:89:21
[INFO] [stdout]    |
[INFO] [stdout] 89 |         color[0] += ctx.settings.renderer.specular.x * dif * spe * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:89:18
[INFO] [stdout]    |
[INFO] [stdout] 89 |         color[0] += ctx.settings.renderer.specular.x * dif * spe * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:90:21
[INFO] [stdout]    |
[INFO] [stdout] 90 |         color[1] += ctx.settings.renderer.specular.y * dif * spe * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:90:18
[INFO] [stdout]    |
[INFO] [stdout] 90 |         color[1] += ctx.settings.renderer.specular.y * dif * spe * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/renderer/pbr.rs:91:21
[INFO] [stdout]    |
[INFO] [stdout] 91 |         color[2] += ctx.settings.renderer.specular.z * dif * spe * occ;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `f64`, found `f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot add-assign `f32` to `f64`
[INFO] [stdout]   --> src/renderer/pbr.rs:91:18
[INFO] [stdout]    |
[INFO] [stdout] 91 |         color[2] += ctx.settings.renderer.specular.z * dif * spe * occ;
[INFO] [stdout]    |                  ^^ no implementation for `f64 += f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `AddAssign<f32>` is not implemented for `f64`
[INFO] [stdout]    = help: the following other types implement trait `AddAssign<Rhs>`:
[INFO] [stdout]              <f64 as AddAssign>
[INFO] [stdout]              <f64 as AddAssign<&f64>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 157 previous errors; 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0046, E0277, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0046`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `forgedthoughts` (lib) due to 158 previous errors; 3 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 157 previous errors; 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0046, E0277, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0046`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `forgedthoughts` (lib test) due to 158 previous errors; 3 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "db8502727e633ddb04d5fff47067361391c74ee5727b828c6009188ee0002091", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "db8502727e633ddb04d5fff47067361391c74ee5727b828c6009188ee0002091", kill_on_drop: false }`
[INFO] [stdout] db8502727e633ddb04d5fff47067361391c74ee5727b828c6009188ee0002091
