[INFO] cloning repository https://github.com/Mokosha/pbrt_rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Mokosha/pbrt_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMokosha%2Fpbrt_rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMokosha%2Fpbrt_rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9963b369d4bc6b9d649177bea89f3d5bc7c4af7a
[INFO] checking Mokosha/pbrt_rust against master#c8a31b780d5415358566a20b94912620a3f27067 for pr-139493-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMokosha%2Fpbrt_rust" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Mokosha/pbrt_rust
[INFO] finished tweaking git repo https://github.com/Mokosha/pbrt_rust
[INFO] tweaked toml for git repo https://github.com/Mokosha/pbrt_rust written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Mokosha/pbrt_rust on toolchain c8a31b780d5415358566a20b94912620a3f27067
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c8a31b780d5415358566a20b94912620a3f27067" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Mokosha/pbrt_rust 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" "+c8a31b780d5415358566a20b94912620a3f27067" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded hamming v0.1.3
[INFO] [stderr]   Downloaded primal-estimate v0.3.2
[INFO] [stderr]   Downloaded crossbeam-utils v0.8.12
[INFO] [stderr]   Downloaded primal-bit v0.3.1
[INFO] [stderr]   Downloaded half v2.1.0
[INFO] [stderr]   Downloaded image-webp v0.2.0
[INFO] [stderr]   Downloaded crossbeam-epoch v0.9.11
[INFO] [stderr]   Downloaded zune-jpeg v0.4.13
[INFO] [stderr]   Downloaded primal-check v0.3.3
[INFO] [stderr]   Downloaded bytemuck v1.12.2
[INFO] [stderr]   Downloaded primal-sieve v0.3.5
[INFO] [stderr]   Downloaded primal v0.3.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c8a31b780d5415358566a20b94912620a3f27067" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0a920b12ae97f546e46989596c315bcf8032955b98fcdc98fc5a7808aa0c9c63
[INFO] running `Command { std: "docker" "start" "-a" "0a920b12ae97f546e46989596c315bcf8032955b98fcdc98fc5a7808aa0c9c63", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0a920b12ae97f546e46989596c315bcf8032955b98fcdc98fc5a7808aa0c9c63", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0a920b12ae97f546e46989596c315bcf8032955b98fcdc98fc5a7808aa0c9c63", kill_on_drop: false }`
[INFO] [stdout] 0a920b12ae97f546e46989596c315bcf8032955b98fcdc98fc5a7808aa0c9c63
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c8a31b780d5415358566a20b94912620a3f27067" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 580beca2a0540d1c19cc71315e832a8cfbbf787b098b4b0ae3e112931652ec57
[INFO] running `Command { std: "docker" "start" "-a" "580beca2a0540d1c19cc71315e832a8cfbbf787b098b4b0ae3e112931652ec57", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling unicode-ident v1.0.5
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling crossbeam-utils v0.8.12
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.11
[INFO] [stderr]    Compiling libc v0.2.137
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.95
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]    Compiling bumpalo v3.11.1
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]     Checking either v1.8.0
[INFO] [stderr]    Compiling anyhow v1.0.93
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking aligned-vec v0.5.0
[INFO] [stderr]    Compiling built v0.7.5
[INFO] [stderr]    Compiling wasm-bindgen v0.2.95
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking miniz_oxide v0.5.4
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]     Checking crossbeam-deque v0.8.2
[INFO] [stderr]    Compiling rav1e v0.7.1
[INFO] [stderr]    Compiling syn v2.0.89
[INFO] [stderr]     Checking getrandom v0.2.8
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]     Checking num-integer v0.1.45
[INFO] [stderr]     Checking v_frame v0.3.8
[INFO] [stderr]     Checking weezl v0.1.8
[INFO] [stderr]     Checking flate2 v1.0.24
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking imgref v1.11.0
[INFO] [stderr]     Checking hamming v0.1.3
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]     Checking adler2 v2.0.0
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking bitstream-io v2.6.0
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking miniz_oxide v0.8.0
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]     Checking primal-bit v0.3.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking avif-serialize v0.8.2
[INFO] [stderr]     Checking half v2.1.0
[INFO] [stderr]     Checking rgb v0.8.50
[INFO] [stderr]     Checking bytemuck v1.12.2
[INFO] [stderr]     Checking zune-core v0.4.12
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]     Checking lebe v0.5.2
[INFO] [stderr]     Checking bit_field v0.10.1
[INFO] [stderr]     Checking primal-estimate v0.3.2
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking exr v1.73.0
[INFO] [stderr]     Checking gif v0.13.1
[INFO] [stderr]     Checking image-webp v0.2.0
[INFO] [stderr]     Checking primal-sieve v0.3.5
[INFO] [stderr]     Checking av1-grain v0.2.3
[INFO] [stderr]     Checking png v0.17.7
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]     Checking zune-jpeg v0.4.13
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking primal-check v0.3.3
[INFO] [stderr]     Checking primal v0.3.1
[INFO] [stderr]     Checking num_cpus v1.14.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking lazy_static v0.2.11
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.95
[INFO] [stderr]    Compiling profiling-procmacros v1.0.16
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]     Checking profiling v1.0.16
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.95
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.95
[INFO] [stderr]     Checking ravif v0.11.11
[INFO] [stderr]     Checking image v0.25.5
[INFO] [stderr]     Checking pbrt_rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/main.rs:616:17
[INFO] [stdout]     |
[INFO] [stdout] 612 |                   let st = match texname.as_ref() {
[INFO] [stdout]     |  __________________________-
[INFO] [stdout] 613 | |                     "definitely isn't this" => panic!("Oops, it is."),
[INFO] [stdout] 614 | |                     _ => panic!("Unknown color texture type: {}", texname),
[INFO] [stdout] 615 | |                 };
[INFO] [stdout]     | |_________________- any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stdout] 616 |                   (*Arc::get_mut(&mut sts).unwrap()).insert(name.clone(), st);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/main.rs:311:20
[INFO] [stdout]     |
[INFO] [stdout] 311 | fn make_area_light(name: &str, light_to_world: &Transform, params: &ParamSet,
[INFO] [stdout]     |                    ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_to_world`
[INFO] [stdout]    --> src/main.rs:311:32
[INFO] [stdout]     |
[INFO] [stdout] 311 | fn make_area_light(name: &str, light_to_world: &Transform, params: &ParamSet,
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_to_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/main.rs:311:60
[INFO] [stdout]     |
[INFO] [stdout] 311 | fn make_area_light(name: &str, light_to_world: &Transform, params: &ParamSet,
[INFO] [stdout]     |                                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shape`
[INFO] [stdout]    --> src/main.rs:312:20
[INFO] [stdout]     |
[INFO] [stdout] 312 |                    shape: Shape) -> AreaLight {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/main.rs:331:21
[INFO] [stdout]     |
[INFO] [stdout] 331 | fn make_accelerator(name: &str, prims: &Vec<Primitive>, params: &ParamSet) -> Primitive {
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prims`
[INFO] [stdout]    --> src/main.rs:331:33
[INFO] [stdout]     |
[INFO] [stdout] 331 | fn make_accelerator(name: &str, prims: &Vec<Primitive>, params: &ParamSet) -> Primitive {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_prims`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/main.rs:331:57
[INFO] [stdout]     |
[INFO] [stdout] 331 | fn make_accelerator(name: &str, prims: &Vec<Primitive>, params: &ParamSet) -> Primitive {
[INFO] [stdout]     |                                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:593:13
[INFO] [stdout]     |
[INFO] [stdout] 593 |         let mut sts = self.graphics_state.spectrum_textures();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/main.rs:590:27
[INFO] [stdout]     |
[INFO] [stdout] 590 |     fn texture(&mut self, name: &String, ty: &String, texname: &String, params: &ParamSet) {
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tp`
[INFO] [stdout]    --> src/main.rs:594:13
[INFO] [stdout]     |
[INFO] [stdout] 594 |         let tp = TextureParams::new(params, params, fts.clone(), sts.clone());
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_tp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `st`
[INFO] [stdout]    --> src/main.rs:612:21
[INFO] [stdout]     |
[INFO] [stdout] 612 |                 let st = match texname.as_ref() {
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_st`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `animated_world_to_instance`
[INFO] [stdout]    --> src/main.rs:759:13
[INFO] [stdout]     |
[INFO] [stdout] 759 |         let animated_world_to_instance =
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_animated_world_to_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `num_cores`, `quick_render`, `quiet`, `verbose`, `open_window`, and `image_file` are never read
[INFO] [stdout]   --> src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct Options {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 28 |     num_cores: usize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 29 |     quick_render: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 30 |     quiet: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 31 |     verbose: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 32 |     open_window: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 33 |     image_file: String
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `copy_from` is never used
[INFO] [stdout]   --> src/main.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Options {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn copy_from(&mut self, other: &Options) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `START_TRANSFORM_BITS` is never used
[INFO] [stdout]   --> src/main.rs:63:7
[INFO] [stdout]    |
[INFO] [stdout] 63 | const START_TRANSFORM_BITS: usize = 1 << 0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `END_TRANSFORM_BITS` is never used
[INFO] [stdout]   --> src/main.rs:64:7
[INFO] [stdout]    |
[INFO] [stdout] 64 | const END_TRANSFORM_BITS: usize = 1 << 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_animated` is never used
[INFO] [stdout]   --> src/main.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl TransformSet {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 77 |     fn is_animated(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inverse` is never used
[INFO] [stdout]   --> src/main.rs:82:4
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn inverse(ts: &TransformSet) -> TransformSet {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/main.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct RenderOptions {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 121 |     transform_start_time: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 |     transform_end_time: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 123 |
[INFO] [stdout] 124 |     filter_name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 125 |     filter_params: ParamSet,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 126 |
[INFO] [stdout] 127 |     film_name: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 128 |     film_params: ParamSet,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 129 |
[INFO] [stdout] 130 |     sampler_name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 131 |     sampler_params: ParamSet,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 132 |
[INFO] [stdout] 133 |     accelerator_name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 134 |     accelerator_params: ParamSet,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 135 |
[INFO] [stdout] 136 |     surf_integrator_name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 137 |     surf_integrator_params: ParamSet,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 138 |
[INFO] [stdout] 139 |     vol_integrator_name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 140 |     vol_integrator_params: ParamSet,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 141 |
[INFO] [stdout] 142 |     renderer_name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 143 |     renderer_params: ParamSet,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 144 |
[INFO] [stdout] 145 |     camera_name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 146 |     camera_params: ParamSet,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 147 |     camera_to_world: TransformSet,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 148 |
[INFO] [stdout] 149 |     lights: Vec<Arc<dyn Light>>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 150 |
[INFO] [stdout] 151 |     primitives: Vec<Primitive>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 152 |
[INFO] [stdout] 153 |     instances: HashMap<String, Vec<Primitive>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 154 |     current_instance: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 155 |
[INFO] [stdout] 156 |     volume_regions: Vec<Arc<dyn VolumeRegion>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RenderOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `make_renderer` and `make_scene` are never used
[INFO] [stdout]    --> src/main.rs:200:8
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl RenderOptions {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 200 |     fn make_renderer(&self) -> Arc<dyn Renderer> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     fn make_scene(&mut self) -> Scene {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/main.rs:236:5
[INFO] [stdout]     |
[INFO] [stdout] 235 | struct GraphicsState {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 236 |     material: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 237 |     material_params: ParamSet,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 238 |     float_textures: Arc<HashMap<String, Arc<dyn Texture<f32>>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 239 |     spectrum_textures: Arc<HashMap<String, Arc<dyn Texture<Spectrum>>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 240 |
[INFO] [stdout] 241 |     named_materials: HashMap<String, Arc<Material>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 242 |     current_named_material: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 243 |
[INFO] [stdout] 244 |     area_light: String,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 245 |     area_light_params: ParamSet,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 246 |
[INFO] [stdout] 247 |     reverse_orientation: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GraphicsState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `create_material`, `float_textures`, and `spectrum_textures` are never used
[INFO] [stdout]    --> src/main.rs:265:8
[INFO] [stdout]     |
[INFO] [stdout] 250 | impl GraphicsState {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 265 |     fn create_material(&self, tex_to_world: &Transform, params: &ParamSet) -> Arc<Material> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn float_textures(&self) -> Arc<HashMap<String, Arc<dyn Texture<f32>>>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     fn spectrum_textures(&self) -> Arc<HashMap<String, Arc<dyn Texture<Spectrum>>>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_material` is never used
[INFO] [stdout]    --> src/main.rs:288:4
[INFO] [stdout]     |
[INFO] [stdout] 288 | fn make_material(name: &String, _tex_to_world: &Transform, params: TextureParams) -> Material {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_light` is never used
[INFO] [stdout]    --> src/main.rs:298:4
[INFO] [stdout]     |
[INFO] [stdout] 298 | fn make_light(name: &str, light_to_world: &Transform, params: &ParamSet) -> Arc<dyn Light> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_area_light` is never used
[INFO] [stdout]    --> src/main.rs:311:4
[INFO] [stdout]     |
[INFO] [stdout] 311 | fn make_area_light(name: &str, light_to_world: &Transform, params: &ParamSet,
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_shape` is never used
[INFO] [stdout]    --> src/main.rs:316:4
[INFO] [stdout]     |
[INFO] [stdout] 316 | fn make_shape(name: &str, obj_to_world: Transform, world_to_obj: Transform,
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_accelerator` is never used
[INFO] [stdout]    --> src/main.rs:331:4
[INFO] [stdout]     |
[INFO] [stdout] 331 | fn make_accelerator(name: &str, prims: &Vec<Primitive>, params: &ParamSet) -> Primitive {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/main.rs:336:3
[INFO] [stdout]     |
[INFO] [stdout] 335 | struct Pbrt {
[INFO] [stdout]     |        ---- fields in this struct
[INFO] [stdout] 336 |   options: Options,
[INFO] [stdout]     |   ^^^^^^^
[INFO] [stdout] 337 |   current_api_state: usize,
[INFO] [stdout] 338 |   current_transforms: TransformSet,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 339 |   active_transform_bits: usize,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 340 |   named_coordinate_systems: HashMap<String, TransformSet>,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 341 |   render_options: RenderOptions,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^
[INFO] [stdout] 342 |   graphics_state: GraphicsState,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^
[INFO] [stdout] 343 |   pushed_graphics_states: Vec<GraphicsState>,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 344 |   pushed_transforms: Vec<TransformSet>,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 345 |   pushed_active_transform_bits: Vec<usize>
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/main.rs:382:8
[INFO] [stdout]     |
[INFO] [stdout] 381 | impl Pbrt {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 382 |     fn for_active_transforms<T: Fn(&mut Transform)>(&mut self, f: T) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 394 |     fn attribute_begin(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 401 |     fn attribute_end(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 412 |     fn transform_begin(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     fn transform_end(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 426 |     fn identity(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 433 |     fn translate(&mut self, dx: f32, dy: f32, dz: f32) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 440 |     fn rotate(&mut self, angle: f32, ax: f32, ay: f32, az: f32) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 447 |     fn scale(&mut self, sx: f32, sy: f32, sz: f32) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 454 |     fn lookat(&mut self,
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 467 |     fn concat_transform(&mut self, xf: [f32; 16]) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 478 |     fn transform(&mut self, xf: [f32; 16]) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 489 |     fn coordinate_system(&mut self, name: String) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 494 |     fn coord_sys_transform(&mut self, name: String) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 503 |     fn active_transform_all(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 507 |     fn active_transform_end_time(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 511 |     fn active_transform_start_time(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 515 |     fn transform_times(&mut self, start: f32, end: f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 521 |     fn pixel_filter(&mut self, name: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 527 |     fn sampler(&mut self, name: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 533 |     fn accelerator(&mut self, name: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 539 |     fn surf_integrator(&mut self, name: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 545 |     fn vol_integrator(&mut self, name: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 551 |     fn renderer(&mut self, name: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 557 |     fn camera(&mut self, name: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 566 |     fn make_named_material(&mut self, name: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 583 |     fn material(&mut self, name: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 590 |     fn texture(&mut self, name: &String, ty: &String, texname: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 622 |     fn light_source(&mut self, name: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 629 |     fn area_light_source(&mut self, name: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 635 |     fn shape(&mut self, name: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 714 |     fn object_begin(&mut self, name: String) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 725 |     fn object_end(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 735 |     fn object_instance(&mut self, name: &String) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 765 |     fn world_begin(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 774 |     fn world_end(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/main.rs:616:17
[INFO] [stdout]     |
[INFO] [stdout] 612 |                   let st = match texname.as_ref() {
[INFO] [stdout]     |  __________________________-
[INFO] [stdout] 613 | |                     "definitely isn't this" => panic!("Oops, it is."),
[INFO] [stdout] 614 | |                     _ => panic!("Unknown color texture type: {}", texname),
[INFO] [stdout] 615 | |                 };
[INFO] [stdout]     | |_________________- any code following this `match` expression is unreachable, as all arms diverge
[INFO] [stdout] 616 |                   (*Arc::get_mut(&mut sts).unwrap()).insert(name.clone(), st);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/main.rs:311:20
[INFO] [stdout]     |
[INFO] [stdout] 311 | fn make_area_light(name: &str, light_to_world: &Transform, params: &ParamSet,
[INFO] [stdout]     |                    ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_to_world`
[INFO] [stdout]    --> src/main.rs:311:32
[INFO] [stdout]     |
[INFO] [stdout] 311 | fn make_area_light(name: &str, light_to_world: &Transform, params: &ParamSet,
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_to_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/main.rs:311:60
[INFO] [stdout]     |
[INFO] [stdout] 311 | fn make_area_light(name: &str, light_to_world: &Transform, params: &ParamSet,
[INFO] [stdout]     |                                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shape`
[INFO] [stdout]    --> src/main.rs:312:20
[INFO] [stdout]     |
[INFO] [stdout] 312 |                    shape: Shape) -> AreaLight {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/main.rs:331:21
[INFO] [stdout]     |
[INFO] [stdout] 331 | fn make_accelerator(name: &str, prims: &Vec<Primitive>, params: &ParamSet) -> Primitive {
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prims`
[INFO] [stdout]    --> src/main.rs:331:33
[INFO] [stdout]     |
[INFO] [stdout] 331 | fn make_accelerator(name: &str, prims: &Vec<Primitive>, params: &ParamSet) -> Primitive {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_prims`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/main.rs:331:57
[INFO] [stdout]     |
[INFO] [stdout] 331 | fn make_accelerator(name: &str, prims: &Vec<Primitive>, params: &ParamSet) -> Primitive {
[INFO] [stdout]     |                                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:593:13
[INFO] [stdout]     |
[INFO] [stdout] 593 |         let mut sts = self.graphics_state.spectrum_textures();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/main.rs:590:27
[INFO] [stdout]     |
[INFO] [stdout] 590 |     fn texture(&mut self, name: &String, ty: &String, texname: &String, params: &ParamSet) {
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tp`
[INFO] [stdout]    --> src/main.rs:594:13
[INFO] [stdout]     |
[INFO] [stdout] 594 |         let tp = TextureParams::new(params, params, fts.clone(), sts.clone());
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_tp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `st`
[INFO] [stdout]    --> src/main.rs:612:21
[INFO] [stdout]     |
[INFO] [stdout] 612 |                 let st = match texname.as_ref() {
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_st`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `animated_world_to_instance`
[INFO] [stdout]    --> src/main.rs:759:13
[INFO] [stdout]     |
[INFO] [stdout] 759 |         let animated_world_to_instance =
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_animated_world_to_instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `num_cores`, `quick_render`, `quiet`, `verbose`, `open_window`, and `image_file` are never read
[INFO] [stdout]   --> src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct Options {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 28 |     num_cores: usize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 29 |     quick_render: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 30 |     quiet: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 31 |     verbose: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 32 |     open_window: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 33 |     image_file: String
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `copy_from` is never used
[INFO] [stdout]   --> src/main.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Options {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn copy_from(&mut self, other: &Options) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `START_TRANSFORM_BITS` is never used
[INFO] [stdout]   --> src/main.rs:63:7
[INFO] [stdout]    |
[INFO] [stdout] 63 | const START_TRANSFORM_BITS: usize = 1 << 0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `END_TRANSFORM_BITS` is never used
[INFO] [stdout]   --> src/main.rs:64:7
[INFO] [stdout]    |
[INFO] [stdout] 64 | const END_TRANSFORM_BITS: usize = 1 << 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_animated` is never used
[INFO] [stdout]   --> src/main.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl TransformSet {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 77 |     fn is_animated(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inverse` is never used
[INFO] [stdout]   --> src/main.rs:82:4
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn inverse(ts: &TransformSet) -> TransformSet {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/main.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct RenderOptions {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 121 |     transform_start_time: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 |     transform_end_time: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 123 |
[INFO] [stdout] 124 |     filter_name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 125 |     filter_params: ParamSet,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 126 |
[INFO] [stdout] 127 |     film_name: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 128 |     film_params: ParamSet,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 129 |
[INFO] [stdout] 130 |     sampler_name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 131 |     sampler_params: ParamSet,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 132 |
[INFO] [stdout] 133 |     accelerator_name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 134 |     accelerator_params: ParamSet,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 135 |
[INFO] [stdout] 136 |     surf_integrator_name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 137 |     surf_integrator_params: ParamSet,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 138 |
[INFO] [stdout] 139 |     vol_integrator_name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 140 |     vol_integrator_params: ParamSet,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 141 |
[INFO] [stdout] 142 |     renderer_name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 143 |     renderer_params: ParamSet,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 144 |
[INFO] [stdout] 145 |     camera_name: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 146 |     camera_params: ParamSet,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 147 |     camera_to_world: TransformSet,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 148 |
[INFO] [stdout] 149 |     lights: Vec<Arc<dyn Light>>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 150 |
[INFO] [stdout] 151 |     primitives: Vec<Primitive>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 152 |
[INFO] [stdout] 153 |     instances: HashMap<String, Vec<Primitive>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 154 |     current_instance: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 155 |
[INFO] [stdout] 156 |     volume_regions: Vec<Arc<dyn VolumeRegion>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RenderOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `make_renderer` and `make_scene` are never used
[INFO] [stdout]    --> src/main.rs:200:8
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl RenderOptions {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 200 |     fn make_renderer(&self) -> Arc<dyn Renderer> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     fn make_scene(&mut self) -> Scene {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/main.rs:236:5
[INFO] [stdout]     |
[INFO] [stdout] 235 | struct GraphicsState {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 236 |     material: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 237 |     material_params: ParamSet,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 238 |     float_textures: Arc<HashMap<String, Arc<dyn Texture<f32>>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 239 |     spectrum_textures: Arc<HashMap<String, Arc<dyn Texture<Spectrum>>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 240 |
[INFO] [stdout] 241 |     named_materials: HashMap<String, Arc<Material>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 242 |     current_named_material: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 243 |
[INFO] [stdout] 244 |     area_light: String,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 245 |     area_light_params: ParamSet,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 246 |
[INFO] [stdout] 247 |     reverse_orientation: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GraphicsState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `create_material`, `float_textures`, and `spectrum_textures` are never used
[INFO] [stdout]    --> src/main.rs:265:8
[INFO] [stdout]     |
[INFO] [stdout] 250 | impl GraphicsState {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 265 |     fn create_material(&self, tex_to_world: &Transform, params: &ParamSet) -> Arc<Material> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn float_textures(&self) -> Arc<HashMap<String, Arc<dyn Texture<f32>>>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     fn spectrum_textures(&self) -> Arc<HashMap<String, Arc<dyn Texture<Spectrum>>>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_material` is never used
[INFO] [stdout]    --> src/main.rs:288:4
[INFO] [stdout]     |
[INFO] [stdout] 288 | fn make_material(name: &String, _tex_to_world: &Transform, params: TextureParams) -> Material {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_light` is never used
[INFO] [stdout]    --> src/main.rs:298:4
[INFO] [stdout]     |
[INFO] [stdout] 298 | fn make_light(name: &str, light_to_world: &Transform, params: &ParamSet) -> Arc<dyn Light> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_area_light` is never used
[INFO] [stdout]    --> src/main.rs:311:4
[INFO] [stdout]     |
[INFO] [stdout] 311 | fn make_area_light(name: &str, light_to_world: &Transform, params: &ParamSet,
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_shape` is never used
[INFO] [stdout]    --> src/main.rs:316:4
[INFO] [stdout]     |
[INFO] [stdout] 316 | fn make_shape(name: &str, obj_to_world: Transform, world_to_obj: Transform,
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_accelerator` is never used
[INFO] [stdout]    --> src/main.rs:331:4
[INFO] [stdout]     |
[INFO] [stdout] 331 | fn make_accelerator(name: &str, prims: &Vec<Primitive>, params: &ParamSet) -> Primitive {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/main.rs:336:3
[INFO] [stdout]     |
[INFO] [stdout] 335 | struct Pbrt {
[INFO] [stdout]     |        ---- fields in this struct
[INFO] [stdout] 336 |   options: Options,
[INFO] [stdout]     |   ^^^^^^^
[INFO] [stdout] 337 |   current_api_state: usize,
[INFO] [stdout] 338 |   current_transforms: TransformSet,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 339 |   active_transform_bits: usize,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 340 |   named_coordinate_systems: HashMap<String, TransformSet>,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 341 |   render_options: RenderOptions,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^
[INFO] [stdout] 342 |   graphics_state: GraphicsState,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^
[INFO] [stdout] 343 |   pushed_graphics_states: Vec<GraphicsState>,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 344 |   pushed_transforms: Vec<TransformSet>,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 345 |   pushed_active_transform_bits: Vec<usize>
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/main.rs:382:8
[INFO] [stdout]     |
[INFO] [stdout] 381 | impl Pbrt {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 382 |     fn for_active_transforms<T: Fn(&mut Transform)>(&mut self, f: T) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 394 |     fn attribute_begin(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 401 |     fn attribute_end(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 412 |     fn transform_begin(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     fn transform_end(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 426 |     fn identity(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 433 |     fn translate(&mut self, dx: f32, dy: f32, dz: f32) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 440 |     fn rotate(&mut self, angle: f32, ax: f32, ay: f32, az: f32) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 447 |     fn scale(&mut self, sx: f32, sy: f32, sz: f32) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 454 |     fn lookat(&mut self,
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 467 |     fn concat_transform(&mut self, xf: [f32; 16]) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 478 |     fn transform(&mut self, xf: [f32; 16]) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 489 |     fn coordinate_system(&mut self, name: String) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 494 |     fn coord_sys_transform(&mut self, name: String) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 503 |     fn active_transform_all(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 507 |     fn active_transform_end_time(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 511 |     fn active_transform_start_time(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 515 |     fn transform_times(&mut self, start: f32, end: f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 521 |     fn pixel_filter(&mut self, name: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 527 |     fn sampler(&mut self, name: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 533 |     fn accelerator(&mut self, name: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 539 |     fn surf_integrator(&mut self, name: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 545 |     fn vol_integrator(&mut self, name: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 551 |     fn renderer(&mut self, name: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 557 |     fn camera(&mut self, name: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 566 |     fn make_named_material(&mut self, name: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 583 |     fn material(&mut self, name: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 590 |     fn texture(&mut self, name: &String, ty: &String, texname: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 622 |     fn light_source(&mut self, name: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 629 |     fn area_light_source(&mut self, name: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 635 |     fn shape(&mut self, name: &String, params: &ParamSet) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 714 |     fn object_begin(&mut self, name: String) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 725 |     fn object_end(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 735 |     fn object_instance(&mut self, name: &String) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 765 |     fn world_begin(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 774 |     fn world_end(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 56.59s
[INFO] running `Command { std: "docker" "inspect" "580beca2a0540d1c19cc71315e832a8cfbbf787b098b4b0ae3e112931652ec57", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "580beca2a0540d1c19cc71315e832a8cfbbf787b098b4b0ae3e112931652ec57", kill_on_drop: false }`
[INFO] [stdout] 580beca2a0540d1c19cc71315e832a8cfbbf787b098b4b0ae3e112931652ec57
