[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] testing cmaestrofdez/0_rust_pbr/1e0f89644cb8c03edc52b6d1510fdae1906a0faf against 1.94.0 for beta-1.95-1
[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.94.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.94.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.94.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded phf_shared v0.11.1
[INFO] [stderr]   Downloaded piston-float v1.0.1
[INFO] [stderr]   Downloaded palette_derive v0.6.1
[INFO] [stderr]   Downloaded bit_field v0.10.1
[INFO] [stderr]   Downloaded phf_generator v0.11.1
[INFO] [stderr]   Downloaded find-crate v0.6.3
[INFO] [stderr]   Downloaded phf v0.11.1
[INFO] [stderr]   Downloaded phf_macros v0.11.1
[INFO] [stderr]   Downloaded digest v0.10.5
[INFO] [stderr]   Downloaded cookie v0.16.1
[INFO] [stderr]   Downloaded cc v1.0.76
[INFO] [stderr]   Downloaded cgmath v0.18.0
[INFO] [stderr]   Downloaded half v2.1.0
[INFO] [stderr]   Downloaded actix-web-codegen v4.1.0
[INFO] [stderr]   Downloaded palette v0.6.1
[INFO] [stderr]   Downloaded weezl v0.1.7
[INFO] [stderr]   Downloaded nanorand v0.7.0
[INFO] [stderr]   Downloaded flume v0.10.14
[INFO] [stderr]   Downloaded exr v1.5.2
[INFO] [stderr]   Downloaded bytestring v1.2.0
[INFO] [stderr]   Downloaded actix-http v3.2.2
[INFO] [stderr]   Downloaded crossbeam-queue v0.3.8
[INFO] [stderr]   Downloaded crossbeam v0.8.2
[INFO] [stderr]   Downloaded hexf v0.2.1
[INFO] [stderr]   Downloaded actix-web v4.2.1
[INFO] [stderr]   Downloaded serde_json v1.0.88
[INFO] [stderr]   Downloaded jpeg-decoder v0.3.0
[INFO] [stderr]   Downloaded tokio v1.21.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.94.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9537d5f86f4fab25b8baeecaba43699061b8f6e6e8fc58da739592b285ccc61e
[INFO] running `Command { std: "docker" "start" "-a" "9537d5f86f4fab25b8baeecaba43699061b8f6e6e8fc58da739592b285ccc61e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9537d5f86f4fab25b8baeecaba43699061b8f6e6e8fc58da739592b285ccc61e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9537d5f86f4fab25b8baeecaba43699061b8f6e6e8fc58da739592b285ccc61e", kill_on_drop: false }`
[INFO] [stdout] 9537d5f86f4fab25b8baeecaba43699061b8f6e6e8fc58da739592b285ccc61e
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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.94.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 36b633f4ec5a46da6313232b4412c636d43db63f84bdf89a6209cb370d71948c
[INFO] running `Command { std: "docker" "start" "-a" "36b633f4ec5a46da6313232b4412c636d43db63f84bdf89a6209cb370d71948c", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.137
[INFO] [stderr]    Compiling proc-macro2 v1.0.47
[INFO] [stderr]    Compiling unicode-ident v1.0.5
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling syn v1.0.103
[INFO] [stderr]    Compiling futures-core v0.3.25
[INFO] [stderr]    Compiling bytes v1.2.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.14
[INFO] [stderr]    Compiling itoa v1.0.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.4
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]    Compiling tokio v1.21.2
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.13
[INFO] [stderr]    Compiling futures-sink v0.3.25
[INFO] [stderr]    Compiling serde v1.0.147
[INFO] [stderr]    Compiling typenum v1.15.0
[INFO] [stderr]    Compiling serde_derive v1.0.147
[INFO] [stderr]    Compiling futures-task v0.3.25
[INFO] [stderr]    Compiling futures-util v0.3.25
[INFO] [stderr]    Compiling getrandom v0.2.8
[INFO] [stderr]    Compiling jobserver v0.1.25
[INFO] [stderr]    Compiling num_cpus v1.15.0
[INFO] [stderr]    Compiling socket2 v0.4.7
[INFO] [stderr]    Compiling mio v0.8.5
[INFO] [stderr]    Compiling cc v1.0.76
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.2
[INFO] [stderr]    Compiling http v0.2.8
[INFO] [stderr]    Compiling crossbeam-channel v0.5.6
[INFO] [stderr]    Compiling miniz_oxide v0.5.4
[INFO] [stderr]    Compiling generic-array v0.14.6
[INFO] [stderr]    Compiling zstd-sys v2.0.1+zstd.1.5.2
[INFO] [stderr]    Compiling rayon-core v1.10.1
[INFO] [stderr]    Compiling flate2 v1.0.24
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling bytestring v1.2.0
[INFO] [stderr]    Compiling aho-corasick v0.7.19
[INFO] [stderr]    Compiling num-bigint v0.4.3
[INFO] [stderr]    Compiling slab v0.4.7
[INFO] [stderr]    Compiling indexmap v1.9.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling siphasher v0.3.10
[INFO] [stderr]    Compiling zstd-safe v5.0.2+zstd.1.5.2
[INFO] [stderr]    Compiling local-waker v0.1.3
[INFO] [stderr]    Compiling tinyvec v1.6.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling phf_shared v0.11.1
[INFO] [stderr]    Compiling regex v1.7.0
[INFO] [stderr]    Compiling block-buffer v0.10.3
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling ahash v0.7.6
[INFO] [stderr]    Compiling paste v1.0.9
[INFO] [stderr]    Compiling encoding_rs v0.8.31
[INFO] [stderr]    Compiling time-core v0.1.0
[INFO] [stderr]    Compiling tracing-core v0.1.30
[INFO] [stderr]    Compiling actix-service v2.0.2
[INFO] [stderr]    Compiling tracing v0.1.37
[INFO] [stderr]    Compiling rayon v1.6.0
[INFO] [stderr]    Compiling time-macros v0.2.6
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling unicode-normalization v0.1.22
[INFO] [stderr]    Compiling tokio-util v0.7.4
[INFO] [stderr]    Compiling digest v0.10.5
[INFO] [stderr]    Compiling phf_generator v0.11.1
[INFO] [stderr]    Compiling toml v0.5.10
[INFO] [stderr]    Compiling actix-utils v3.0.1
[INFO] [stderr]    Compiling brotli-decompressor v2.3.2
[INFO] [stderr]    Compiling nanorand v0.7.0
[INFO] [stderr]    Compiling spin v0.9.4
[INFO] [stderr]    Compiling cookie v0.16.1
[INFO] [stderr]    Compiling unicode-bidi v0.3.8
[INFO] [stderr]    Compiling weezl v0.1.7
[INFO] [stderr]    Compiling serde_json v1.0.88
[INFO] [stderr]    Compiling actix-macros v0.2.3
[INFO] [stderr]    Compiling pin-project-internal v1.0.12
[INFO] [stderr]    Compiling crossbeam-queue v0.3.8
[INFO] [stderr]    Compiling ryu v1.0.11
[INFO] [stderr]    Compiling sha1 v0.10.5
[INFO] [stderr]    Compiling jpeg-decoder v0.3.0
[INFO] [stderr]    Compiling phf_macros v0.11.1
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]    Compiling actix-rt v2.7.0
[INFO] [stderr]    Compiling idna v0.3.0
[INFO] [stderr]    Compiling brotli v3.3.4
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling pin-project v1.0.12
[INFO] [stderr]    Compiling flume v0.10.14
[INFO] [stderr]    Compiling find-crate v0.6.3
[INFO] [stderr]    Compiling actix-codec v0.5.0
[INFO] [stderr]    Compiling h2 v0.3.15
[INFO] [stderr]    Compiling time v0.3.17
[INFO] [stderr]    Compiling actix-router v0.5.1
[INFO] [stderr]    Compiling local-channel v0.1.3
[INFO] [stderr]    Compiling threadpool v1.8.1
[INFO] [stderr]    Compiling lebe v0.5.2
[INFO] [stderr]    Compiling cgmath v0.18.0
[INFO] [stderr]    Compiling palette v0.6.1
[INFO] [stderr]    Compiling bit_field v0.10.1
[INFO] [stderr]    Compiling half v2.1.0
[INFO] [stderr]    Compiling gif v0.11.4
[INFO] [stderr]    Compiling actix-web-codegen v4.1.0
[INFO] [stderr]    Compiling exr v1.5.2
[INFO] [stderr]    Compiling palette_derive v0.6.1
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling tiff v0.8.0
[INFO] [stderr]    Compiling url v2.3.1
[INFO] [stderr]    Compiling phf v0.11.1
[INFO] [stderr]    Compiling actix-server v2.1.1
[INFO] [stderr]    Compiling png v0.17.7
[INFO] [stderr]    Compiling num-complex v0.4.3
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling approx v0.4.0
[INFO] [stderr]    Compiling bytemuck v1.12.3
[INFO] [stderr]    Compiling hexf-parse v0.2.1
[INFO] [stderr]    Compiling num v0.4.0
[INFO] [stderr]    Compiling hexf v0.2.1
[INFO] [stderr]    Compiling crossbeam v0.8.2
[INFO] [stderr]    Compiling piston-float v1.0.1
[INFO] [stderr]    Compiling image v0.24.5
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling zstd v0.11.2+zstd.1.5.2
[INFO] [stderr]    Compiling actix-http v3.2.2
[INFO] [stderr]    Compiling actix-web v4.2.1
[INFO] [stderr]    Compiling 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: 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: 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: 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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 38s
[INFO] running `Command { std: "docker" "inspect" "36b633f4ec5a46da6313232b4412c636d43db63f84bdf89a6209cb370d71948c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "36b633f4ec5a46da6313232b4412c636d43db63f84bdf89a6209cb370d71948c", kill_on_drop: false }`
[INFO] [stdout] 36b633f4ec5a46da6313232b4412c636d43db63f84bdf89a6209cb370d71948c
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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.94.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d69e22a34ebc981df50141418cc02ecf4885390360237023e1cd2aea98c17497
[INFO] running `Command { std: "docker" "start" "-a" "d69e22a34ebc981df50141418cc02ecf4885390360237023e1cd2aea98c17497", kill_on_drop: false }`
[INFO] [stderr]    Compiling 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/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: 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 `test` profile [unoptimized + debuginfo] target(s) in 7.28s
[INFO] running `Command { std: "docker" "inspect" "d69e22a34ebc981df50141418cc02ecf4885390360237023e1cd2aea98c17497", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d69e22a34ebc981df50141418cc02ecf4885390360237023e1cd2aea98c17497", kill_on_drop: false }`
[INFO] [stdout] d69e22a34ebc981df50141418cc02ecf4885390360237023e1cd2aea98c17497
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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.94.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] deeaa1a35e381d8761e7cd86e3fa79efb7692c77f468f09b089829a9ab329505
[INFO] running `Command { std: "docker" "start" "-a" "deeaa1a35e381d8761e7cd86e3fa79efb7692c77f468f09b089829a9ab329505", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]     --> src/materials.rs:1444:10
[INFO] [stderr]      |
[INFO] [stderr] 1444 |         };
[INFO] [stderr]      |          ^ help: remove this semicolon
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]     --> src/materials.rs:1609:10
[INFO] [stderr]      |
[INFO] [stderr] 1609 |         };
[INFO] [stderr]      |          ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: variant `New_Interface_AreaLightType` should have an upper camel case name
[INFO] [stderr]    --> src/Lights.rs:383:5
[INFO] [stderr]     |
[INFO] [stderr] 383 |     New_Interface_AreaLightType(New_Interface_AreaLight),
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `NewInterfaceAreaLightType`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `New_Interface_AreaLight` should have an upper camel case name
[INFO] [stderr]     --> src/Lights.rs:1077:12
[INFO] [stderr]      |
[INFO] [stderr] 1077 | pub struct New_Interface_AreaLight {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `NewInterfaceAreaLight`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/test_materials.rs:491:39
[INFO] [stderr]     |
[INFO] [stderr] 491 |         let y = iy as f64 /  h as f64;;
[INFO] [stderr]     |                                       ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/samplerhalton.rs:194:4
[INFO] [stderr]     |
[INFO] [stderr] 194 |    ;
[INFO] [stderr]     |    ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: variant `from_camera` should have an upper camel case name
[INFO] [stderr]    --> src/bdpt.rs:197:6
[INFO] [stderr]     |
[INFO] [stderr] 197 |      from_camera, // Radiance, 
[INFO] [stderr]     |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `FromCamera`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `from_light` should have an upper camel case name
[INFO] [stderr]    --> src/bdpt.rs:198:4
[INFO] [stderr]     |
[INFO] [stderr] 198 |    from_light //  Importance  
[INFO] [stderr]     |    ^^^^^^^^^^ help: convert the identifier to upper camel case: `FromLight`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/bdpt.rs:565:39
[INFO] [stderr]     |
[INFO] [stderr] 565 |             let b =  v *    d2.sqrt();;
[INFO] [stderr]     |                                       ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/bdpt.rs:584:37
[INFO] [stderr]     |
[INFO] [stderr] 584 |        let b =  v *    invl2.sqrt();;
[INFO] [stderr]     |                                     ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: trait `isEndpointPath` should have an upper camel case name
[INFO] [stderr]     --> src/bdpt.rs:1018:12
[INFO] [stderr]      |
[INFO] [stderr] 1018 | pub trait  isEndpointPath {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `IsEndpointPath`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]     --> src/bdpt.rs:1253:35
[INFO] [stderr]      |
[INFO] [stderr] 1253 |         let b =  v *    d2.sqrt();;
[INFO] [stderr]      |                                   ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: denote infinite loops with `loop { ... }`
[INFO] [stderr]     --> src/bdpt.rs:1270:4
[INFO] [stderr]      |
[INFO] [stderr] 1270 |    while true {
[INFO] [stderr]      |    ^^^^^^^^^^ help: use `loop`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(while_true)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]     --> src/bdpt.rs:1303:18
[INFO] [stderr]      |
[INFO] [stderr] 1303 |            break;;
[INFO] [stderr]      |                  ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]     --> src/bdpt.rs:1786:78
[INFO] [stderr]      |
[INFO] [stderr] 1786 |     let mut res  = ReqWeights::new(None,None,None,None,None,None,None,None );;
[INFO] [stderr]      |                                                                              ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> src/bdpt_test.rs:45:9
[INFO] [stderr]    |
[INFO] [stderr] 45 |         ;
[INFO] [stderr]    |         ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `mr_2`
[INFO] [stderr]   --> src/macrorules_cheetsheet.rs:15:14
[INFO] [stderr]    |
[INFO] [stderr] 15 | macro_rules! mr_2 { 
[INFO] [stderr]    |              ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `mr_4_recursive_each`
[INFO] [stderr]   --> src/macrorules_cheetsheet.rs:27:14
[INFO] [stderr]    |
[INFO] [stderr] 27 | macro_rules! mr_4_recursive_each{
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `X`
[INFO] [stderr]   --> src/macrorules_cheetsheet.rs:34:18
[INFO] [stderr]    |
[INFO] [stderr] 34 |     macro_rules! X { () => { Y!(); } }
[INFO] [stderr]    |                  ^
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `Y`
[INFO] [stderr]   --> src/macrorules_cheetsheet.rs:35:18
[INFO] [stderr]    |
[INFO] [stderr] 35 |     macro_rules! Y { () => {} }
[INFO] [stderr]    |                  ^
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `make_rec`
[INFO] [stderr]   --> src/macrorules_cheetsheet.rs:84:14
[INFO] [stderr]    |
[INFO] [stderr] 84 | macro_rules! make_rec {
[INFO] [stderr]    |              ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]     --> src/raytracerv2.rs:1584:5
[INFO] [stderr]      |
[INFO] [stderr] 1584 |     ;
[INFO] [stderr]      |     ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> src/bdpt2.rs:58:13
[INFO] [stderr]    |
[INFO] [stderr] 58 |             ;
[INFO] [stderr]    |             ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: variant `from_camera` should have an upper camel case name
[INFO] [stderr]    --> src/bdpt2.rs:169:6
[INFO] [stderr]     |
[INFO] [stderr] 169 |      from_camera, // Radiance, 
[INFO] [stderr]     |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `FromCamera`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `from_light` should have an upper camel case name
[INFO] [stderr]    --> src/bdpt2.rs:170:4
[INFO] [stderr]     |
[INFO] [stderr] 170 |    from_light //  Importance  
[INFO] [stderr]     |    ^^^^^^^^^^ help: convert the identifier to upper camel case: `FromLight`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/bdpt2.rs:656:39
[INFO] [stderr]     |
[INFO] [stderr] 656 |             let b =  v *    d2.sqrt();;
[INFO] [stderr]     |                                       ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/bdpt2.rs:675:37
[INFO] [stderr]     |
[INFO] [stderr] 675 |        let b =  v *    invl2.sqrt();;
[INFO] [stderr]     |                                     ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: trait `isEndpointPath` should have an upper camel case name
[INFO] [stderr]     --> src/bdpt2.rs:1046:12
[INFO] [stderr]      |
[INFO] [stderr] 1046 | pub trait  isEndpointPath {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `IsEndpointPath`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]     --> src/bdpt2.rs:1285:35
[INFO] [stderr]      |
[INFO] [stderr] 1285 |         let b =  v *    d2.sqrt();;
[INFO] [stderr]      |                                   ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: denote infinite loops with `loop { ... }`
[INFO] [stderr]     --> src/bdpt2.rs:1312:4
[INFO] [stderr]      |
[INFO] [stderr] 1312 |    while true {
[INFO] [stderr]      |    ^^^^^^^^^^ help: use `loop`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]     --> src/bdpt2.rs:1346:18
[INFO] [stderr]      |
[INFO] [stderr] 1346 |            break;;
[INFO] [stderr]      |                  ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: denote infinite loops with `loop { ... }`
[INFO] [stderr]     --> src/bdpt2.rs:1369:4
[INFO] [stderr]      |
[INFO] [stderr] 1369 |    while true {
[INFO] [stderr]      |    ^^^^^^^^^^ help: use `loop`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]     --> src/bdpt2.rs:1404:18
[INFO] [stderr]      |
[INFO] [stderr] 1404 |            break;;
[INFO] [stderr]      |                  ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]     --> src/bdpt2.rs:2157:77
[INFO] [stderr]      |
[INFO] [stderr] 2157 |    let mut res  = ReqWeights::new(None,None,None,None,None,None,None,None );;
[INFO] [stderr]      |                                                                             ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: denote infinite loops with `loop { ... }`
[INFO] [stderr]    --> src/metropolis.rs:102:9
[INFO] [stderr]     |
[INFO] [stderr] 102 |         while true {
[INFO] [stderr]     |         ^^^^^^^^^^ help: use `loop`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `CH_CAM` should have an upper camel case name
[INFO] [stderr]    --> src/metropolis.rs:551:9
[INFO] [stderr]     |
[INFO] [stderr] 551 |         CH_CAM = 0,
[INFO] [stderr]     |         ^^^^^^ help: convert the identifier to upper camel case: `ChCam`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `CH_LIGHT` should have an upper camel case name
[INFO] [stderr]    --> src/metropolis.rs:552:9
[INFO] [stderr]     |
[INFO] [stderr] 552 |         CH_LIGHT = 1,
[INFO] [stderr]     |         ^^^^^^^^ help: convert the identifier to upper camel case: `ChLight`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `CH_MERGE` should have an upper camel case name
[INFO] [stderr]    --> src/metropolis.rs:553:9
[INFO] [stderr]     |
[INFO] [stderr] 553 |         CH_MERGE = 2,
[INFO] [stderr]     |         ^^^^^^^^ help: convert the identifier to upper camel case: `ChMerge`
[INFO] [stderr] 
[INFO] [stderr] warning: denote infinite loops with `loop { ... }`
[INFO] [stderr]    --> src/volumentricpathtracer.rs:356:13
[INFO] [stderr]     |
[INFO] [stderr] 356 |             while true {
[INFO] [stderr]     |             ^^^^^^^^^^ help: use `loop`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]     --> src/materials.rs:1980:14
[INFO] [stderr]      |
[INFO] [stderr] 1980 |              _ => {panic!("Material Descriptor can`t be none")},
[INFO] [stderr]      |              ^ no value can reach this
[INFO] [stderr]      |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]     --> src/materials.rs:1980:14
[INFO] [stderr]      |
[INFO] [stderr] 1962 |             MaterialDescType::PlasticType(  plastic)=>{
[INFO] [stderr]      |             ---------------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 1965 |              MaterialDescType::MetaType(m)=>{
[INFO] [stderr]      |              ----------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 1968 |              MaterialDescType::MirrorType(mirror)=>{
[INFO] [stderr]      |              ------------------------------------ matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 1971 |              MaterialDescType::GlassType(glass)=>{
[INFO] [stderr]      |              ---------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 1980 |              _ => {panic!("Material Descriptor can`t be none")},
[INFO] [stderr]      |              ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stderr]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/sampler.rs:703:13
[INFO] [stderr]     |
[INFO] [stderr] 703 |             _=>panic!("Sampler for SamplerType"),
[INFO] [stderr]     |             ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/sampler.rs:703:13
[INFO] [stderr]     |
[INFO] [stderr] 698 |             SamplerType::UniformType(s)=>s.get1d(),
[INFO] [stderr]     |             --------------------------- matches some of the same values
[INFO] [stderr] 699 |             SamplerType::SamplerLd2Type(s)=>s.get1d(),
[INFO] [stderr]     |             ------------------------------ matches some of the same values
[INFO] [stderr] 700 |             SamplerType::SamplerLdType(s)=>s.get1d(),
[INFO] [stderr]     |             ----------------------------- matches some of the same values
[INFO] [stderr] 701 |             SamplerType::SamplerHaltonType(s)=>s.get1d(),
[INFO] [stderr]     |             --------------------------------- matches some of the same values
[INFO] [stderr] 702 |             SamplerType::SamplerMetropolisType(s)=>s.get1d(),
[INFO] [stderr] 703 |             _=>panic!("Sampler for SamplerType"),
[INFO] [stderr]     |             ^ ...and 1 other patterns collectively make this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]     --> src/primitives.rs:2533:13
[INFO] [stderr]      |
[INFO] [stderr] 2533 |             _=>None
[INFO] [stderr]      |             ^ no value can reach this
[INFO] [stderr]      |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]     --> src/primitives.rs:2533:13
[INFO] [stderr]      |
[INFO] [stderr] 2530 |             PrimitiveType::CylinderType(p)=>p.intersect(ray, tmin, tmax),
[INFO] [stderr]      |             ------------------------------ matches some of the same values
[INFO] [stderr] 2531 |             PrimitiveType::DiskType(p)=>p.intersect(ray, tmin, tmax),
[INFO] [stderr]      |             -------------------------- matches some of the same values
[INFO] [stderr] 2532 |             PrimitiveType::SphereType(p)=>p.intersect(ray, tmin, tmax),
[INFO] [stderr]      |             ---------------------------- matches some of the same values
[INFO] [stderr] 2533 |             _=>None
[INFO] [stderr]      |             ^ collectively making this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]     --> src/primitives.rs:2541:13
[INFO] [stderr]      |
[INFO] [stderr] 2541 |             _=>panic!("")
[INFO] [stderr]      |             ^ no value can reach this
[INFO] [stderr]      |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]     --> src/primitives.rs:2541:13
[INFO] [stderr]      |
[INFO] [stderr] 2538 |             PrimitiveType::CylinderType(p)=>p.area(),
[INFO] [stderr]      |             ------------------------------ matches some of the same values
[INFO] [stderr] 2539 |             PrimitiveType::DiskType(p)=>p.area(),
[INFO] [stderr]      |             -------------------------- matches some of the same values
[INFO] [stderr] 2540 |             PrimitiveType::SphereType(p)=>p.area(),
[INFO] [stderr]      |             ---------------------------- matches some of the same values
[INFO] [stderr] 2541 |             _=>panic!("")
[INFO] [stderr]      |             ^ collectively making this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]     --> src/primitives.rs:2556:13
[INFO] [stderr]      |
[INFO] [stderr] 2556 |             _=>panic!("")
[INFO] [stderr]      |             ^ no value can reach this
[INFO] [stderr]      |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]     --> src/primitives.rs:2556:13
[INFO] [stderr]      |
[INFO] [stderr] 2552 |            PrimitiveType::SphereType(p)=>p.intersect_occlusion(ray, target),
[INFO] [stderr]      |            ---------------------------- matches some of the same values
[INFO] [stderr] 2553 |            PrimitiveType::DiskType(p)=>p.intersect_occlusion(ray, target),
[INFO] [stderr]      |            -------------------------- matches some of the same values
[INFO] [stderr] 2554 |             PrimitiveType::CylinderType(p)=>p.intersect_occlusion(ray, target),
[INFO] [stderr]      |             ------------------------------ matches some of the same values
[INFO] [stderr] 2555 |        
[INFO] [stderr] 2556 |             _=>panic!("")
[INFO] [stderr]      |             ^ collectively making this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]     --> src/primitives.rs:2581:15
[INFO] [stderr]      |
[INFO] [stderr] 2581 |               _=>panic!("")
[INFO] [stderr]      |               ^ no value can reach this
[INFO] [stderr]      |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]     --> src/primitives.rs:2581:15
[INFO] [stderr]      |
[INFO] [stderr] 2578 |             PrimitiveType::CylinderType(p)=>p.sample(psample),
[INFO] [stderr]      |             ------------------------------ matches some of the same values
[INFO] [stderr] 2579 |             PrimitiveType::DiskType(p)=>p.sample(psample),
[INFO] [stderr]      |             -------------------------- matches some of the same values
[INFO] [stderr] 2580 |             PrimitiveType::SphereType(p)=>p.sample_ref(phit, psample),
[INFO] [stderr]      |             ---------------------------- matches some of the same values
[INFO] [stderr] 2581 |               _=>panic!("")
[INFO] [stderr]      |               ^ collectively making this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]     --> src/primitives.rs:2590:13
[INFO] [stderr]      |
[INFO] [stderr] 2590 |             _=>panic!("")
[INFO] [stderr]      |             ^ no value can reach this
[INFO] [stderr]      |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]     --> src/primitives.rs:2590:13
[INFO] [stderr]      |
[INFO] [stderr] 2587 |           PrimitiveType::CylinderType(p)=>p.sample(psample),
[INFO] [stderr]      |           ------------------------------ matches some of the same values
[INFO] [stderr] 2588 |           PrimitiveType::DiskType(p)=>p.sample(psample),
[INFO] [stderr]      |           -------------------------- matches some of the same values
[INFO] [stderr] 2589 |           PrimitiveType::SphereType(p)=>p.sample(psample),
[INFO] [stderr]      |           ---------------------------- matches some of the same values
[INFO] [stderr] 2590 |             _=>panic!("")
[INFO] [stderr]      |             ^ collectively making this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]     --> src/primitives.rs:2598:13
[INFO] [stderr]      |
[INFO] [stderr] 2598 |             _=>panic!("")
[INFO] [stderr]      |             ^ no value can reach this
[INFO] [stderr]      |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]     --> src/primitives.rs:2598:13
[INFO] [stderr]      |
[INFO] [stderr] 2595 |            PrimitiveType::CylinderType(p)=>p.trafo_to_local(pworld),
[INFO] [stderr]      |            ------------------------------ matches some of the same values
[INFO] [stderr] 2596 |            PrimitiveType::DiskType(p)=>p.trafo_to_local(pworld),
[INFO] [stderr]      |            -------------------------- matches some of the same values
[INFO] [stderr] 2597 |            PrimitiveType::SphereType(p)=>p.trafo_to_local(pworld),
[INFO] [stderr]      |            ---------------------------- matches some of the same values
[INFO] [stderr] 2598 |             _=>panic!("")
[INFO] [stderr]      |             ^ collectively making this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]     --> src/primitives.rs:2606:13
[INFO] [stderr]      |
[INFO] [stderr] 2606 |             _=>panic!("")
[INFO] [stderr]      |             ^ no value can reach this
[INFO] [stderr]      |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]     --> src/primitives.rs:2606:13
[INFO] [stderr]      |
[INFO] [stderr] 2603 |              PrimitiveType::CylinderType(p)=>p.trafo_to_world(plocal),
[INFO] [stderr]      |              ------------------------------ matches some of the same values
[INFO] [stderr] 2604 |              PrimitiveType::DiskType(p)=>p.trafo_to_world(plocal),
[INFO] [stderr]      |              -------------------------- matches some of the same values
[INFO] [stderr] 2605 |              PrimitiveType::SphereType(p)=>p.trafo_to_world(plocal),
[INFO] [stderr]      |              ---------------------------- matches some of the same values
[INFO] [stderr] 2606 |             _=>panic!("")
[INFO] [stderr]      |             ^ collectively making this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]     --> src/primitives.rs:2614:13
[INFO] [stderr]      |
[INFO] [stderr] 2614 |             _=>panic!("")
[INFO] [stderr]      |             ^ no value can reach this
[INFO] [stderr]      |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]     --> src/primitives.rs:2614:13
[INFO] [stderr]      |
[INFO] [stderr] 2611 |            PrimitiveType::CylinderType(p)=>p.trafo_vec_to_local(pworld),
[INFO] [stderr]      |            ------------------------------ matches some of the same values
[INFO] [stderr] 2612 |            PrimitiveType::DiskType(p)=>p.trafo_vec_to_local(pworld),
[INFO] [stderr]      |            -------------------------- matches some of the same values
[INFO] [stderr] 2613 |            PrimitiveType::SphereType(p)=>p.trafo_vec_to_local(pworld),
[INFO] [stderr]      |            ---------------------------- matches some of the same values
[INFO] [stderr] 2614 |             _=>panic!("")
[INFO] [stderr]      |             ^ collectively making this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]     --> src/primitives.rs:2622:13
[INFO] [stderr]      |
[INFO] [stderr] 2622 |             _=>panic!("")
[INFO] [stderr]      |             ^ no value can reach this
[INFO] [stderr]      |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]     --> src/primitives.rs:2622:13
[INFO] [stderr]      |
[INFO] [stderr] 2619 |              PrimitiveType::CylinderType(p)=>p.trafo_vec_to_world(plocal),
[INFO] [stderr]      |              ------------------------------ matches some of the same values
[INFO] [stderr] 2620 |              PrimitiveType::DiskType(p)=>p.trafo_vec_to_world(plocal),
[INFO] [stderr]      |              -------------------------- matches some of the same values
[INFO] [stderr] 2621 |              PrimitiveType::SphereType(p)=>p.trafo_vec_to_world(plocal),
[INFO] [stderr]      |              ---------------------------- matches some of the same values
[INFO] [stderr] 2622 |             _=>panic!("")
[INFO] [stderr]      |             ^ collectively making this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: function cannot return without recursing
[INFO] [stderr]    --> src/metropolis.rs:611:9
[INFO] [stderr]     |
[INFO] [stderr] 611 |         fn get1d(&mut self) -> f64 {
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stderr] 612 |             self.get1d()
[INFO] [stderr]     |             ------------ recursive call site
[INFO] [stderr]     |
[INFO] [stderr]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stderr]     = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function cannot return without recursing
[INFO] [stderr]    --> src/metropolis.rs:614:9
[INFO] [stderr]     |
[INFO] [stderr] 614 |         fn get2d(&mut self) -> (f64, f64) {
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stderr] 615 |             self.get2d()
[INFO] [stderr]     |             ------------ recursive call site
[INFO] [stderr]     |
[INFO] [stderr]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stderr] 
[INFO] [stderr] warning: type `bdpt::PathCameraVtx` is more private than the item `bdpt::PathTypes::PathCameraVtxType::0`
[INFO] [stderr]    --> src/bdpt.rs:370:24
[INFO] [stderr]     |
[INFO] [stderr] 370 |     PathCameraVtxType( PathCameraVtx ),
[INFO] [stderr]     |                        ^^^^^^^^^^^^^ field `bdpt::PathTypes::PathCameraVtxType::0` is reachable at visibility `pub(crate)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `bdpt::PathCameraVtx` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/bdpt.rs:301:1
[INFO] [stderr]     |
[INFO] [stderr] 301 | struct PathCameraVtx (
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/main.rs:992:9
[INFO] [stderr]     |
[INFO] [stderr] 992 |         file.write_all(buffer.as_bytes());
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 992 |         let _ = file.write_all(buffer.as_bytes());
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::f64::<impl f64>::abs` that must be used
[INFO] [stderr]     --> src/Lights.rs:2829:13
[INFO] [stderr]      |
[INFO] [stderr] 2829 |             vnext.dot(hit.normal).abs();
[INFO] [stderr]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: method returns a new number and does not mutate the original value
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 2829 |             let _ = vnext.dot(hit.normal).abs();
[INFO] [stderr]      |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/imagefilm_test.rs:44:5
[INFO] [stderr]    |
[INFO] [stderr] 44 |     film.commit_and_write(dirpath .join("raytracer3_film_test.png").as_os_str().to_str().unwrap());
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 44 |     let _ = film.commit_and_write(dirpath .join("raytracer3_film_test.png").as_os_str().to_str().unwrap());
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/imagefilm_test.rs:68:5
[INFO] [stderr]    |
[INFO] [stderr] 68 |     filmbox.commit_and_write(   dirpath .join("raytracer3_film_box_test.png").as_os_str().to_str().unwrap() );
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 68 |     let _ = filmbox.commit_and_write(   dirpath .join("raytracer3_film_box_test.png").as_os_str().to_str().unwrap() );
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/imagefilm_test.rs:97:5
[INFO] [stderr]    |
[INFO] [stderr] 97 |     filmtriangle.commit_and_write( dirpath .join("raytracer3_film_triangle_test.png").as_os_str().to_str().unwrap());
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 97 |     let _ = filmtriangle.commit_and_write( dirpath .join("raytracer3_film_triangle_test.png").as_os_str().to_str().unwrap());
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/imagefilm_test.rs:130:5
[INFO] [stderr]     |
[INFO] [stderr] 130 |     filmlanczos.commit_and_write( dirpath .join("raytracer3_film_lanczos_test.png").as_os_str().to_str().unwrap());
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 130 |     let _ = filmlanczos.commit_and_write( dirpath .join("raytracer3_film_lanczos_test.png").as_os_str().to_str().unwrap());
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/imagefilm_test.rs:163:13
[INFO] [stderr]     |
[INFO] [stderr] 163 |             film.commit_and_write(dirpath .join(spath).as_os_str().to_str().unwrap());
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 163 |             let _ = film.commit_and_write(dirpath .join(spath).as_os_str().to_str().unwrap());
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/imagefilm_test.rs:204:13
[INFO] [stderr]     |
[INFO] [stderr] 204 |             film.commit_and_write(dirpath .join(spath).as_os_str().to_str().unwrap());
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 204 |             let _ = film.commit_and_write(dirpath .join(spath).as_os_str().to_str().unwrap());
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/sampler_test.rs:211:5
[INFO] [stderr]     |
[INFO] [stderr] 211 | /     render_write(
[INFO] [stderr] 212 | |         "mi_test/pixel_distribution_2.png",
[INFO] [stderr] 213 | |         &pixels[..],
[INFO] [stderr] 214 | |         (w as u32, h as u32),
[INFO] [stderr] 215 | |     );
[INFO] [stderr]     | |_____^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 211 |     let _ = render_write(
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/sampler_test.rs:232:5
[INFO] [stderr]     |
[INFO] [stderr] 232 |     render_testfilm(film, &mut sampler);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 232 |     let _ = render_testfilm(film, &mut sampler);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ONE_MINUS_EPSILON_f64` should have an upper case name
[INFO] [stderr]   --> src/samplerhalton.rs:11:11
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub const ONE_MINUS_EPSILON_f64: f64 =  hexf::hexf32!("0x1.fffffep-1") as f64;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] help: convert the identifier to upper case (notice the capitalization)
[INFO] [stderr]    |
[INFO] [stderr] 11 - pub const ONE_MINUS_EPSILON_f64: f64 =  hexf::hexf32!("0x1.fffffep-1") as f64;
[INFO] [stderr] 11 + pub const ONE_MINUS_EPSILON_F64: f64 =  hexf::hexf32!("0x1.fffffep-1") as f64;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: constant `k_Max_Resolution` should have an upper case name
[INFO] [stderr]    --> src/samplerhalton.rs:190:7
[INFO] [stderr]     |
[INFO] [stderr] 190 | const k_Max_Resolution : i32 = 128_i32;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]     |
[INFO] [stderr] 190 - const k_Max_Resolution : i32 = 128_i32;
[INFO] [stderr] 190 + const K_MAX_RESOLUTION : i32 = 128_i32;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> src/bdpt_test.rs:1136:5
[INFO] [stderr]      |
[INFO] [stderr] 1136 |     bind.commit_and_write(dirpath .join(spath).as_os_str().to_str().unwrap());
[INFO] [stderr]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1136 |     let _ = bind.commit_and_write(dirpath .join(spath).as_os_str().to_str().unwrap());
[INFO] [stderr]      |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: path statement with no effect
[INFO] [stderr]    --> src/macrorules_cheetsheet.rs:23:9
[INFO] [stderr]     |
[INFO] [stderr]  23 |         $a
[INFO] [stderr]     |         ^^
[INFO] [stderr] ...
[INFO] [stderr] 100 |     mr_3!(a, 1);
[INFO] [stderr]     |     ----------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(path_statements)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr]     = note: this warning originates in the macro `mr_3` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::f64::<impl f64>::abs` that must be used
[INFO] [stderr]    --> src/primitives.rs:934:13
[INFO] [stderr]     |
[INFO] [stderr] 934 |             v0.dot(v1).abs();
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: method returns a new number and does not mutate the original value
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 934 |             let _ = v0.dot(v1).abs();
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `core::f64::<impl f64>::abs` that must be used
[INFO] [stderr]     --> src/primitives.rs:1181:13
[INFO] [stderr]      |
[INFO] [stderr] 1181 |             v0.dot(v1).abs();
[INFO] [stderr]      |             ^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: method returns a new number and does not mutate the original value
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1181 |             let _ = v0.dot(v1).abs();
[INFO] [stderr]      |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/raytracerv2.rs:176:10
[INFO] [stderr]     |
[INFO] [stderr] 172 |         primitives: Vec<&'a Sphere<Scalar>>,
[INFO] [stderr]     |                          -- the lifetime is named here
[INFO] [stderr] ...
[INFO] [stderr] 176 |     ) -> Scene<Scalar> {
[INFO] [stderr]     |          ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 176 |     ) -> Scene<'a, Scalar> {
[INFO] [stderr]     |                +++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> src/raytracerv2.rs:1391:4
[INFO] [stderr]      |
[INFO] [stderr] 1391 |    bind.commit_and_write("raytracer3_ray_path_emission_direct_light__with_arealight.png");
[INFO] [stderr]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1391 |    let _ = bind.commit_and_write("raytracer3_ray_path_emission_direct_light__with_arealight.png");
[INFO] [stderr]      |    +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> src/raytracerv2.rs:1406:5
[INFO] [stderr]      |
[INFO] [stderr] 1406 |     main_render_3();
[INFO] [stderr]      |     ^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1406 |     let _ = main_render_3();
[INFO] [stderr]      |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/threapoolexamples.rs:679:22
[INFO] [stderr]     |
[INFO] [stderr] 679 |           let at =  t.clone();
[INFO] [stderr]     |                      ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = 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] [stderr]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr] 679 -           let at =  t.clone();
[INFO] [stderr] 679 +           let at =  t;
[INFO] [stderr]     |
[INFO] [stderr] help: if you meant to clone `AtomicCell<Tile>`, implement `Clone` for it
[INFO] [stderr]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-utils-0.8.14/src/atomic/atomic_cell.rs:33:1
[INFO] [stderr]     |
[INFO] [stderr]  33 + #[derive(Clone)]
[INFO] [stderr]  34 | pub struct AtomicCell<T> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/threapoolexamples1.rs:597:9
[INFO] [stderr]     |
[INFO] [stderr] 597 |         write!(f, "pmin {:?}", self.pmin);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 597 |         let _ = write!(f, "pmin {:?}", self.pmin);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/threapoolexamples1.rs:651:9
[INFO] [stderr]     |
[INFO] [stderr] 651 |         write!(f, "pmin {:?}", self.pmin);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 651 |         let _ = write!(f, "pmin {:?}", self.pmin);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/threapoolexamples1.rs:694:9
[INFO] [stderr]     |
[INFO] [stderr] 694 |         write!(f, "pmin {:?}", self.pmin);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 694 |         let _ = write!(f, "pmin {:?}", self.pmin);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: constant `filterTableSize` should have an upper case name
[INFO] [stderr]    --> src/threapoolexamples1.rs:376:16
[INFO] [stderr]     |
[INFO] [stderr] 376 |         const  filterTableSize:u32 =16;
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]     |
[INFO] [stderr] 376 -         const  filterTableSize:u32 =16;
[INFO] [stderr] 376 +         const  FILTER_TABLE_SIZE:u32 =16;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: constant `filterTableSize` should have an upper case name
[INFO] [stderr]    --> src/threapoolexamples1.rs:400:16
[INFO] [stderr]     |
[INFO] [stderr] 400 |         const  filterTableSize:u32 =16;
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]     |
[INFO] [stderr] 400 -         const  filterTableSize:u32 =16;
[INFO] [stderr] 400 +         const  FILTER_TABLE_SIZE:u32 =16;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/threapoolexamples1.rs:420:22
[INFO] [stderr]     |
[INFO] [stderr] 420 |     pub fn init_tile(&self ,boundstile: BBds2i<i64>)->FilmTile{
[INFO] [stderr]     |                      ^^^^^                            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 420 |     pub fn init_tile(&self ,boundstile: BBds2i<i64>)->FilmTile<'_>{
[INFO] [stderr]     |                                                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: constant `n_width_voxels` should have an upper case name
[INFO] [stderr]    --> src/volumentricpathtracer.rs:100:20
[INFO] [stderr]     |
[INFO] [stderr] 100 |          pub const n_width_voxels:i64=32;
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]     |
[INFO] [stderr] 100 -          pub const n_width_voxels:i64=32;
[INFO] [stderr] 100 +          pub const N_WIDTH_VOXELS:i64=32;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: constant `n_height_voxels` should have an upper case name
[INFO] [stderr]    --> src/volumentricpathtracer.rs:101:20
[INFO] [stderr]     |
[INFO] [stderr] 101 |          pub const n_height_voxels:i64=32;
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]     |
[INFO] [stderr] 101 -          pub const n_height_voxels:i64=32;
[INFO] [stderr] 101 +          pub const N_HEIGHT_VOXELS:i64=32;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: constant `n_depth_voxels` should have an upper case name
[INFO] [stderr]    --> src/volumentricpathtracer.rs:102:20
[INFO] [stderr]     |
[INFO] [stderr] 102 |          pub const n_depth_voxels:i64=32;
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]     |
[INFO] [stderr] 102 -          pub const n_depth_voxels:i64=32;
[INFO] [stderr] 102 +          pub const N_DEPTH_VOXELS:i64=32;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: constant `n_total_voxels` should have an upper case name
[INFO] [stderr]    --> src/volumentricpathtracer.rs:103:20
[INFO] [stderr]     |
[INFO] [stderr] 103 |          pub const n_total_voxels:i64=n_depth_voxels*n_height_voxels*n_width_voxels;
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]     |
[INFO] [stderr] 103 -          pub const n_total_voxels:i64=n_depth_voxels*n_height_voxels*n_width_voxels;
[INFO] [stderr] 103 +          pub const N_TOTAL_VOXELS:i64=n_depth_voxels*n_height_voxels*n_width_voxels;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: constant `functionPtr` should have an upper case name
[INFO] [stderr]    --> src/volumentricpathtracer.rs:107:8
[INFO] [stderr]     |
[INFO] [stderr] 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] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]     |
[INFO] [stderr] 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] [stderr] 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] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused arithmetic operation that must be used
[INFO] [stderr]    --> src/volumentricpathtracer.rs:278:13
[INFO] [stderr]     |
[INFO] [stderr] 278 |             (sc.1 * stetha)*uv.0;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^ the arithmetic operation produces a value
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 278 |             let _ = (sc.1 * stetha)*uv.0;
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused arithmetic operation that must be used
[INFO] [stderr]    --> src/volumentricpathtracer.rs:279:13
[INFO] [stderr]     |
[INFO] [stderr] 279 |             (sc.0 * stetha)*uv.1;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^ the arithmetic operation produces a value
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 279 |             let _ = (sc.0 * stetha)*uv.1;
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused arithmetic operation that must be used
[INFO] [stderr]    --> src/volumentricpathtracer.rs:280:13
[INFO] [stderr]     |
[INFO] [stderr] 280 |             sc.1 * self.prev;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^ the arithmetic operation produces a value
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 280 |             let _ = sc.1 * self.prev;
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `hello` (bin "hello" test) generated 87 warnings (run `cargo fix --bin "hello" -p hello --tests` to apply 17 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.28s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/hello-11faf6a3b5792975)
[INFO] [stdout] 
[INFO] [stdout] running 67 tests
[INFO] [stdout] test Cameras::debug_camera ... ok
[INFO] [stdout] test Cameras::debug_camera_look1 ... ok
[INFO] [stdout] test Lights::test_BackgroundAreaLight ... ok
[INFO] [stdout] test Lights::distribution_test ... ok
[INFO] [stdout] test Lights::test_spotlight ... ok
[INFO] [stdout] test Lights::distribution2d_test ... ok
[INFO] [stdout] test Cameras::testing_is_zero ... FAILED
[INFO] [stdout] test Cameras::debug_camera_look ... ok
[INFO] [stdout] test Lights::testing_area_light ... ok
[INFO] [stdout] test bdpt_test::test_bdpt_2 ... ok
[INFO] [stdout] test imagefilm_test::test_lambda ... ok
[INFO] [stdout] test bdpt_test::test_bdpt_1 ... ok
[INFO] [stdout] test imagefilm_test::test_newfilm ... FAILED
[INFO] [stdout] test macrorules_cheetsheet::examples ... ok
[INFO] [stdout] test materials::frenselConductorTest ... ok
[INFO] [stdout] test Lights::testing_area_light_new_interface ... ok
[INFO] [stdout] test metropolis::sampler_mlt_test ... ok
[INFO] [stdout] test primitives::prims::test_sphere_transformations ... ok
[INFO] [stdout] test bdpt_test::testing_bdpt_tracing ... ok
[INFO] [stdout] test primitives::test_cylinder_and_samples ... ok
[INFO] [stdout] test primitives::test_insersect_oclussion ... FAILED
[INFO] [stdout] test primitives::test_interect_sphere ... ok
[INFO] [stdout] test primitives::test_intersection ... ok
[INFO] [stdout] test primitives::test_interset_with_Scene ... FAILED
[INFO] [stdout] test primitives::test_is_hit_inside ... ok
[INFO] [stdout] test Lights::testing_area_light_background ... ok
[INFO] [stdout] test raytracerv2::test_camera_rays ... FAILED
[INFO] [stdout] test primitives::test_cylinder_and_box ... ok
[INFO] [stdout] test raytracerv2::test_scene_intersection_ray ... ok
[INFO] [stdout] test raytracerv2::test_scene_oclussion_ray_1 ... FAILED
[INFO] [stdout] test sampler_test::sample_halton ... ok
[INFO] [stdout] test sampler_test::sample_test ... ok
[INFO] [stdout] test sampler_test::sample_test2 ... ok
[INFO] [stdout] test sampler_test::sample_test3_ld ... ok
[INFO] [stdout] test sampler_test::sample_test3_ld2 ... ok
[INFO] [stdout] test raytracerv2::main_render_debug ... FAILED
[INFO] [stdout] test sampler_test::sample_test_rng ... ok
[INFO] [stdout] test test_materials::TEST_BeckmannDistribution ... ok
[INFO] [stdout] test test_materials::TEST_termgeometry ... ok
[INFO] [stdout] test test_materials::borr ... ok
[INFO] [stdout] test test_materials::some_relations_in_tangent_space ... ok
[INFO] [stdout] test test_materials::test_FresnelSchlickApproximation ... ok
[INFO] [stdout] test test_materials::test_UniformSampleCone ... ok
[INFO] [stdout] test test_materials::test_UniformSampleSemisphere ... ok
[INFO] [stdout] test test_materials::test_bsdf_world_local ... ok
[INFO] [stdout] test test_materials::test_sample_sphere ... ok
[INFO] [stdout] test test_materials::testing_glass_material ... ok
[INFO] [stdout] test bdpt2::bdpt2::debug_main_bdpt2 has been running for over 60 seconds
[INFO] [stdout] test bdpt_test::bdpt_tracing_DEBUG has been running for over 60 seconds
[INFO] [stdout] test raytracerv2::test_intersection_is_empty_interface ... ok
[INFO] [stdout] test test_materials::testing_pt_material_intersection ... ok
[INFO] [stdout] test test_metal ... ok
[INFO] [stdout] test texture::test_Texture2DSRgbMapUV ... ok
[INFO] [stdout] test texture::test_texture2du8_spherical ... ok
[INFO] [stdout] test bdpt_test::testing_bppt_tracing_and_connection has been running for over 60 seconds
[INFO] [stdout] test integrator::main_render_release has been running for over 60 seconds
[INFO] [stdout] test metropolis::meto_debug has been running for over 60 seconds
[INFO] [stdout] test sampler_test::sample_test4_ld ... FAILED
[INFO] [stdout] test test_materials::testing_path_tracer ... FAILED
[INFO] [stdout] test threapoolexamples1::par_film_tile_generator_test ... ok
[INFO] [stdout] test threapoolexamples::main_film_itr ... ok
[INFO] [stdout] test threapoolexamples1::par_film_tile_pararell_generator_test ... ok
[INFO] [stdout] test threapoolexamples::test_tile_gen ... ok
[INFO] [stdout] test threapoolexamples::main_itr ... ok
[INFO] [stdout] test volumentricpathtracer::volumetric::test_grid ... ok
[INFO] [stdout] test volumentricpathtracer::volumetric::sampler_volumetrictest ... ok
[INFO] [stdout] test threapoolexamples1::debug_par_film_tile_sample_tile_generator_debug_como_lo_hago has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "deeaa1a35e381d8761e7cd86e3fa79efb7692c77f468f09b089829a9ab329505", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "deeaa1a35e381d8761e7cd86e3fa79efb7692c77f468f09b089829a9ab329505", kill_on_drop: false }`
[INFO] [stdout] deeaa1a35e381d8761e7cd86e3fa79efb7692c77f468f09b089829a9ab329505
