[INFO] fetching crate gltf-viewer-lib 0.4.5-alpha.0...
[INFO] checking gltf-viewer-lib-0.4.5-alpha.0 against master#8a65ee08296b36342bf7c3cdc15312ccbc357227 for pr-142704
[INFO] extracting crate gltf-viewer-lib 0.4.5-alpha.0 into /workspace/builds/worker-3-tc1/source
[INFO] validating manifest of crates.io crate gltf-viewer-lib 0.4.5-alpha.0 on toolchain 8a65ee08296b36342bf7c3cdc15312ccbc357227
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8a65ee08296b36342bf7c3cdc15312ccbc357227" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate gltf-viewer-lib 0.4.5-alpha.0
[INFO] finished tweaking crates.io crate gltf-viewer-lib 0.4.5-alpha.0
[INFO] tweaked toml for crates.io crate gltf-viewer-lib 0.4.5-alpha.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate crates.io crate gltf-viewer-lib 0.4.5-alpha.0 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" "+8a65ee08296b36342bf7c3cdc15312ccbc357227" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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 simplelog v0.7.4
[INFO] [stderr]   Downloaded collision v0.20.1
[INFO] [stderr]   Downloaded serde_json v1.0.37
[INFO] [stderr]   Downloaded git-version v0.2.1
[INFO] [stderr]   Downloaded gltf-derive v0.15.0
[INFO] [stderr]   Downloaded gltf v0.15.0
[INFO] [stderr]   Downloaded gltf-json v0.15.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8a65ee08296b36342bf7c3cdc15312ccbc357227" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6782141cc4ea7194d90699d595ccdc16114eb6993a90caca79d6751153dc1078
[INFO] running `Command { std: "docker" "start" "-a" "6782141cc4ea7194d90699d595ccdc16114eb6993a90caca79d6751153dc1078", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6782141cc4ea7194d90699d595ccdc16114eb6993a90caca79d6751153dc1078", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6782141cc4ea7194d90699d595ccdc16114eb6993a90caca79d6751153dc1078", kill_on_drop: false }`
[INFO] [stdout] 6782141cc4ea7194d90699d595ccdc16114eb6993a90caca79d6751153dc1078
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8a65ee08296b36342bf7c3cdc15312ccbc357227" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7adc27d2650b20cb9908757eab800be8a4d034645186bb363917159f96835bfd
[INFO] running `Command { std: "docker" "start" "-a" "7adc27d2650b20cb9908757eab800be8a4d034645186bb363917159f96835bfd", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.48
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]     Checking lazy_static v1.2.0
[INFO] [stderr]     Checking rand_core v0.4.0
[INFO] [stderr]    Compiling proc-macro2 v0.4.26
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]     Checking cfg-if v0.1.6
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling autocfg v0.1.7
[INFO] [stderr]    Compiling cc v1.0.28
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]    Compiling serde v1.0.85
[INFO] [stderr]    Compiling num-integer v0.1.39
[INFO] [stderr]    Compiling arrayvec v0.4.10
[INFO] [stderr]     Checking byteorder v1.2.7
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking nodrop v0.1.13
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]     Checking crossbeam-utils v0.2.2
[INFO] [stderr]     Checking memoffset v0.2.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.8
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]    Compiling rayon-core v1.4.1
[INFO] [stderr]     Checking unreachable v1.0.0
[INFO] [stderr]     Checking downcast-rs v1.0.3
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling khronos_api v2.2.0
[INFO] [stderr]    Compiling xml-rs v0.7.0
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]     Checking smallvec v0.6.8
[INFO] [stderr]    Compiling ryu v0.2.7
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling num-derive v0.2.4
[INFO] [stderr]    Compiling nix v0.11.0
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling syn v1.0.14
[INFO] [stderr]     Checking stable_deref_trait v1.1.1
[INFO] [stderr]    Compiling rayon v1.0.3
[INFO] [stderr]     Checking adler32 v1.0.3
[INFO] [stderr]    Compiling num-iter v0.1.37
[INFO] [stderr]    Compiling pkg-config v0.3.14
[INFO] [stderr]    Compiling num-bigint v0.2.2
[INFO] [stderr]     Checking owning_ref v0.4.0
[INFO] [stderr]     Checking crossbeam-epoch v0.3.1
[INFO] [stderr]    Compiling parking_lot_core v0.3.1
[INFO] [stderr]    Compiling quote v0.6.11
[INFO] [stderr]     Checking rand v0.5.6
[INFO] [stderr]     Checking num_cpus v1.9.0
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling num-rational v0.2.1
[INFO] [stderr]     Checking crossbeam-deque v0.2.0
[INFO] [stderr]     Checking either v1.5.0
[INFO] [stderr]    Compiling xml-rs v0.8.0
[INFO] [stderr]    Compiling syn v0.15.26
[INFO] [stderr]    Compiling wayland-scanner v0.20.12
[INFO] [stderr]     Checking lzw v0.10.0
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]    Compiling gl_generator v0.9.0
[INFO] [stderr]    Compiling libloading v0.5.0
[INFO] [stderr]    Compiling x11-dl v2.18.3
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking memmap v0.6.2
[INFO] [stderr]     Checking lock_api v0.1.5
[INFO] [stderr]     Checking deflate v0.7.19
[INFO] [stderr]     Checking inflate v0.4.4
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking dlib v0.4.1
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking rand_jitter v0.1.4
[INFO] [stderr]    Compiling wayland-client v0.20.12
[INFO] [stderr]    Compiling wayland-protocols v0.20.12
[INFO] [stderr]     Checking wayland-sys v0.20.12
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling inflections v1.1.1
[INFO] [stderr]     Checking color_quant v1.0.1
[INFO] [stderr]     Checking wayland-commons v0.20.12
[INFO] [stderr]     Checking itoa v0.4.3
[INFO] [stderr]    Compiling cgmath v0.17.0
[INFO] [stderr]     Checking gif v0.10.1
[INFO] [stderr]     Checking png v0.14.0
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]    Compiling glutin v0.18.0
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking time v0.1.42
[INFO] [stderr]     Checking parking_lot v0.6.4
[INFO] [stderr]     Checking safe-transmute v0.10.1
[INFO] [stderr]     Checking bit-vec v0.5.0
[INFO] [stderr]     Checking percent-encoding v1.0.1
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking unicode-width v0.1.5
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking bit-set v0.5.0
[INFO] [stderr]     Checking atty v0.2.11
[INFO] [stderr]     Checking base64 v0.10.1
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking chrono v0.4.6
[INFO] [stderr]     Checking term v0.5.1
[INFO] [stderr]    Compiling gl v0.14.0
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking base64 v0.11.0
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking jpeg-decoder v0.1.15
[INFO] [stderr]     Checking simplelog v0.7.4
[INFO] [stderr]    Compiling serde_derive v1.0.85
[INFO] [stderr]    Compiling gltf-derive v0.15.0
[INFO] [stderr]     Checking tiff v0.2.2
[INFO] [stderr]     Checking smithay-client-toolkit v0.3.0
[INFO] [stderr]     Checking winit v0.17.2
[INFO] [stderr]     Checking serde_json v1.0.37
[INFO] [stderr]     Checking gltf-json v0.15.0
[INFO] [stderr]     Checking image v0.21.0
[INFO] [stderr]     Checking collision v0.20.1
[INFO] [stderr]     Checking gltf v0.15.0
[INFO] [stderr]     Checking gltf-viewer-lib v0.4.5-alpha.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/render/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use self::primitive::*;
[INFO] [stdout]    |         ------------------ but the name `Texture` in the type namespace is also re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 18 | pub use self::texture::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ the name `Texture` in the type namespace is first re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::texture::*`
[INFO] [stdout]   --> src/render/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use self::texture::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/render/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use self::primitive::*;
[INFO] [stdout]    |         ------------------ but the name `Texture` in the type namespace is also re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 18 | pub use self::texture::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ the name `Texture` in the type namespace is first re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::texture::*`
[INFO] [stdout]   --> src/render/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use self::texture::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Texture` is never constructed
[INFO] [stdout]   --> src/render/primitive.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct Texture {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Texture` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:387:67
[INFO] [stdout]     |
[INFO] [stdout] 387 |         gl::VertexAttribPointer(0, 3, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, position) as *const c_void);
[INFO] [stdout]     |                                                                   ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deref_nullptr)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:390:67
[INFO] [stdout]     |
[INFO] [stdout] 390 |         gl::VertexAttribPointer(1, 3, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, normal) as *const c_void);
[INFO] [stdout]     |                                                                   -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:393:67
[INFO] [stdout]     |
[INFO] [stdout] 393 |         gl::VertexAttribPointer(2, 4, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, tangent) as *const c_void);
[INFO] [stdout]     |                                                                   --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:396:67
[INFO] [stdout]     |
[INFO] [stdout] 396 |         gl::VertexAttribPointer(3, 2, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, tex_coord_0) as *const c_void);
[INFO] [stdout]     |                                                                   ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:399:67
[INFO] [stdout]     |
[INFO] [stdout] 399 |         gl::VertexAttribPointer(4, 2, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, tex_coord_1) as *const c_void);
[INFO] [stdout]     |                                                                   ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:402:67
[INFO] [stdout]     |
[INFO] [stdout] 402 |         gl::VertexAttribPointer(5, 4, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, color_0) as *const c_void);
[INFO] [stdout]     |                                                                   --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:406:76
[INFO] [stdout]     |
[INFO] [stdout] 406 |         gl::VertexAttribPointer(6, 4, gl::UNSIGNED_SHORT, gl::FALSE, size, offset_of!(Vertex, joints_0) as *const c_void);
[INFO] [stdout]     |                                                                            ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:409:67
[INFO] [stdout]     |
[INFO] [stdout] 409 |         gl::VertexAttribPointer(7, 4, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, weights_0) as *const c_void);
[INFO] [stdout]     |                                                                   ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/render/texture.rs:50:33
[INFO] [stdout]    |
[INFO] [stdout] 50 |                       _ => panic!(format!("unsupported image type (image: {}, mime_type: {})",
[INFO] [stdout]    |  _________________________________^
[INFO] [stdout] 51 | |                         g_img.index(), mime_type)),
[INFO] [stdout]    | |_________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 50 ~                     _ => panic!("unsupported image type (image: {}, mime_type: {})",
[INFO] [stdout] 51 ~                         g_img.index(), mime_type),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/render/texture.rs:72:37
[INFO] [stdout]    |
[INFO] [stdout] 72 |                           _ => panic!(format!("unsupported image type (image: {}, mime_type: {})",
[INFO] [stdout]    |  _____________________________________^
[INFO] [stdout] 73 | |                             g_img.index(), mime_type)),
[INFO] [stdout]    | |_____________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 72 ~                         _ => panic!("unsupported image type (image: {}, mime_type: {})",
[INFO] [stdout] 73 ~                             g_img.index(), mime_type),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/render/texture.rs:83:37
[INFO] [stdout]    |
[INFO] [stdout] 83 |                           _ => panic!(format!("unsupported image type (image: {}, mime_type: {})",
[INFO] [stdout]    |  _____________________________________^
[INFO] [stdout] 84 | |                             g_img.index(), mime_type)),
[INFO] [stdout]    | |_____________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 83 ~                         _ => panic!("unsupported image type (image: {}, mime_type: {})",
[INFO] [stdout] 84 ~                             g_img.index(), mime_type),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Texture` is never constructed
[INFO] [stdout]   --> src/render/primitive.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct Texture {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Texture` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:387:67
[INFO] [stdout]     |
[INFO] [stdout] 387 |         gl::VertexAttribPointer(0, 3, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, position) as *const c_void);
[INFO] [stdout]     |                                                                   ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deref_nullptr)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:390:67
[INFO] [stdout]     |
[INFO] [stdout] 390 |         gl::VertexAttribPointer(1, 3, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, normal) as *const c_void);
[INFO] [stdout]     |                                                                   -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:393:67
[INFO] [stdout]     |
[INFO] [stdout] 393 |         gl::VertexAttribPointer(2, 4, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, tangent) as *const c_void);
[INFO] [stdout]     |                                                                   --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:396:67
[INFO] [stdout]     |
[INFO] [stdout] 396 |         gl::VertexAttribPointer(3, 2, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, tex_coord_0) as *const c_void);
[INFO] [stdout]     |                                                                   ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:399:67
[INFO] [stdout]     |
[INFO] [stdout] 399 |         gl::VertexAttribPointer(4, 2, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, tex_coord_1) as *const c_void);
[INFO] [stdout]     |                                                                   ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:402:67
[INFO] [stdout]     |
[INFO] [stdout] 402 |         gl::VertexAttribPointer(5, 4, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, color_0) as *const c_void);
[INFO] [stdout]     |                                                                   --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:406:76
[INFO] [stdout]     |
[INFO] [stdout] 406 |         gl::VertexAttribPointer(6, 4, gl::UNSIGNED_SHORT, gl::FALSE, size, offset_of!(Vertex, joints_0) as *const c_void);
[INFO] [stdout]     |                                                                            ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:409:67
[INFO] [stdout]     |
[INFO] [stdout] 409 |         gl::VertexAttribPointer(7, 4, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, weights_0) as *const c_void);
[INFO] [stdout]     |                                                                   ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/render/texture.rs:50:33
[INFO] [stdout]    |
[INFO] [stdout] 50 |                       _ => panic!(format!("unsupported image type (image: {}, mime_type: {})",
[INFO] [stdout]    |  _________________________________^
[INFO] [stdout] 51 | |                         g_img.index(), mime_type)),
[INFO] [stdout]    | |_________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 50 ~                     _ => panic!("unsupported image type (image: {}, mime_type: {})",
[INFO] [stdout] 51 ~                         g_img.index(), mime_type),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/render/texture.rs:72:37
[INFO] [stdout]    |
[INFO] [stdout] 72 |                           _ => panic!(format!("unsupported image type (image: {}, mime_type: {})",
[INFO] [stdout]    |  _____________________________________^
[INFO] [stdout] 73 | |                             g_img.index(), mime_type)),
[INFO] [stdout]    | |_____________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 72 ~                         _ => panic!("unsupported image type (image: {}, mime_type: {})",
[INFO] [stdout] 73 ~                             g_img.index(), mime_type),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/render/texture.rs:83:37
[INFO] [stdout]    |
[INFO] [stdout] 83 |                           _ => panic!(format!("unsupported image type (image: {}, mime_type: {})",
[INFO] [stdout]    |  _____________________________________^
[INFO] [stdout] 84 | |                             g_img.index(), mime_type)),
[INFO] [stdout]    | |_____________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 83 ~                         _ => panic!("unsupported image type (image: {}, mime_type: {})",
[INFO] [stdout] 84 ~                             g_img.index(), mime_type),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::texture::*`
[INFO] [stdout]   --> src/render/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use self::texture::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::texture::*`
[INFO] [stdout]   --> src/render/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use self::texture::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `screenshot_save` and `multiscreenshot_save` are never used
[INFO] [stdout]    --> src/viewer.rs:389:12
[INFO] [stdout]     |
[INFO] [stdout] 66  | impl GltfViewer {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 389 |     pub fn screenshot_save(&mut self) -> DynamicImage {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 412 |     pub fn multiscreenshot_save(&mut self, count: u32) -> Vec<DynamicImage> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `u_DiffuseEnvSampler`, `u_SpecularEnvSampler`, `u_brdfLUT`, `u_ScaleDiffBaseMR`, `u_ScaleFGDSpec`, and `u_ScaleIBLAmbient` are never read
[INFO] [stdout]    --> src/shader.rs:228:9
[INFO] [stdout]     |
[INFO] [stdout] 214 | pub struct PbrUniformLocations {
[INFO] [stdout]     |            ------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub u_DiffuseEnvSampler: i32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 229 |     pub u_SpecularEnvSampler: i32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 230 |     pub u_brdfLUT: i32,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     pub u_ScaleDiffBaseMR: i32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 260 |     pub u_ScaleFGDSpec: i32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 261 |     pub u_ScaleIBLAmbient: i32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `flags` is never read
[INFO] [stdout]    --> src/shader.rs:266:9
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub struct PbrShader {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 265 |     pub shader: Shader,
[INFO] [stdout] 266 |     pub flags: ShaderFlags,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `images` is never read
[INFO] [stdout]  --> src/importdata.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ImportData {
[INFO] [stdout]   |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     pub images: Vec<gltf::image::Data>,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/render/scene.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct Scene {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 10 |     pub name: Option<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/render/mesh.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Mesh {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub name: Option<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Texture` is never constructed
[INFO] [stdout]   --> src/render/primitive.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct Texture {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Texture` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/render/material.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Material {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 13 |     pub index: Option<usize>, /// glTF index
[INFO] [stdout] 14 |     pub name: Option<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/render/texture.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Texture {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 20 |     pub index: usize, // glTF index
[INFO] [stdout] 21 |     pub name: Option<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:387:67
[INFO] [stdout]     |
[INFO] [stdout] 387 |         gl::VertexAttribPointer(0, 3, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, position) as *const c_void);
[INFO] [stdout]     |                                                                   ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deref_nullptr)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:390:67
[INFO] [stdout]     |
[INFO] [stdout] 390 |         gl::VertexAttribPointer(1, 3, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, normal) as *const c_void);
[INFO] [stdout]     |                                                                   -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:393:67
[INFO] [stdout]     |
[INFO] [stdout] 393 |         gl::VertexAttribPointer(2, 4, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, tangent) as *const c_void);
[INFO] [stdout]     |                                                                   --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:396:67
[INFO] [stdout]     |
[INFO] [stdout] 396 |         gl::VertexAttribPointer(3, 2, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, tex_coord_0) as *const c_void);
[INFO] [stdout]     |                                                                   ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:399:67
[INFO] [stdout]     |
[INFO] [stdout] 399 |         gl::VertexAttribPointer(4, 2, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, tex_coord_1) as *const c_void);
[INFO] [stdout]     |                                                                   ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:402:67
[INFO] [stdout]     |
[INFO] [stdout] 402 |         gl::VertexAttribPointer(5, 4, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, color_0) as *const c_void);
[INFO] [stdout]     |                                                                   --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:406:76
[INFO] [stdout]     |
[INFO] [stdout] 406 |         gl::VertexAttribPointer(6, 4, gl::UNSIGNED_SHORT, gl::FALSE, size, offset_of!(Vertex, joints_0) as *const c_void);
[INFO] [stdout]     |                                                                            ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:409:67
[INFO] [stdout]     |
[INFO] [stdout] 409 |         gl::VertexAttribPointer(7, 4, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, weights_0) as *const c_void);
[INFO] [stdout]     |                                                                   ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/render/texture.rs:50:33
[INFO] [stdout]    |
[INFO] [stdout] 50 |                       _ => panic!(format!("unsupported image type (image: {}, mime_type: {})",
[INFO] [stdout]    |  _________________________________^
[INFO] [stdout] 51 | |                         g_img.index(), mime_type)),
[INFO] [stdout]    | |_________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 50 ~                     _ => panic!("unsupported image type (image: {}, mime_type: {})",
[INFO] [stdout] 51 ~                         g_img.index(), mime_type),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/render/texture.rs:72:37
[INFO] [stdout]    |
[INFO] [stdout] 72 |                           _ => panic!(format!("unsupported image type (image: {}, mime_type: {})",
[INFO] [stdout]    |  _____________________________________^
[INFO] [stdout] 73 | |                             g_img.index(), mime_type)),
[INFO] [stdout]    | |_____________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 72 ~                         _ => panic!("unsupported image type (image: {}, mime_type: {})",
[INFO] [stdout] 73 ~                             g_img.index(), mime_type),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/render/texture.rs:83:37
[INFO] [stdout]    |
[INFO] [stdout] 83 |                           _ => panic!(format!("unsupported image type (image: {}, mime_type: {})",
[INFO] [stdout]    |  _____________________________________^
[INFO] [stdout] 84 | |                             g_img.index(), mime_type)),
[INFO] [stdout]    | |_____________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 83 ~                         _ => panic!("unsupported image type (image: {}, mime_type: {})",
[INFO] [stdout] 84 ~                             g_img.index(), mime_type),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `screenshot_save` and `multiscreenshot_save` are never used
[INFO] [stdout]    --> src/viewer.rs:389:12
[INFO] [stdout]     |
[INFO] [stdout] 66  | impl GltfViewer {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 389 |     pub fn screenshot_save(&mut self) -> DynamicImage {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 412 |     pub fn multiscreenshot_save(&mut self, count: u32) -> Vec<DynamicImage> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `u_DiffuseEnvSampler`, `u_SpecularEnvSampler`, `u_brdfLUT`, `u_ScaleDiffBaseMR`, `u_ScaleFGDSpec`, and `u_ScaleIBLAmbient` are never read
[INFO] [stdout]    --> src/shader.rs:228:9
[INFO] [stdout]     |
[INFO] [stdout] 214 | pub struct PbrUniformLocations {
[INFO] [stdout]     |            ------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub u_DiffuseEnvSampler: i32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 229 |     pub u_SpecularEnvSampler: i32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 230 |     pub u_brdfLUT: i32,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     pub u_ScaleDiffBaseMR: i32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 260 |     pub u_ScaleFGDSpec: i32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 261 |     pub u_ScaleIBLAmbient: i32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `flags` is never read
[INFO] [stdout]    --> src/shader.rs:266:9
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub struct PbrShader {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 265 |     pub shader: Shader,
[INFO] [stdout] 266 |     pub flags: ShaderFlags,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `images` is never read
[INFO] [stdout]  --> src/importdata.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ImportData {
[INFO] [stdout]   |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     pub images: Vec<gltf::image::Data>,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/render/scene.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct Scene {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 10 |     pub name: Option<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/render/mesh.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Mesh {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub name: Option<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Texture` is never constructed
[INFO] [stdout]   --> src/render/primitive.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct Texture {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Texture` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/render/material.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Material {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 13 |     pub index: Option<usize>, /// glTF index
[INFO] [stdout] 14 |     pub name: Option<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/render/texture.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Texture {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 20 |     pub index: usize, // glTF index
[INFO] [stdout] 21 |     pub name: Option<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:387:67
[INFO] [stdout]     |
[INFO] [stdout] 387 |         gl::VertexAttribPointer(0, 3, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, position) as *const c_void);
[INFO] [stdout]     |                                                                   ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deref_nullptr)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:390:67
[INFO] [stdout]     |
[INFO] [stdout] 390 |         gl::VertexAttribPointer(1, 3, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, normal) as *const c_void);
[INFO] [stdout]     |                                                                   -------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:393:67
[INFO] [stdout]     |
[INFO] [stdout] 393 |         gl::VertexAttribPointer(2, 4, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, tangent) as *const c_void);
[INFO] [stdout]     |                                                                   --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:396:67
[INFO] [stdout]     |
[INFO] [stdout] 396 |         gl::VertexAttribPointer(3, 2, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, tex_coord_0) as *const c_void);
[INFO] [stdout]     |                                                                   ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:399:67
[INFO] [stdout]     |
[INFO] [stdout] 399 |         gl::VertexAttribPointer(4, 2, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, tex_coord_1) as *const c_void);
[INFO] [stdout]     |                                                                   ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:402:67
[INFO] [stdout]     |
[INFO] [stdout] 402 |         gl::VertexAttribPointer(5, 4, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, color_0) as *const c_void);
[INFO] [stdout]     |                                                                   --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:406:76
[INFO] [stdout]     |
[INFO] [stdout] 406 |         gl::VertexAttribPointer(6, 4, gl::UNSIGNED_SHORT, gl::FALSE, size, offset_of!(Vertex, joints_0) as *const c_void);
[INFO] [stdout]     |                                                                            ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/macros.rs:7:10
[INFO] [stdout]     |
[INFO] [stdout] 7   |         &(*(ptr::null() as *const $ty)).$field as *const _ as usize
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/render/primitive.rs:409:67
[INFO] [stdout]     |
[INFO] [stdout] 409 |         gl::VertexAttribPointer(7, 4, gl::FLOAT, gl::FALSE, size, offset_of!(Vertex, weights_0) as *const c_void);
[INFO] [stdout]     |                                                                   ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `offset_of` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/render/texture.rs:50:33
[INFO] [stdout]    |
[INFO] [stdout] 50 |                       _ => panic!(format!("unsupported image type (image: {}, mime_type: {})",
[INFO] [stdout]    |  _________________________________^
[INFO] [stdout] 51 | |                         g_img.index(), mime_type)),
[INFO] [stdout]    | |_________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 50 ~                     _ => panic!("unsupported image type (image: {}, mime_type: {})",
[INFO] [stdout] 51 ~                         g_img.index(), mime_type),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/render/texture.rs:72:37
[INFO] [stdout]    |
[INFO] [stdout] 72 |                           _ => panic!(format!("unsupported image type (image: {}, mime_type: {})",
[INFO] [stdout]    |  _____________________________________^
[INFO] [stdout] 73 | |                             g_img.index(), mime_type)),
[INFO] [stdout]    | |_____________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 72 ~                         _ => panic!("unsupported image type (image: {}, mime_type: {})",
[INFO] [stdout] 73 ~                             g_img.index(), mime_type),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/render/texture.rs:83:37
[INFO] [stdout]    |
[INFO] [stdout] 83 |                           _ => panic!(format!("unsupported image type (image: {}, mime_type: {})",
[INFO] [stdout]    |  _____________________________________^
[INFO] [stdout] 84 | |                             g_img.index(), mime_type)),
[INFO] [stdout]    | |_____________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 83 ~                         _ => panic!("unsupported image type (image: {}, mime_type: {})",
[INFO] [stdout] 84 ~                             g_img.index(), mime_type),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.97s
[INFO] running `Command { std: "docker" "inspect" "7adc27d2650b20cb9908757eab800be8a4d034645186bb363917159f96835bfd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7adc27d2650b20cb9908757eab800be8a4d034645186bb363917159f96835bfd", kill_on_drop: false }`
[INFO] [stdout] 7adc27d2650b20cb9908757eab800be8a4d034645186bb363917159f96835bfd
