[INFO] cloning repository https://github.com/cmaestrofdez/0_rust_pbr
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cmaestrofdez/0_rust_pbr" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcmaestrofdez%2F0_rust_pbr", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcmaestrofdez%2F0_rust_pbr'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1e0f89644cb8c03edc52b6d1510fdae1906a0faf
[INFO] checking cmaestrofdez/0_rust_pbr against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcmaestrofdez%2F0_rust_pbr" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/cmaestrofdez/0_rust_pbr
[INFO] finished tweaking git repo https://github.com/cmaestrofdez/0_rust_pbr
[INFO] tweaked toml for git repo https://github.com/cmaestrofdez/0_rust_pbr written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cmaestrofdez/0_rust_pbr on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cmaestrofdez/0_rust_pbr already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded palette_derive v0.6.1
[INFO] [stderr]   Downloaded phf_generator v0.11.1
[INFO] [stderr]   Downloaded phf v0.11.1
[INFO] [stderr]   Downloaded phf_shared v0.11.1
[INFO] [stderr]   Downloaded phf_macros v0.11.1
[INFO] [stderr]   Downloaded actix-web-codegen v4.1.0
[INFO] [stderr]   Downloaded bytestring v1.2.0
[INFO] [stderr]   Downloaded hexf v0.2.1
[INFO] [stderr]   Downloaded actix-rt v2.7.0
[INFO] [stderr]   Downloaded actix-server v2.1.1
[INFO] [stderr]   Downloaded cookie v0.16.1
[INFO] [stderr]   Downloaded palette v0.6.1
[INFO] [stderr]   Downloaded actix-web v4.2.1
[INFO] [stderr]   Downloaded actix-http v3.2.2
[INFO] [stderr]   Downloaded tiff v0.8.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5fc8f2b1cccbd13528cd1a4f39eb86785910b5caccf46a4947aacd80e647104e
[INFO] running `Command { std: "docker" "start" "-a" "5fc8f2b1cccbd13528cd1a4f39eb86785910b5caccf46a4947aacd80e647104e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5fc8f2b1cccbd13528cd1a4f39eb86785910b5caccf46a4947aacd80e647104e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5fc8f2b1cccbd13528cd1a4f39eb86785910b5caccf46a4947aacd80e647104e", kill_on_drop: false }`
[INFO] [stdout] 5fc8f2b1cccbd13528cd1a4f39eb86785910b5caccf46a4947aacd80e647104e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] abaf4785c32e84eec01bede19dee80529bce7302deff59c54142b50335bac6bc
[INFO] running `Command { std: "docker" "start" "-a" "abaf4785c32e84eec01bede19dee80529bce7302deff59c54142b50335bac6bc", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.103
[INFO] [stderr]     Checking getrandom v0.2.8
[INFO] [stderr]    Compiling libc v0.2.137
[INFO] [stderr]     Checking once_cell v1.17.1
[INFO] [stderr]     Checking num_cpus v1.15.0
[INFO] [stderr]    Compiling tokio v1.21.2
[INFO] [stderr]    Compiling serde v1.0.147
[INFO] [stderr]     Checking itoa v1.0.4
[INFO] [stderr]     Checking socket2 v0.4.7
[INFO] [stderr]    Compiling futures-task v0.3.25
[INFO] [stderr]    Compiling futures-util v0.3.25
[INFO] [stderr]     Checking num-integer v0.1.45
[INFO] [stderr]    Compiling num-bigint v0.4.3
[INFO] [stderr]    Compiling phf_shared v0.11.1
[INFO] [stderr]    Compiling indexmap v1.9.1
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]     Checking http v0.2.8
[INFO] [stderr]    Compiling pin-project-lite v0.2.9
[INFO] [stderr]    Compiling tracing-core v0.1.30
[INFO] [stderr]     Checking rayon-core v1.10.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling encoding_rs v0.8.31
[INFO] [stderr]     Checking actix-service v2.0.2
[INFO] [stderr]     Checking nanorand v0.7.0
[INFO] [stderr]    Compiling regex v1.7.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling time-macros v0.2.6
[INFO] [stderr]     Checking tracing v0.1.37
[INFO] [stderr]    Compiling jobserver v0.1.25
[INFO] [stderr]     Checking rayon v1.6.0
[INFO] [stderr]    Compiling phf_generator v0.11.1
[INFO] [stderr]     Checking digest v0.10.5
[INFO] [stderr]     Checking brotli-decompressor v2.3.2
[INFO] [stderr]     Checking actix-utils v3.0.1
[INFO] [stderr]    Compiling bytestring v1.2.0
[INFO] [stderr]    Compiling cookie v0.16.1
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling serde_json v1.0.88
[INFO] [stderr]    Compiling crossbeam-queue v0.3.8
[INFO] [stderr]     Checking siphasher v0.3.10
[INFO] [stderr]    Compiling cc v1.0.76
[INFO] [stderr]     Checking sha1 v0.10.5
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking ahash v0.7.6
[INFO] [stderr]     Checking threadpool v1.8.1
[INFO] [stderr]    Compiling palette v0.6.1
[INFO] [stderr]     Checking brotli v3.3.4
[INFO] [stderr]     Checking approx v0.4.0
[INFO] [stderr]     Checking num-complex v0.4.3
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking time v0.3.17
[INFO] [stderr]    Compiling hexf-parse v0.2.1
[INFO] [stderr]     Checking bytemuck v1.12.3
[INFO] [stderr]     Checking cgmath v0.18.0
[INFO] [stderr]     Checking crossbeam v0.8.2
[INFO] [stderr]     Checking piston-float v1.0.1
[INFO] [stderr]     Checking num v0.4.0
[INFO] [stderr]     Checking local-channel v0.1.3
[INFO] [stderr]    Compiling zstd-sys v2.0.1+zstd.1.5.2
[INFO] [stderr]     Checking jpeg-decoder v0.3.0
[INFO] [stderr]     Checking tiff v0.8.0
[INFO] [stderr]    Compiling toml v0.5.10
[INFO] [stderr]    Compiling actix-router v0.5.1
[INFO] [stderr]     Checking tokio-util v0.7.4
[INFO] [stderr]     Checking actix-codec v0.5.0
[INFO] [stderr]     Checking h2 v0.3.15
[INFO] [stderr]    Compiling find-crate v0.6.3
[INFO] [stderr]    Compiling serde_derive v1.0.147
[INFO] [stderr]    Compiling actix-macros v0.2.3
[INFO] [stderr]    Compiling pin-project-internal v1.0.12
[INFO] [stderr]     Checking actix-rt v2.7.0
[INFO] [stderr]    Compiling phf_macros v0.11.1
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]     Checking actix-server v2.1.1
[INFO] [stderr]    Compiling palette_derive v0.6.1
[INFO] [stderr]    Compiling actix-web-codegen v4.1.0
[INFO] [stderr]    Compiling hexf v0.2.1
[INFO] [stderr]     Checking pin-project v1.0.12
[INFO] [stderr]     Checking flume v0.10.14
[INFO] [stderr]     Checking phf v0.11.1
[INFO] [stderr]     Checking exr v1.5.2
[INFO] [stderr]     Checking image v0.24.5
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]    Compiling zstd-safe v5.0.2+zstd.1.5.2
[INFO] [stderr]     Checking zstd v0.11.2+zstd.1.5.2
[INFO] [stderr]     Checking actix-http v3.2.2
[INFO] [stderr]     Checking actix-web v4.2.1
[INFO] [stderr]     Checking hello v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/materials.rs:1444:10
[INFO] [stdout]      |
[INFO] [stdout] 1444 |         };
[INFO] [stdout]      |          ^ help: remove this semicolon
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/materials.rs:1609:10
[INFO] [stdout]      |
[INFO] [stdout] 1609 |         };
[INFO] [stdout]      |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `New_Interface_AreaLightType` should have an upper camel case name
[INFO] [stdout]    --> src/Lights.rs:383:5
[INFO] [stdout]     |
[INFO] [stdout] 383 |     New_Interface_AreaLightType(New_Interface_AreaLight),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `NewInterfaceAreaLightType`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `New_Interface_AreaLight` should have an upper camel case name
[INFO] [stdout]     --> src/Lights.rs:1077:12
[INFO] [stdout]      |
[INFO] [stdout] 1077 | pub struct New_Interface_AreaLight {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `NewInterfaceAreaLight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/samplerhalton.rs:194:4
[INFO] [stdout]     |
[INFO] [stdout] 194 |    ;
[INFO] [stdout]     |    ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `from_camera` should have an upper camel case name
[INFO] [stdout]    --> src/bdpt.rs:197:6
[INFO] [stdout]     |
[INFO] [stdout] 197 |      from_camera, // Radiance, 
[INFO] [stdout]     |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `FromCamera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `from_light` should have an upper camel case name
[INFO] [stdout]    --> src/bdpt.rs:198:4
[INFO] [stdout]     |
[INFO] [stdout] 198 |    from_light //  Importance  
[INFO] [stdout]     |    ^^^^^^^^^^ help: convert the identifier to upper camel case: `FromLight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/bdpt.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |             let b =  v *    d2.sqrt();;
[INFO] [stdout]     |                                       ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/bdpt.rs:584:37
[INFO] [stdout]     |
[INFO] [stdout] 584 |        let b =  v *    invl2.sqrt();;
[INFO] [stdout]     |                                     ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `isEndpointPath` should have an upper camel case name
[INFO] [stdout]     --> src/bdpt.rs:1018:12
[INFO] [stdout]      |
[INFO] [stdout] 1018 | pub trait  isEndpointPath {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `IsEndpointPath`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/bdpt.rs:1253:35
[INFO] [stdout]      |
[INFO] [stdout] 1253 |         let b =  v *    d2.sqrt();;
[INFO] [stdout]      |                                   ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]     --> src/bdpt.rs:1270:4
[INFO] [stdout]      |
[INFO] [stdout] 1270 |    while true {
[INFO] [stdout]      |    ^^^^^^^^^^ help: use `loop`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(while_true)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/bdpt.rs:1303:18
[INFO] [stdout]      |
[INFO] [stdout] 1303 |            break;;
[INFO] [stdout]      |                  ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/bdpt.rs:1786:78
[INFO] [stdout]      |
[INFO] [stdout] 1786 |     let mut res  = ReqWeights::new(None,None,None,None,None,None,None,None );;
[INFO] [stdout]      |                                                                              ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> src/bdpt_test.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         ;
[INFO] [stdout]    |         ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `mr_0`
[INFO] [stdout]  --> src/macrorules_cheetsheet.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | macro_rules! mr_0 {
[INFO] [stdout]   |              ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `mr_1`
[INFO] [stdout]  --> src/macrorules_cheetsheet.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 | macro_rules! mr_1 { 
[INFO] [stdout]   |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `mr_2`
[INFO] [stdout]   --> src/macrorules_cheetsheet.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 | macro_rules! mr_2 { 
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `mr_3`
[INFO] [stdout]   --> src/macrorules_cheetsheet.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 20 | macro_rules! mr_3 {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `mr_4_recursive_each`
[INFO] [stdout]   --> src/macrorules_cheetsheet.rs:27:14
[INFO] [stdout]    |
[INFO] [stdout] 27 | macro_rules! mr_4_recursive_each{
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `X`
[INFO] [stdout]   --> src/macrorules_cheetsheet.rs:34:18
[INFO] [stdout]    |
[INFO] [stdout] 34 |     macro_rules! X { () => { Y!(); } }
[INFO] [stdout]    |                  ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `Y`
[INFO] [stdout]   --> src/macrorules_cheetsheet.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 |     macro_rules! Y { () => {} }
[INFO] [stdout]    |                  ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `create_instance`
[INFO] [stdout]   --> src/macrorules_cheetsheet.rs:67:14
[INFO] [stdout]    |
[INFO] [stdout] 67 | macro_rules! create_instance {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `make_rec`
[INFO] [stdout]   --> src/macrorules_cheetsheet.rs:84:14
[INFO] [stdout]    |
[INFO] [stdout] 84 | macro_rules! make_rec {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/raytracerv2.rs:1584:5
[INFO] [stdout]      |
[INFO] [stdout] 1584 |     ;
[INFO] [stdout]      |     ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> src/bdpt2.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |             ;
[INFO] [stdout]    |             ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `from_camera` should have an upper camel case name
[INFO] [stdout]    --> src/bdpt2.rs:169:6
[INFO] [stdout]     |
[INFO] [stdout] 169 |      from_camera, // Radiance, 
[INFO] [stdout]     |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `FromCamera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `from_light` should have an upper camel case name
[INFO] [stdout]    --> src/bdpt2.rs:170:4
[INFO] [stdout]     |
[INFO] [stdout] 170 |    from_light //  Importance  
[INFO] [stdout]     |    ^^^^^^^^^^ help: convert the identifier to upper camel case: `FromLight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/bdpt2.rs:656:39
[INFO] [stdout]     |
[INFO] [stdout] 656 |             let b =  v *    d2.sqrt();;
[INFO] [stdout]     |                                       ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/bdpt2.rs:675:37
[INFO] [stdout]     |
[INFO] [stdout] 675 |        let b =  v *    invl2.sqrt();;
[INFO] [stdout]     |                                     ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `isEndpointPath` should have an upper camel case name
[INFO] [stdout]     --> src/bdpt2.rs:1046:12
[INFO] [stdout]      |
[INFO] [stdout] 1046 | pub trait  isEndpointPath {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `IsEndpointPath`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/bdpt2.rs:1285:35
[INFO] [stdout]      |
[INFO] [stdout] 1285 |         let b =  v *    d2.sqrt();;
[INFO] [stdout]      |                                   ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]     --> src/bdpt2.rs:1312:4
[INFO] [stdout]      |
[INFO] [stdout] 1312 |    while true {
[INFO] [stdout]      |    ^^^^^^^^^^ help: use `loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/bdpt2.rs:1346:18
[INFO] [stdout]      |
[INFO] [stdout] 1346 |            break;;
[INFO] [stdout]      |                  ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]     --> src/bdpt2.rs:1369:4
[INFO] [stdout]      |
[INFO] [stdout] 1369 |    while true {
[INFO] [stdout]      |    ^^^^^^^^^^ help: use `loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/bdpt2.rs:1404:18
[INFO] [stdout]      |
[INFO] [stdout] 1404 |            break;;
[INFO] [stdout]      |                  ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/bdpt2.rs:2157:77
[INFO] [stdout]      |
[INFO] [stdout] 2157 |    let mut res  = ReqWeights::new(None,None,None,None,None,None,None,None );;
[INFO] [stdout]      |                                                                             ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> src/metropolis.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |         while true {
[INFO] [stdout]     |         ^^^^^^^^^^ help: use `loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CH_CAM` should have an upper camel case name
[INFO] [stdout]    --> src/metropolis.rs:551:9
[INFO] [stdout]     |
[INFO] [stdout] 551 |         CH_CAM = 0,
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to upper camel case: `ChCam`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CH_LIGHT` should have an upper camel case name
[INFO] [stdout]    --> src/metropolis.rs:552:9
[INFO] [stdout]     |
[INFO] [stdout] 552 |         CH_LIGHT = 1,
[INFO] [stdout]     |         ^^^^^^^^ help: convert the identifier to upper camel case: `ChLight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CH_MERGE` should have an upper camel case name
[INFO] [stdout]    --> src/metropolis.rs:553:9
[INFO] [stdout]     |
[INFO] [stdout] 553 |         CH_MERGE = 2,
[INFO] [stdout]     |         ^^^^^^^^ help: convert the identifier to upper camel case: `ChMerge`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> src/volumentricpathtracer.rs:356:13
[INFO] [stdout]     |
[INFO] [stdout] 356 |             while true {
[INFO] [stdout]     |             ^^^^^^^^^^ help: use `loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/materials.rs:1444:10
[INFO] [stdout]      |
[INFO] [stdout] 1444 |         };
[INFO] [stdout]      |          ^ help: remove this semicolon
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/materials.rs:1609:10
[INFO] [stdout]      |
[INFO] [stdout] 1609 |         };
[INFO] [stdout]      |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `New_Interface_AreaLightType` should have an upper camel case name
[INFO] [stdout]    --> src/Lights.rs:383:5
[INFO] [stdout]     |
[INFO] [stdout] 383 |     New_Interface_AreaLightType(New_Interface_AreaLight),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `NewInterfaceAreaLightType`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `New_Interface_AreaLight` should have an upper camel case name
[INFO] [stdout]     --> src/Lights.rs:1077:12
[INFO] [stdout]      |
[INFO] [stdout] 1077 | pub struct New_Interface_AreaLight {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `NewInterfaceAreaLight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/test_materials.rs:491:39
[INFO] [stdout]     |
[INFO] [stdout] 491 |         let y = iy as f64 /  h as f64;;
[INFO] [stdout]     |                                       ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/samplerhalton.rs:194:4
[INFO] [stdout]     |
[INFO] [stdout] 194 |    ;
[INFO] [stdout]     |    ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `from_camera` should have an upper camel case name
[INFO] [stdout]    --> src/bdpt.rs:197:6
[INFO] [stdout]     |
[INFO] [stdout] 197 |      from_camera, // Radiance, 
[INFO] [stdout]     |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `FromCamera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `from_light` should have an upper camel case name
[INFO] [stdout]    --> src/bdpt.rs:198:4
[INFO] [stdout]     |
[INFO] [stdout] 198 |    from_light //  Importance  
[INFO] [stdout]     |    ^^^^^^^^^^ help: convert the identifier to upper camel case: `FromLight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/bdpt.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |             let b =  v *    d2.sqrt();;
[INFO] [stdout]     |                                       ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/bdpt.rs:584:37
[INFO] [stdout]     |
[INFO] [stdout] 584 |        let b =  v *    invl2.sqrt();;
[INFO] [stdout]     |                                     ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `isEndpointPath` should have an upper camel case name
[INFO] [stdout]     --> src/bdpt.rs:1018:12
[INFO] [stdout]      |
[INFO] [stdout] 1018 | pub trait  isEndpointPath {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `IsEndpointPath`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/bdpt.rs:1253:35
[INFO] [stdout]      |
[INFO] [stdout] 1253 |         let b =  v *    d2.sqrt();;
[INFO] [stdout]      |                                   ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]     --> src/bdpt.rs:1270:4
[INFO] [stdout]      |
[INFO] [stdout] 1270 |    while true {
[INFO] [stdout]      |    ^^^^^^^^^^ help: use `loop`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(while_true)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/bdpt.rs:1303:18
[INFO] [stdout]      |
[INFO] [stdout] 1303 |            break;;
[INFO] [stdout]      |                  ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/bdpt.rs:1786:78
[INFO] [stdout]      |
[INFO] [stdout] 1786 |     let mut res  = ReqWeights::new(None,None,None,None,None,None,None,None );;
[INFO] [stdout]      |                                                                              ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> src/bdpt_test.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         ;
[INFO] [stdout]    |         ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `mr_2`
[INFO] [stdout]   --> src/macrorules_cheetsheet.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 | macro_rules! mr_2 { 
[INFO] [stdout]    |              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `mr_4_recursive_each`
[INFO] [stdout]   --> src/macrorules_cheetsheet.rs:27:14
[INFO] [stdout]    |
[INFO] [stdout] 27 | macro_rules! mr_4_recursive_each{
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `X`
[INFO] [stdout]   --> src/macrorules_cheetsheet.rs:34:18
[INFO] [stdout]    |
[INFO] [stdout] 34 |     macro_rules! X { () => { Y!(); } }
[INFO] [stdout]    |                  ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `Y`
[INFO] [stdout]   --> src/macrorules_cheetsheet.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 |     macro_rules! Y { () => {} }
[INFO] [stdout]    |                  ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `make_rec`
[INFO] [stdout]   --> src/macrorules_cheetsheet.rs:84:14
[INFO] [stdout]    |
[INFO] [stdout] 84 | macro_rules! make_rec {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/raytracerv2.rs:1584:5
[INFO] [stdout]      |
[INFO] [stdout] 1584 |     ;
[INFO] [stdout]      |     ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> src/bdpt2.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |             ;
[INFO] [stdout]    |             ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `from_camera` should have an upper camel case name
[INFO] [stdout]    --> src/bdpt2.rs:169:6
[INFO] [stdout]     |
[INFO] [stdout] 169 |      from_camera, // Radiance, 
[INFO] [stdout]     |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `FromCamera`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `from_light` should have an upper camel case name
[INFO] [stdout]    --> src/bdpt2.rs:170:4
[INFO] [stdout]     |
[INFO] [stdout] 170 |    from_light //  Importance  
[INFO] [stdout]     |    ^^^^^^^^^^ help: convert the identifier to upper camel case: `FromLight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/bdpt2.rs:656:39
[INFO] [stdout]     |
[INFO] [stdout] 656 |             let b =  v *    d2.sqrt();;
[INFO] [stdout]     |                                       ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/bdpt2.rs:675:37
[INFO] [stdout]     |
[INFO] [stdout] 675 |        let b =  v *    invl2.sqrt();;
[INFO] [stdout]     |                                     ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `isEndpointPath` should have an upper camel case name
[INFO] [stdout]     --> src/bdpt2.rs:1046:12
[INFO] [stdout]      |
[INFO] [stdout] 1046 | pub trait  isEndpointPath {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `IsEndpointPath`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/bdpt2.rs:1285:35
[INFO] [stdout]      |
[INFO] [stdout] 1285 |         let b =  v *    d2.sqrt();;
[INFO] [stdout]      |                                   ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]     --> src/bdpt2.rs:1312:4
[INFO] [stdout]      |
[INFO] [stdout] 1312 |    while true {
[INFO] [stdout]      |    ^^^^^^^^^^ help: use `loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/bdpt2.rs:1346:18
[INFO] [stdout]      |
[INFO] [stdout] 1346 |            break;;
[INFO] [stdout]      |                  ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]     --> src/bdpt2.rs:1369:4
[INFO] [stdout]      |
[INFO] [stdout] 1369 |    while true {
[INFO] [stdout]      |    ^^^^^^^^^^ help: use `loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/bdpt2.rs:1404:18
[INFO] [stdout]      |
[INFO] [stdout] 1404 |            break;;
[INFO] [stdout]      |                  ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/bdpt2.rs:2157:77
[INFO] [stdout]      |
[INFO] [stdout] 2157 |    let mut res  = ReqWeights::new(None,None,None,None,None,None,None,None );;
[INFO] [stdout]      |                                                                             ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> src/metropolis.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |         while true {
[INFO] [stdout]     |         ^^^^^^^^^^ help: use `loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CH_CAM` should have an upper camel case name
[INFO] [stdout]    --> src/metropolis.rs:551:9
[INFO] [stdout]     |
[INFO] [stdout] 551 |         CH_CAM = 0,
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to upper camel case: `ChCam`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CH_LIGHT` should have an upper camel case name
[INFO] [stdout]    --> src/metropolis.rs:552:9
[INFO] [stdout]     |
[INFO] [stdout] 552 |         CH_LIGHT = 1,
[INFO] [stdout]     |         ^^^^^^^^ help: convert the identifier to upper camel case: `ChLight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CH_MERGE` should have an upper camel case name
[INFO] [stdout]    --> src/metropolis.rs:553:9
[INFO] [stdout]     |
[INFO] [stdout] 553 |         CH_MERGE = 2,
[INFO] [stdout]     |         ^^^^^^^^ help: convert the identifier to upper camel case: `ChMerge`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> src/volumentricpathtracer.rs:356:13
[INFO] [stdout]     |
[INFO] [stdout] 356 |             while true {
[INFO] [stdout]     |             ^^^^^^^^^^ help: use `loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/materials.rs:1980:14
[INFO] [stdout]      |
[INFO] [stdout] 1980 |              _ => {panic!("Material Descriptor can`t be none")},
[INFO] [stdout]      |              ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/materials.rs:1980:14
[INFO] [stdout]      |
[INFO] [stdout] 1962 |             MaterialDescType::PlasticType(  plastic)=>{
[INFO] [stdout]      |             ---------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1965 |              MaterialDescType::MetaType(m)=>{
[INFO] [stdout]      |              ----------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1968 |              MaterialDescType::MirrorType(mirror)=>{
[INFO] [stdout]      |              ------------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1971 |              MaterialDescType::GlassType(glass)=>{
[INFO] [stdout]      |              ---------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1980 |              _ => {panic!("Material Descriptor can`t be none")},
[INFO] [stdout]      |              ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/sampler.rs:703:13
[INFO] [stdout]     |
[INFO] [stdout] 703 |             _=>panic!("Sampler for SamplerType"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/sampler.rs:703:13
[INFO] [stdout]     |
[INFO] [stdout] 698 |             SamplerType::UniformType(s)=>s.get1d(),
[INFO] [stdout]     |             --------------------------- matches some of the same values
[INFO] [stdout] 699 |             SamplerType::SamplerLd2Type(s)=>s.get1d(),
[INFO] [stdout]     |             ------------------------------ matches some of the same values
[INFO] [stdout] 700 |             SamplerType::SamplerLdType(s)=>s.get1d(),
[INFO] [stdout]     |             ----------------------------- matches some of the same values
[INFO] [stdout] 701 |             SamplerType::SamplerHaltonType(s)=>s.get1d(),
[INFO] [stdout]     |             --------------------------------- matches some of the same values
[INFO] [stdout] 702 |             SamplerType::SamplerMetropolisType(s)=>s.get1d(),
[INFO] [stdout] 703 |             _=>panic!("Sampler for SamplerType"),
[INFO] [stdout]     |             ^ ...and 1 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/primitives.rs:2533:13
[INFO] [stdout]      |
[INFO] [stdout] 2533 |             _=>None
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/primitives.rs:2533:13
[INFO] [stdout]      |
[INFO] [stdout] 2530 |             PrimitiveType::CylinderType(p)=>p.intersect(ray, tmin, tmax),
[INFO] [stdout]      |             ------------------------------ matches some of the same values
[INFO] [stdout] 2531 |             PrimitiveType::DiskType(p)=>p.intersect(ray, tmin, tmax),
[INFO] [stdout]      |             -------------------------- matches some of the same values
[INFO] [stdout] 2532 |             PrimitiveType::SphereType(p)=>p.intersect(ray, tmin, tmax),
[INFO] [stdout]      |             ---------------------------- matches some of the same values
[INFO] [stdout] 2533 |             _=>None
[INFO] [stdout]      |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/primitives.rs:2541:13
[INFO] [stdout]      |
[INFO] [stdout] 2541 |             _=>panic!("")
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/primitives.rs:2541:13
[INFO] [stdout]      |
[INFO] [stdout] 2538 |             PrimitiveType::CylinderType(p)=>p.area(),
[INFO] [stdout]      |             ------------------------------ matches some of the same values
[INFO] [stdout] 2539 |             PrimitiveType::DiskType(p)=>p.area(),
[INFO] [stdout]      |             -------------------------- matches some of the same values
[INFO] [stdout] 2540 |             PrimitiveType::SphereType(p)=>p.area(),
[INFO] [stdout]      |             ---------------------------- matches some of the same values
[INFO] [stdout] 2541 |             _=>panic!("")
[INFO] [stdout]      |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/primitives.rs:2556:13
[INFO] [stdout]      |
[INFO] [stdout] 2556 |             _=>panic!("")
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/primitives.rs:2556:13
[INFO] [stdout]      |
[INFO] [stdout] 2552 |            PrimitiveType::SphereType(p)=>p.intersect_occlusion(ray, target),
[INFO] [stdout]      |            ---------------------------- matches some of the same values
[INFO] [stdout] 2553 |            PrimitiveType::DiskType(p)=>p.intersect_occlusion(ray, target),
[INFO] [stdout]      |            -------------------------- matches some of the same values
[INFO] [stdout] 2554 |             PrimitiveType::CylinderType(p)=>p.intersect_occlusion(ray, target),
[INFO] [stdout]      |             ------------------------------ matches some of the same values
[INFO] [stdout] 2555 |        
[INFO] [stdout] 2556 |             _=>panic!("")
[INFO] [stdout]      |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/primitives.rs:2581:15
[INFO] [stdout]      |
[INFO] [stdout] 2581 |               _=>panic!("")
[INFO] [stdout]      |               ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/primitives.rs:2581:15
[INFO] [stdout]      |
[INFO] [stdout] 2578 |             PrimitiveType::CylinderType(p)=>p.sample(psample),
[INFO] [stdout]      |             ------------------------------ matches some of the same values
[INFO] [stdout] 2579 |             PrimitiveType::DiskType(p)=>p.sample(psample),
[INFO] [stdout]      |             -------------------------- matches some of the same values
[INFO] [stdout] 2580 |             PrimitiveType::SphereType(p)=>p.sample_ref(phit, psample),
[INFO] [stdout]      |             ---------------------------- matches some of the same values
[INFO] [stdout] 2581 |               _=>panic!("")
[INFO] [stdout]      |               ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/primitives.rs:2590:13
[INFO] [stdout]      |
[INFO] [stdout] 2590 |             _=>panic!("")
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/primitives.rs:2590:13
[INFO] [stdout]      |
[INFO] [stdout] 2587 |           PrimitiveType::CylinderType(p)=>p.sample(psample),
[INFO] [stdout]      |           ------------------------------ matches some of the same values
[INFO] [stdout] 2588 |           PrimitiveType::DiskType(p)=>p.sample(psample),
[INFO] [stdout]      |           -------------------------- matches some of the same values
[INFO] [stdout] 2589 |           PrimitiveType::SphereType(p)=>p.sample(psample),
[INFO] [stdout]      |           ---------------------------- matches some of the same values
[INFO] [stdout] 2590 |             _=>panic!("")
[INFO] [stdout]      |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/primitives.rs:2598:13
[INFO] [stdout]      |
[INFO] [stdout] 2598 |             _=>panic!("")
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/primitives.rs:2598:13
[INFO] [stdout]      |
[INFO] [stdout] 2595 |            PrimitiveType::CylinderType(p)=>p.trafo_to_local(pworld),
[INFO] [stdout]      |            ------------------------------ matches some of the same values
[INFO] [stdout] 2596 |            PrimitiveType::DiskType(p)=>p.trafo_to_local(pworld),
[INFO] [stdout]      |            -------------------------- matches some of the same values
[INFO] [stdout] 2597 |            PrimitiveType::SphereType(p)=>p.trafo_to_local(pworld),
[INFO] [stdout]      |            ---------------------------- matches some of the same values
[INFO] [stdout] 2598 |             _=>panic!("")
[INFO] [stdout]      |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/primitives.rs:2606:13
[INFO] [stdout]      |
[INFO] [stdout] 2606 |             _=>panic!("")
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/primitives.rs:2606:13
[INFO] [stdout]      |
[INFO] [stdout] 2603 |              PrimitiveType::CylinderType(p)=>p.trafo_to_world(plocal),
[INFO] [stdout]      |              ------------------------------ matches some of the same values
[INFO] [stdout] 2604 |              PrimitiveType::DiskType(p)=>p.trafo_to_world(plocal),
[INFO] [stdout]      |              -------------------------- matches some of the same values
[INFO] [stdout] 2605 |              PrimitiveType::SphereType(p)=>p.trafo_to_world(plocal),
[INFO] [stdout]      |              ---------------------------- matches some of the same values
[INFO] [stdout] 2606 |             _=>panic!("")
[INFO] [stdout]      |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/primitives.rs:2614:13
[INFO] [stdout]      |
[INFO] [stdout] 2614 |             _=>panic!("")
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/primitives.rs:2614:13
[INFO] [stdout]      |
[INFO] [stdout] 2611 |            PrimitiveType::CylinderType(p)=>p.trafo_vec_to_local(pworld),
[INFO] [stdout]      |            ------------------------------ matches some of the same values
[INFO] [stdout] 2612 |            PrimitiveType::DiskType(p)=>p.trafo_vec_to_local(pworld),
[INFO] [stdout]      |            -------------------------- matches some of the same values
[INFO] [stdout] 2613 |            PrimitiveType::SphereType(p)=>p.trafo_vec_to_local(pworld),
[INFO] [stdout]      |            ---------------------------- matches some of the same values
[INFO] [stdout] 2614 |             _=>panic!("")
[INFO] [stdout]      |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/primitives.rs:2622:13
[INFO] [stdout]      |
[INFO] [stdout] 2622 |             _=>panic!("")
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/primitives.rs:2622:13
[INFO] [stdout]      |
[INFO] [stdout] 2619 |              PrimitiveType::CylinderType(p)=>p.trafo_vec_to_world(plocal),
[INFO] [stdout]      |              ------------------------------ matches some of the same values
[INFO] [stdout] 2620 |              PrimitiveType::DiskType(p)=>p.trafo_vec_to_world(plocal),
[INFO] [stdout]      |              -------------------------- matches some of the same values
[INFO] [stdout] 2621 |              PrimitiveType::SphereType(p)=>p.trafo_vec_to_world(plocal),
[INFO] [stdout]      |              ---------------------------- matches some of the same values
[INFO] [stdout] 2622 |             _=>panic!("")
[INFO] [stdout]      |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/materials.rs:1980:14
[INFO] [stdout]      |
[INFO] [stdout] 1980 |              _ => {panic!("Material Descriptor can`t be none")},
[INFO] [stdout]      |              ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/materials.rs:1980:14
[INFO] [stdout]      |
[INFO] [stdout] 1962 |             MaterialDescType::PlasticType(  plastic)=>{
[INFO] [stdout]      |             ---------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1965 |              MaterialDescType::MetaType(m)=>{
[INFO] [stdout]      |              ----------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1968 |              MaterialDescType::MirrorType(mirror)=>{
[INFO] [stdout]      |              ------------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1971 |              MaterialDescType::GlassType(glass)=>{
[INFO] [stdout]      |              ---------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1980 |              _ => {panic!("Material Descriptor can`t be none")},
[INFO] [stdout]      |              ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]    --> src/metropolis.rs:611:9
[INFO] [stdout]     |
[INFO] [stdout] 611 |         fn get1d(&mut self) -> f64 {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] 612 |             self.get1d()
[INFO] [stdout]     |             ------------ recursive call site
[INFO] [stdout]     |
[INFO] [stdout]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout]     = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]    --> src/metropolis.rs:614:9
[INFO] [stdout]     |
[INFO] [stdout] 614 |         fn get2d(&mut self) -> (f64, f64) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] 615 |             self.get2d()
[INFO] [stdout]     |             ------------ recursive call site
[INFO] [stdout]     |
[INFO] [stdout]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `bdpt::PathCameraVtx` is more private than the item `bdpt::PathTypes::PathCameraVtxType::0`
[INFO] [stdout]    --> src/bdpt.rs:370:24
[INFO] [stdout]     |
[INFO] [stdout] 370 |     PathCameraVtxType( PathCameraVtx ),
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ field `bdpt::PathTypes::PathCameraVtxType::0` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `bdpt::PathCameraVtx` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/bdpt.rs:301:1
[INFO] [stdout]     |
[INFO] [stdout] 301 | struct PathCameraVtx (
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:992:9
[INFO] [stdout]     |
[INFO] [stdout] 992 |         file.write_all(buffer.as_bytes());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 992 |         let _ = file.write_all(buffer.as_bytes());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/sampler_test.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 211 | /     render_write(
[INFO] [stdout] 212 | |         "mi_test/pixel_distribution_2.png",
[INFO] [stdout] 213 | |         &pixels[..],
[INFO] [stdout] 214 | |         (w as u32, h as u32),
[INFO] [stdout] 215 | |     );
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 211 |     let _ = render_write(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ONE_MINUS_EPSILON_f64` should have an upper case name
[INFO] [stdout]   --> src/samplerhalton.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const ONE_MINUS_EPSILON_f64: f64 =  hexf::hexf32!("0x1.fffffep-1") as f64;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case (notice the capitalization)
[INFO] [stdout]    |
[INFO] [stdout] 11 - pub const ONE_MINUS_EPSILON_f64: f64 =  hexf::hexf32!("0x1.fffffep-1") as f64;
[INFO] [stdout] 11 + pub const ONE_MINUS_EPSILON_F64: f64 =  hexf::hexf32!("0x1.fffffep-1") as f64;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `k_Max_Resolution` should have an upper case name
[INFO] [stdout]    --> src/samplerhalton.rs:190:7
[INFO] [stdout]     |
[INFO] [stdout] 190 | const k_Max_Resolution : i32 = 128_i32;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 190 - const k_Max_Resolution : i32 = 128_i32;
[INFO] [stdout] 190 + const K_MAX_RESOLUTION : i32 = 128_i32;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/bdpt_test.rs:1136:5
[INFO] [stdout]      |
[INFO] [stdout] 1136 |     bind.commit_and_write(dirpath .join(spath).as_os_str().to_str().unwrap());
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1136 |     let _ = bind.commit_and_write(dirpath .join(spath).as_os_str().to_str().unwrap());
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/sampler.rs:703:13
[INFO] [stdout]     |
[INFO] [stdout] 703 |             _=>panic!("Sampler for SamplerType"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/sampler.rs:703:13
[INFO] [stdout]     |
[INFO] [stdout] 698 |             SamplerType::UniformType(s)=>s.get1d(),
[INFO] [stdout]     |             --------------------------- matches some of the same values
[INFO] [stdout] 699 |             SamplerType::SamplerLd2Type(s)=>s.get1d(),
[INFO] [stdout]     |             ------------------------------ matches some of the same values
[INFO] [stdout] 700 |             SamplerType::SamplerLdType(s)=>s.get1d(),
[INFO] [stdout]     |             ----------------------------- matches some of the same values
[INFO] [stdout] 701 |             SamplerType::SamplerHaltonType(s)=>s.get1d(),
[INFO] [stdout]     |             --------------------------------- matches some of the same values
[INFO] [stdout] 702 |             SamplerType::SamplerMetropolisType(s)=>s.get1d(),
[INFO] [stdout] 703 |             _=>panic!("Sampler for SamplerType"),
[INFO] [stdout]     |             ^ ...and 1 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::f64::<impl f64>::abs` that must be used
[INFO] [stdout]    --> src/primitives.rs:934:13
[INFO] [stdout]     |
[INFO] [stdout] 934 |             v0.dot(v1).abs();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: method returns a new number and does not mutate the original value
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 934 |             let _ = v0.dot(v1).abs();
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::f64::<impl f64>::abs` that must be used
[INFO] [stdout]     --> src/primitives.rs:1181:13
[INFO] [stdout]      |
[INFO] [stdout] 1181 |             v0.dot(v1).abs();
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: method returns a new number and does not mutate the original value
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1181 |             let _ = v0.dot(v1).abs();
[INFO] [stdout]      |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/raytracerv2.rs:176:10
[INFO] [stdout]     |
[INFO] [stdout] 172 |         primitives: Vec<&'a Sphere<Scalar>>,
[INFO] [stdout]     |                          -- the lifetime is named here
[INFO] [stdout] ...
[INFO] [stdout] 176 |     ) -> Scene<Scalar> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 176 |     ) -> Scene<'a, Scalar> {
[INFO] [stdout]     |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/raytracerv2.rs:1391:4
[INFO] [stdout]      |
[INFO] [stdout] 1391 |    bind.commit_and_write("raytracer3_ray_path_emission_direct_light__with_arealight.png");
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1391 |    let _ = bind.commit_and_write("raytracer3_ray_path_emission_direct_light__with_arealight.png");
[INFO] [stdout]      |    +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/threapoolexamples.rs:679:22
[INFO] [stdout]     |
[INFO] [stdout] 679 |           let at =  t.clone();
[INFO] [stdout]     |                      ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `AtomicCell<Tile>` does not implement `Clone`, so calling `clone` on `&AtomicCell<Tile>` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 679 -           let at =  t.clone();
[INFO] [stdout] 679 +           let at =  t;
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `AtomicCell<Tile>`, implement `Clone` for it
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-utils-0.8.14/src/atomic/atomic_cell.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 + #[derive(Clone)]
[INFO] [stdout]  34 | pub struct AtomicCell<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/threapoolexamples1.rs:597:9
[INFO] [stdout]     |
[INFO] [stdout] 597 |         write!(f, "pmin {:?}", self.pmin);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 597 |         let _ = write!(f, "pmin {:?}", self.pmin);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/threapoolexamples1.rs:651:9
[INFO] [stdout]     |
[INFO] [stdout] 651 |         write!(f, "pmin {:?}", self.pmin);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 651 |         let _ = write!(f, "pmin {:?}", self.pmin);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/threapoolexamples1.rs:694:9
[INFO] [stdout]     |
[INFO] [stdout] 694 |         write!(f, "pmin {:?}", self.pmin);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 694 |         let _ = write!(f, "pmin {:?}", self.pmin);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `filterTableSize` should have an upper case name
[INFO] [stdout]    --> src/threapoolexamples1.rs:376:16
[INFO] [stdout]     |
[INFO] [stdout] 376 |         const  filterTableSize:u32 =16;
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 376 -         const  filterTableSize:u32 =16;
[INFO] [stdout] 376 +         const  FILTER_TABLE_SIZE:u32 =16;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `filterTableSize` should have an upper case name
[INFO] [stdout]    --> src/threapoolexamples1.rs:400:16
[INFO] [stdout]     |
[INFO] [stdout] 400 |         const  filterTableSize:u32 =16;
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 400 -         const  filterTableSize:u32 =16;
[INFO] [stdout] 400 +         const  FILTER_TABLE_SIZE:u32 =16;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/threapoolexamples1.rs:420:22
[INFO] [stdout]     |
[INFO] [stdout] 420 |     pub fn init_tile(&self ,boundstile: BBds2i<i64>)->FilmTile{
[INFO] [stdout]     |                      ^^^^^                            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 420 |     pub fn init_tile(&self ,boundstile: BBds2i<i64>)->FilmTile<'_>{
[INFO] [stdout]     |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `n_width_voxels` should have an upper case name
[INFO] [stdout]    --> src/volumentricpathtracer.rs:100:20
[INFO] [stdout]     |
[INFO] [stdout] 100 |          pub const n_width_voxels:i64=32;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 100 -          pub const n_width_voxels:i64=32;
[INFO] [stdout] 100 +          pub const N_WIDTH_VOXELS:i64=32;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `n_height_voxels` should have an upper case name
[INFO] [stdout]    --> src/volumentricpathtracer.rs:101:20
[INFO] [stdout]     |
[INFO] [stdout] 101 |          pub const n_height_voxels:i64=32;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 101 -          pub const n_height_voxels:i64=32;
[INFO] [stdout] 101 +          pub const N_HEIGHT_VOXELS:i64=32;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `n_depth_voxels` should have an upper case name
[INFO] [stdout]    --> src/volumentricpathtracer.rs:102:20
[INFO] [stdout]     |
[INFO] [stdout] 102 |          pub const n_depth_voxels:i64=32;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 102 -          pub const n_depth_voxels:i64=32;
[INFO] [stdout] 102 +          pub const N_DEPTH_VOXELS:i64=32;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `n_total_voxels` should have an upper case name
[INFO] [stdout]    --> src/volumentricpathtracer.rs:103:20
[INFO] [stdout]     |
[INFO] [stdout] 103 |          pub const n_total_voxels:i64=n_depth_voxels*n_height_voxels*n_width_voxels;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 103 -          pub const n_total_voxels:i64=n_depth_voxels*n_height_voxels*n_width_voxels;
[INFO] [stdout] 103 +          pub const N_TOTAL_VOXELS:i64=n_depth_voxels*n_height_voxels*n_width_voxels;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `functionPtr` should have an upper case name
[INFO] [stdout]    --> src/volumentricpathtracer.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 107 | const  functionPtr :fn(i64,i64,i64, (i64, i64,i64) )->usize= |x, y, z, dims|{((dims.2 * dims.1 * z)+(dims.0 * y)+x)as usize};
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 107 - const  functionPtr :fn(i64,i64,i64, (i64, i64,i64) )->usize= |x, y, z, dims|{((dims.2 * dims.1 * z)+(dims.0 * y)+x)as usize};
[INFO] [stdout] 107 + const  FUNCTION_PTR :fn(i64,i64,i64, (i64, i64,i64) )->usize= |x, y, z, dims|{((dims.2 * dims.1 * z)+(dims.0 * y)+x)as usize};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused arithmetic operation that must be used
[INFO] [stdout]    --> src/volumentricpathtracer.rs:278:13
[INFO] [stdout]     |
[INFO] [stdout] 278 |             (sc.1 * stetha)*uv.0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ the arithmetic operation produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 278 |             let _ = (sc.1 * stetha)*uv.0;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused arithmetic operation that must be used
[INFO] [stdout]    --> src/volumentricpathtracer.rs:279:13
[INFO] [stdout]     |
[INFO] [stdout] 279 |             (sc.0 * stetha)*uv.1;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ the arithmetic operation produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 279 |             let _ = (sc.0 * stetha)*uv.1;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused arithmetic operation that must be used
[INFO] [stdout]    --> src/volumentricpathtracer.rs:280:13
[INFO] [stdout]     |
[INFO] [stdout] 280 |             sc.1 * self.prev;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ the arithmetic operation produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 280 |             let _ = sc.1 * self.prev;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/primitives.rs:2533:13
[INFO] [stdout]      |
[INFO] [stdout] 2533 |             _=>None
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/primitives.rs:2533:13
[INFO] [stdout]      |
[INFO] [stdout] 2530 |             PrimitiveType::CylinderType(p)=>p.intersect(ray, tmin, tmax),
[INFO] [stdout]      |             ------------------------------ matches some of the same values
[INFO] [stdout] 2531 |             PrimitiveType::DiskType(p)=>p.intersect(ray, tmin, tmax),
[INFO] [stdout]      |             -------------------------- matches some of the same values
[INFO] [stdout] 2532 |             PrimitiveType::SphereType(p)=>p.intersect(ray, tmin, tmax),
[INFO] [stdout]      |             ---------------------------- matches some of the same values
[INFO] [stdout] 2533 |             _=>None
[INFO] [stdout]      |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/primitives.rs:2541:13
[INFO] [stdout]      |
[INFO] [stdout] 2541 |             _=>panic!("")
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/primitives.rs:2541:13
[INFO] [stdout]      |
[INFO] [stdout] 2538 |             PrimitiveType::CylinderType(p)=>p.area(),
[INFO] [stdout]      |             ------------------------------ matches some of the same values
[INFO] [stdout] 2539 |             PrimitiveType::DiskType(p)=>p.area(),
[INFO] [stdout]      |             -------------------------- matches some of the same values
[INFO] [stdout] 2540 |             PrimitiveType::SphereType(p)=>p.area(),
[INFO] [stdout]      |             ---------------------------- matches some of the same values
[INFO] [stdout] 2541 |             _=>panic!("")
[INFO] [stdout]      |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/primitives.rs:2556:13
[INFO] [stdout]      |
[INFO] [stdout] 2556 |             _=>panic!("")
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/primitives.rs:2556:13
[INFO] [stdout]      |
[INFO] [stdout] 2552 |            PrimitiveType::SphereType(p)=>p.intersect_occlusion(ray, target),
[INFO] [stdout]      |            ---------------------------- matches some of the same values
[INFO] [stdout] 2553 |            PrimitiveType::DiskType(p)=>p.intersect_occlusion(ray, target),
[INFO] [stdout]      |            -------------------------- matches some of the same values
[INFO] [stdout] 2554 |             PrimitiveType::CylinderType(p)=>p.intersect_occlusion(ray, target),
[INFO] [stdout]      |             ------------------------------ matches some of the same values
[INFO] [stdout] 2555 |        
[INFO] [stdout] 2556 |             _=>panic!("")
[INFO] [stdout]      |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/primitives.rs:2581:15
[INFO] [stdout]      |
[INFO] [stdout] 2581 |               _=>panic!("")
[INFO] [stdout]      |               ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/primitives.rs:2581:15
[INFO] [stdout]      |
[INFO] [stdout] 2578 |             PrimitiveType::CylinderType(p)=>p.sample(psample),
[INFO] [stdout]      |             ------------------------------ matches some of the same values
[INFO] [stdout] 2579 |             PrimitiveType::DiskType(p)=>p.sample(psample),
[INFO] [stdout]      |             -------------------------- matches some of the same values
[INFO] [stdout] 2580 |             PrimitiveType::SphereType(p)=>p.sample_ref(phit, psample),
[INFO] [stdout]      |             ---------------------------- matches some of the same values
[INFO] [stdout] 2581 |               _=>panic!("")
[INFO] [stdout]      |               ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/primitives.rs:2590:13
[INFO] [stdout]      |
[INFO] [stdout] 2590 |             _=>panic!("")
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/primitives.rs:2590:13
[INFO] [stdout]      |
[INFO] [stdout] 2587 |           PrimitiveType::CylinderType(p)=>p.sample(psample),
[INFO] [stdout]      |           ------------------------------ matches some of the same values
[INFO] [stdout] 2588 |           PrimitiveType::DiskType(p)=>p.sample(psample),
[INFO] [stdout]      |           -------------------------- matches some of the same values
[INFO] [stdout] 2589 |           PrimitiveType::SphereType(p)=>p.sample(psample),
[INFO] [stdout]      |           ---------------------------- matches some of the same values
[INFO] [stdout] 2590 |             _=>panic!("")
[INFO] [stdout]      |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/primitives.rs:2598:13
[INFO] [stdout]      |
[INFO] [stdout] 2598 |             _=>panic!("")
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/primitives.rs:2598:13
[INFO] [stdout]      |
[INFO] [stdout] 2595 |            PrimitiveType::CylinderType(p)=>p.trafo_to_local(pworld),
[INFO] [stdout]      |            ------------------------------ matches some of the same values
[INFO] [stdout] 2596 |            PrimitiveType::DiskType(p)=>p.trafo_to_local(pworld),
[INFO] [stdout]      |            -------------------------- matches some of the same values
[INFO] [stdout] 2597 |            PrimitiveType::SphereType(p)=>p.trafo_to_local(pworld),
[INFO] [stdout]      |            ---------------------------- matches some of the same values
[INFO] [stdout] 2598 |             _=>panic!("")
[INFO] [stdout]      |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/primitives.rs:2606:13
[INFO] [stdout]      |
[INFO] [stdout] 2606 |             _=>panic!("")
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/primitives.rs:2606:13
[INFO] [stdout]      |
[INFO] [stdout] 2603 |              PrimitiveType::CylinderType(p)=>p.trafo_to_world(plocal),
[INFO] [stdout]      |              ------------------------------ matches some of the same values
[INFO] [stdout] 2604 |              PrimitiveType::DiskType(p)=>p.trafo_to_world(plocal),
[INFO] [stdout]      |              -------------------------- matches some of the same values
[INFO] [stdout] 2605 |              PrimitiveType::SphereType(p)=>p.trafo_to_world(plocal),
[INFO] [stdout]      |              ---------------------------- matches some of the same values
[INFO] [stdout] 2606 |             _=>panic!("")
[INFO] [stdout]      |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/primitives.rs:2614:13
[INFO] [stdout]      |
[INFO] [stdout] 2614 |             _=>panic!("")
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/primitives.rs:2614:13
[INFO] [stdout]      |
[INFO] [stdout] 2611 |            PrimitiveType::CylinderType(p)=>p.trafo_vec_to_local(pworld),
[INFO] [stdout]      |            ------------------------------ matches some of the same values
[INFO] [stdout] 2612 |            PrimitiveType::DiskType(p)=>p.trafo_vec_to_local(pworld),
[INFO] [stdout]      |            -------------------------- matches some of the same values
[INFO] [stdout] 2613 |            PrimitiveType::SphereType(p)=>p.trafo_vec_to_local(pworld),
[INFO] [stdout]      |            ---------------------------- matches some of the same values
[INFO] [stdout] 2614 |             _=>panic!("")
[INFO] [stdout]      |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/primitives.rs:2622:13
[INFO] [stdout]      |
[INFO] [stdout] 2622 |             _=>panic!("")
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/primitives.rs:2622:13
[INFO] [stdout]      |
[INFO] [stdout] 2619 |              PrimitiveType::CylinderType(p)=>p.trafo_vec_to_world(plocal),
[INFO] [stdout]      |              ------------------------------ matches some of the same values
[INFO] [stdout] 2620 |              PrimitiveType::DiskType(p)=>p.trafo_vec_to_world(plocal),
[INFO] [stdout]      |              -------------------------- matches some of the same values
[INFO] [stdout] 2621 |              PrimitiveType::SphereType(p)=>p.trafo_vec_to_world(plocal),
[INFO] [stdout]      |              ---------------------------- matches some of the same values
[INFO] [stdout] 2622 |             _=>panic!("")
[INFO] [stdout]      |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]    --> src/metropolis.rs:611:9
[INFO] [stdout]     |
[INFO] [stdout] 611 |         fn get1d(&mut self) -> f64 {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] 612 |             self.get1d()
[INFO] [stdout]     |             ------------ recursive call site
[INFO] [stdout]     |
[INFO] [stdout]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout]     = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]    --> src/metropolis.rs:614:9
[INFO] [stdout]     |
[INFO] [stdout] 614 |         fn get2d(&mut self) -> (f64, f64) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] 615 |             self.get2d()
[INFO] [stdout]     |             ------------ recursive call site
[INFO] [stdout]     |
[INFO] [stdout]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `bdpt::PathCameraVtx` is more private than the item `bdpt::PathTypes::PathCameraVtxType::0`
[INFO] [stdout]    --> src/bdpt.rs:370:24
[INFO] [stdout]     |
[INFO] [stdout] 370 |     PathCameraVtxType( PathCameraVtx ),
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ field `bdpt::PathTypes::PathCameraVtxType::0` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `bdpt::PathCameraVtx` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/bdpt.rs:301:1
[INFO] [stdout]     |
[INFO] [stdout] 301 | struct PathCameraVtx (
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:992:9
[INFO] [stdout]     |
[INFO] [stdout] 992 |         file.write_all(buffer.as_bytes());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 992 |         let _ = file.write_all(buffer.as_bytes());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::f64::<impl f64>::abs` that must be used
[INFO] [stdout]     --> src/Lights.rs:2829:13
[INFO] [stdout]      |
[INFO] [stdout] 2829 |             vnext.dot(hit.normal).abs();
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: method returns a new number and does not mutate the original value
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 2829 |             let _ = vnext.dot(hit.normal).abs();
[INFO] [stdout]      |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/imagefilm_test.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     film.commit_and_write(dirpath .join("raytracer3_film_test.png").as_os_str().to_str().unwrap());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let _ = film.commit_and_write(dirpath .join("raytracer3_film_test.png").as_os_str().to_str().unwrap());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/imagefilm_test.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     filmbox.commit_and_write(   dirpath .join("raytracer3_film_box_test.png").as_os_str().to_str().unwrap() );
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let _ = filmbox.commit_and_write(   dirpath .join("raytracer3_film_box_test.png").as_os_str().to_str().unwrap() );
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/imagefilm_test.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     filmtriangle.commit_and_write( dirpath .join("raytracer3_film_triangle_test.png").as_os_str().to_str().unwrap());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 97 |     let _ = filmtriangle.commit_and_write( dirpath .join("raytracer3_film_triangle_test.png").as_os_str().to_str().unwrap());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/imagefilm_test.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     filmlanczos.commit_and_write( dirpath .join("raytracer3_film_lanczos_test.png").as_os_str().to_str().unwrap());
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let _ = filmlanczos.commit_and_write( dirpath .join("raytracer3_film_lanczos_test.png").as_os_str().to_str().unwrap());
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/imagefilm_test.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |             film.commit_and_write(dirpath .join(spath).as_os_str().to_str().unwrap());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let _ = film.commit_and_write(dirpath .join(spath).as_os_str().to_str().unwrap());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/imagefilm_test.rs:204:13
[INFO] [stdout]     |
[INFO] [stdout] 204 |             film.commit_and_write(dirpath .join(spath).as_os_str().to_str().unwrap());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 204 |             let _ = film.commit_and_write(dirpath .join(spath).as_os_str().to_str().unwrap());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/sampler_test.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 211 | /     render_write(
[INFO] [stdout] 212 | |         "mi_test/pixel_distribution_2.png",
[INFO] [stdout] 213 | |         &pixels[..],
[INFO] [stdout] 214 | |         (w as u32, h as u32),
[INFO] [stdout] 215 | |     );
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 211 |     let _ = render_write(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/sampler_test.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 |     render_testfilm(film, &mut sampler);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 232 |     let _ = render_testfilm(film, &mut sampler);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ONE_MINUS_EPSILON_f64` should have an upper case name
[INFO] [stdout]   --> src/samplerhalton.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const ONE_MINUS_EPSILON_f64: f64 =  hexf::hexf32!("0x1.fffffep-1") as f64;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case (notice the capitalization)
[INFO] [stdout]    |
[INFO] [stdout] 11 - pub const ONE_MINUS_EPSILON_f64: f64 =  hexf::hexf32!("0x1.fffffep-1") as f64;
[INFO] [stdout] 11 + pub const ONE_MINUS_EPSILON_F64: f64 =  hexf::hexf32!("0x1.fffffep-1") as f64;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `k_Max_Resolution` should have an upper case name
[INFO] [stdout]    --> src/samplerhalton.rs:190:7
[INFO] [stdout]     |
[INFO] [stdout] 190 | const k_Max_Resolution : i32 = 128_i32;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 190 - const k_Max_Resolution : i32 = 128_i32;
[INFO] [stdout] 190 + const K_MAX_RESOLUTION : i32 = 128_i32;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/bdpt_test.rs:1136:5
[INFO] [stdout]      |
[INFO] [stdout] 1136 |     bind.commit_and_write(dirpath .join(spath).as_os_str().to_str().unwrap());
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1136 |     let _ = bind.commit_and_write(dirpath .join(spath).as_os_str().to_str().unwrap());
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: path statement with no effect
[INFO] [stdout]    --> src/macrorules_cheetsheet.rs:23:9
[INFO] [stdout]     |
[INFO] [stdout]  23 |         $a
[INFO] [stdout]     |         ^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     mr_3!(a, 1);
[INFO] [stdout]     |     ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(path_statements)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `mr_3` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::f64::<impl f64>::abs` that must be used
[INFO] [stdout]    --> src/primitives.rs:934:13
[INFO] [stdout]     |
[INFO] [stdout] 934 |             v0.dot(v1).abs();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: method returns a new number and does not mutate the original value
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 934 |             let _ = v0.dot(v1).abs();
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::f64::<impl f64>::abs` that must be used
[INFO] [stdout]     --> src/primitives.rs:1181:13
[INFO] [stdout]      |
[INFO] [stdout] 1181 |             v0.dot(v1).abs();
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: method returns a new number and does not mutate the original value
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1181 |             let _ = v0.dot(v1).abs();
[INFO] [stdout]      |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/raytracerv2.rs:176:10
[INFO] [stdout]     |
[INFO] [stdout] 172 |         primitives: Vec<&'a Sphere<Scalar>>,
[INFO] [stdout]     |                          -- the lifetime is named here
[INFO] [stdout] ...
[INFO] [stdout] 176 |     ) -> Scene<Scalar> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 176 |     ) -> Scene<'a, Scalar> {
[INFO] [stdout]     |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/raytracerv2.rs:1391:4
[INFO] [stdout]      |
[INFO] [stdout] 1391 |    bind.commit_and_write("raytracer3_ray_path_emission_direct_light__with_arealight.png");
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1391 |    let _ = bind.commit_and_write("raytracer3_ray_path_emission_direct_light__with_arealight.png");
[INFO] [stdout]      |    +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/raytracerv2.rs:1406:5
[INFO] [stdout]      |
[INFO] [stdout] 1406 |     main_render_3();
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1406 |     let _ = main_render_3();
[INFO] [stdout]      |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/threapoolexamples.rs:679:22
[INFO] [stdout]     |
[INFO] [stdout] 679 |           let at =  t.clone();
[INFO] [stdout]     |                      ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `AtomicCell<Tile>` does not implement `Clone`, so calling `clone` on `&AtomicCell<Tile>` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 679 -           let at =  t.clone();
[INFO] [stdout] 679 +           let at =  t;
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `AtomicCell<Tile>`, implement `Clone` for it
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-utils-0.8.14/src/atomic/atomic_cell.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 + #[derive(Clone)]
[INFO] [stdout]  34 | pub struct AtomicCell<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/threapoolexamples1.rs:597:9
[INFO] [stdout]     |
[INFO] [stdout] 597 |         write!(f, "pmin {:?}", self.pmin);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 597 |         let _ = write!(f, "pmin {:?}", self.pmin);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/threapoolexamples1.rs:651:9
[INFO] [stdout]     |
[INFO] [stdout] 651 |         write!(f, "pmin {:?}", self.pmin);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 651 |         let _ = write!(f, "pmin {:?}", self.pmin);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/threapoolexamples1.rs:694:9
[INFO] [stdout]     |
[INFO] [stdout] 694 |         write!(f, "pmin {:?}", self.pmin);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 694 |         let _ = write!(f, "pmin {:?}", self.pmin);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `filterTableSize` should have an upper case name
[INFO] [stdout]    --> src/threapoolexamples1.rs:376:16
[INFO] [stdout]     |
[INFO] [stdout] 376 |         const  filterTableSize:u32 =16;
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 376 -         const  filterTableSize:u32 =16;
[INFO] [stdout] 376 +         const  FILTER_TABLE_SIZE:u32 =16;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `filterTableSize` should have an upper case name
[INFO] [stdout]    --> src/threapoolexamples1.rs:400:16
[INFO] [stdout]     |
[INFO] [stdout] 400 |         const  filterTableSize:u32 =16;
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 400 -         const  filterTableSize:u32 =16;
[INFO] [stdout] 400 +         const  FILTER_TABLE_SIZE:u32 =16;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/threapoolexamples1.rs:420:22
[INFO] [stdout]     |
[INFO] [stdout] 420 |     pub fn init_tile(&self ,boundstile: BBds2i<i64>)->FilmTile{
[INFO] [stdout]     |                      ^^^^^                            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 420 |     pub fn init_tile(&self ,boundstile: BBds2i<i64>)->FilmTile<'_>{
[INFO] [stdout]     |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `n_width_voxels` should have an upper case name
[INFO] [stdout]    --> src/volumentricpathtracer.rs:100:20
[INFO] [stdout]     |
[INFO] [stdout] 100 |          pub const n_width_voxels:i64=32;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 100 -          pub const n_width_voxels:i64=32;
[INFO] [stdout] 100 +          pub const N_WIDTH_VOXELS:i64=32;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `n_height_voxels` should have an upper case name
[INFO] [stdout]    --> src/volumentricpathtracer.rs:101:20
[INFO] [stdout]     |
[INFO] [stdout] 101 |          pub const n_height_voxels:i64=32;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 101 -          pub const n_height_voxels:i64=32;
[INFO] [stdout] 101 +          pub const N_HEIGHT_VOXELS:i64=32;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `n_depth_voxels` should have an upper case name
[INFO] [stdout]    --> src/volumentricpathtracer.rs:102:20
[INFO] [stdout]     |
[INFO] [stdout] 102 |          pub const n_depth_voxels:i64=32;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 102 -          pub const n_depth_voxels:i64=32;
[INFO] [stdout] 102 +          pub const N_DEPTH_VOXELS:i64=32;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `n_total_voxels` should have an upper case name
[INFO] [stdout]    --> src/volumentricpathtracer.rs:103:20
[INFO] [stdout]     |
[INFO] [stdout] 103 |          pub const n_total_voxels:i64=n_depth_voxels*n_height_voxels*n_width_voxels;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 103 -          pub const n_total_voxels:i64=n_depth_voxels*n_height_voxels*n_width_voxels;
[INFO] [stdout] 103 +          pub const N_TOTAL_VOXELS:i64=n_depth_voxels*n_height_voxels*n_width_voxels;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `functionPtr` should have an upper case name
[INFO] [stdout]    --> src/volumentricpathtracer.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 107 | const  functionPtr :fn(i64,i64,i64, (i64, i64,i64) )->usize= |x, y, z, dims|{((dims.2 * dims.1 * z)+(dims.0 * y)+x)as usize};
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 107 - const  functionPtr :fn(i64,i64,i64, (i64, i64,i64) )->usize= |x, y, z, dims|{((dims.2 * dims.1 * z)+(dims.0 * y)+x)as usize};
[INFO] [stdout] 107 + const  FUNCTION_PTR :fn(i64,i64,i64, (i64, i64,i64) )->usize= |x, y, z, dims|{((dims.2 * dims.1 * z)+(dims.0 * y)+x)as usize};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused arithmetic operation that must be used
[INFO] [stdout]    --> src/volumentricpathtracer.rs:278:13
[INFO] [stdout]     |
[INFO] [stdout] 278 |             (sc.1 * stetha)*uv.0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ the arithmetic operation produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 278 |             let _ = (sc.1 * stetha)*uv.0;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused arithmetic operation that must be used
[INFO] [stdout]    --> src/volumentricpathtracer.rs:279:13
[INFO] [stdout]     |
[INFO] [stdout] 279 |             (sc.0 * stetha)*uv.1;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ the arithmetic operation produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 279 |             let _ = (sc.0 * stetha)*uv.1;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused arithmetic operation that must be used
[INFO] [stdout]    --> src/volumentricpathtracer.rs:280:13
[INFO] [stdout]     |
[INFO] [stdout] 280 |             sc.1 * self.prev;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ the arithmetic operation produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 280 |             let _ = sc.1 * self.prev;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 08s
[INFO] running `Command { std: "docker" "inspect" "abaf4785c32e84eec01bede19dee80529bce7302deff59c54142b50335bac6bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "abaf4785c32e84eec01bede19dee80529bce7302deff59c54142b50335bac6bc", kill_on_drop: false }`
[INFO] [stdout] abaf4785c32e84eec01bede19dee80529bce7302deff59c54142b50335bac6bc
