[INFO] fetching crate spinal 0.0.1...
[INFO] testing spinal-0.0.1 against 1.91.0 for beta-1.92-2
[INFO] extracting crate spinal 0.0.1 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate spinal 0.0.1
[INFO] finished tweaking crates.io crate spinal 0.0.1
[INFO] tweaked toml for crates.io crate spinal 0.0.1 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate spinal 0.0.1 on toolchain 1.91.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 69 packages to latest compatible versions
[INFO] [stderr]       Adding bevy_math v0.8.1 (available: v0.17.2)
[INFO] [stderr]       Adding bevy_utils v0.8.1 (available: v0.17.2)
[INFO] [stderr]       Adding miette v5.10.0 (available: v7.6.0)
[INFO] [stderr]       Adding nom v7.1.3 (available: v8.0.0)
[INFO] [stderr]       Adding strum v0.24.1 (available: v0.27.2)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.17)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded bevy_utils v0.8.1
[INFO] [stderr]   Downloaded bevy_math v0.8.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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b2db008c8d99081462d4901e207dc8409a670b0abcba45306563fb5918f74acd
[INFO] running `Command { std: "docker" "start" "-a" "b2db008c8d99081462d4901e207dc8409a670b0abcba45306563fb5918f74acd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b2db008c8d99081462d4901e207dc8409a670b0abcba45306563fb5918f74acd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b2db008c8d99081462d4901e207dc8409a670b0abcba45306563fb5918f74acd", kill_on_drop: false }`
[INFO] [stdout] b2db008c8d99081462d4901e207dc8409a670b0abcba45306563fb5918f74acd
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cbcc671ce4a6332d073b98c0277977077d72c0944859467bc0974844537e2aca
[INFO] running `Command { std: "docker" "start" "-a" "cbcc671ce4a6332d073b98c0277977077d72c0944859467bc0974844537e2aca", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling bytemuck v1.24.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling test-log-macros v0.2.18
[INFO] [stderr]    Compiling miette-derive v5.10.0
[INFO] [stderr]    Compiling miette v5.10.0
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling strum_macros v0.24.3
[INFO] [stderr]    Compiling tracing-subscriber v0.3.20
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling strum v0.24.1
[INFO] [stderr]    Compiling test-log v0.2.18
[INFO] [stderr]    Compiling glam v0.21.3
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling bevy_utils v0.8.1
[INFO] [stderr]    Compiling bevy_math v0.8.1
[INFO] [stderr]    Compiling spinal v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `one_of`
[INFO] [stdout]  --> src/atlas/parser.rs:6:54
[INFO] [stdout]   |
[INFO] [stdout] 6 | use nom::character::complete::{multispace0, newline, one_of, space0};
[INFO] [stdout]   |                                                      ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::skeleton::Animation`
[INFO] [stdout]  --> src/binary/animation.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::skeleton::Animation;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::IResult`
[INFO] [stdout]  --> src/binary/animation.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use nom::IResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/binary/skin.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | use bevy_utils::{tracing, HashMap};
[INFO] [stdout]   |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AttachmentData`, `AttachmentType`, `Bone`, `ClippingAttachment`, `ParentTransform`, `RegionAttachment`, `Skin`, and `Vertices`
[INFO] [stdout]   --> src/binary.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  8 |     AttachmentData, AttachmentType, Blend, Bone, ClippingAttachment, Event, Ik, Info,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^         ^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  9 |     ParentTransform, Path, PathPositionMode, PathRotateMode, PathSpacingMode, RegionAttachment,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^                                                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     Skin, Slot, Transform, Vertices,
[INFO] [stdout]    |     ^^^^                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `eof` and `map_res`
[INFO] [stdout]   --> src/binary.rs:16:23
[INFO] [stdout]    |
[INFO] [stdout] 16 | use nom::combinator::{eof, map_res};
[INFO] [stdout]    |                       ^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `count`
[INFO] [stdout]   --> src/binary.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 | use nom::multi::{count, length_count};
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pair`
[INFO] [stdout]   --> src/binary.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 | use nom::sequence::{pair, tuple};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `default_true` and `f32_one`
[INFO] [stdout]  --> src/json/attachment.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{default_true, f32_one};
[INFO] [stdout]   |             ^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::color::Color`
[INFO] [stdout]  --> src/json/attachment.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::color::Color;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::color::Color`
[INFO] [stdout]  --> src/json/bone.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::color::Color;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strum::FromRepr`
[INFO] [stdout]  --> src/json/ik.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use strum::FromRepr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::json::JsonSkeleton`
[INFO] [stdout]  --> src/json/info.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::json::JsonSkeleton;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Skeleton`
[INFO] [stdout]  --> src/json/info.rs:2:29
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::skeleton::{Info, Skeleton};
[INFO] [stdout]   |                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::color::Color`
[INFO] [stdout]  --> src/json/slot.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::color::Color;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Bone`, `Ik`, and `Slot`
[INFO] [stdout]   --> src/json.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::skeleton::{Bone, Ik, Skeleton, Slot};
[INFO] [stdout]    |                       ^^^^  ^^            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserializer`
[INFO] [stdout]   --> src/json.rs:17:26
[INFO] [stdout]    |
[INFO] [stdout] 17 | use serde::{Deserialize, Deserializer};
[INFO] [stdout]    |                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Deserialize`
[INFO] [stdout]  --> src/skeleton/info.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::Deserialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AttachmentData` and `Slot`
[INFO] [stdout]  --> src/skeleton/skin.rs:1:35
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::skeleton::{Attachment, AttachmentData, Slot};
[INFO] [stdout]   |                                   ^^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy_utils::HashMap`
[INFO] [stdout]  --> src/skeleton/skin.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bevy_utils::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attachment` and `Slot`
[INFO] [stdout]  --> src/state.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::skeleton::{Attachment, Bone, ParentTransform, Skeleton, Slot};
[INFO] [stdout]   |                       ^^^^^^^^^^                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vec2`
[INFO] [stdout]  --> src/state.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bevy_math::{Affine3A, Quat, Vec2};
[INFO] [stdout]   |                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/json/slot.rs:28:20
[INFO] [stdout]    |
[INFO] [stdout] 27 |             attachment: todo!(),
[INFO] [stdout]    |                         ------- any code following this expression is unreachable
[INFO] [stdout] 28 |             blend: self.blend.into(),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/json.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |       todo!("JSON parsing is on hold--focusing on binary.");
[INFO] [stdout]    |       ----------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 22 |
[INFO] [stdout] 23 | /     Ok(serde_json::from_slice::<JsonSkeleton>(b)
[INFO] [stdout] 24 | |         .unwrap()
[INFO] [stdout] 25 | |         .try_into()?) // TODO: error
[INFO] [stdout]    | |_____________________^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/state.rs:65:33
[INFO] [stdout]    |
[INFO] [stdout] 65 |                   self.slots.push((
[INFO] [stdout]    |  _________________________________^
[INFO] [stdout] 66 | |                     slot_idx,
[INFO] [stdout] 67 | |                     slot.bone,
[INFO] [stdout] 68 | |                     bone_state,
[INFO] [stdout] 69 | |                     slot_idx,
[INFO] [stdout] 70 | |                     todo!(), /*attachment_idx*/
[INFO] [stdout]    | |                     ------- any code following this expression is unreachable
[INFO] [stdout] 71 | |                 ));
[INFO] [stdout]    | |_________________^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/state.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 continue;
[INFO] [stdout]    |                 -------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 77 |             dbg!(self.slots.len());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `dbg` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/binary.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut parser = BinaryParser {
[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: `attachments`
[INFO] [stdout]   --> src/json/skin.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let attachments = todo!();
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let _attachments = todo!();
[INFO] [stdout]    |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `_`
[INFO] [stdout]    |
[INFO] [stdout] 17 -         let attachments = todo!();
[INFO] [stdout] 17 +         let json::_ = todo!();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lookup`
[INFO] [stdout]   --> src/json/skin.rs:16:28
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn into_skin(self, lookup: &Lookup) -> Result<Skin, SpinalError> {
[INFO] [stdout]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lookup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/json.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn parse(b: &[u8]) -> Result<Skeleton, SpinalError> {
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `skins`
[INFO] [stdout]   --> src/json.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |             skins,
[INFO] [stdout]    |             ^^^^^-
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bone`
[INFO] [stdout]   --> src/state.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 |             let bone = &skeleton.bones[slot.bone];
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_bone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attachment`
[INFO] [stdout]   --> src/state.rs:64:25
[INFO] [stdout]    |
[INFO] [stdout] 64 |             if let Some(attachment) = slot_attachment {
[INFO] [stdout]    |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attachment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `separated_values` is never used
[INFO] [stdout]   --> src/atlas/parser.rs:95:4
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn separated_values<F, S, O, SO>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `empty_line` is never used
[INFO] [stdout]    --> src/atlas/parser.rs:151:4
[INFO] [stdout]     |
[INFO] [stdout] 151 | fn empty_line(s: &str) -> IResult<&str, ()> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]   --> src/json.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn parse(b: &[u8]) -> Result<Skeleton, SpinalError> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/json/attachment.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct JsonAttachment(pub HashMap<String, SubAttachment>);
[INFO] [stdout]   |            -------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |            |
[INFO] [stdout]   |            field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout]   = note: `JsonAttachment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/json/attachment.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Tagged(TaggedSubAttachment),
[INFO] [stdout]    |     ------ ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SubAttachment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 15 -     Tagged(TaggedSubAttachment),
[INFO] [stdout] 15 +     Tagged(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/json/attachment.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Region(Region),
[INFO] [stdout]    |     ------ ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SubAttachment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 16 -     Region(Region),
[INFO] [stdout] 16 +     Region(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/json/attachment.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Mesh(Mesh),
[INFO] [stdout]    |     ---- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaggedSubAttachment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 22 -     Mesh(Mesh),
[INFO] [stdout] 22 +     Mesh(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/json/attachment.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |     LinkedMesh(LinkedMesh),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaggedSubAttachment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 23 -     LinkedMesh(LinkedMesh),
[INFO] [stdout] 23 +     LinkedMesh(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/json/attachment.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |     BoundingBox(BoundingBox),
[INFO] [stdout]    |     ----------- ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaggedSubAttachment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 24 -     BoundingBox(BoundingBox),
[INFO] [stdout] 24 +     BoundingBox(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/json/attachment.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 |     Path(Path),
[INFO] [stdout]    |     ---- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaggedSubAttachment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 25 -     Path(Path),
[INFO] [stdout] 25 +     Path(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/json/attachment.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 |     Point(Point),
[INFO] [stdout]    |     ----- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaggedSubAttachment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 26 -     Point(Point),
[INFO] [stdout] 26 +     Point(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/json/attachment.rs:27:14
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Clipping(Clipping),
[INFO] [stdout]    |     -------- ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaggedSubAttachment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 27 -     Clipping(Clipping),
[INFO] [stdout] 27 +     Clipping(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/json/attachment.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Region(Region),
[INFO] [stdout]    |     ------ ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaggedSubAttachment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 28 -     Region(Region),
[INFO] [stdout] 28 +     Region(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/json/attachment.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Region {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 34 |     path: Option<String>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 35 |     #[serde(default)]
[INFO] [stdout] 36 |     x: f32,
[INFO] [stdout]    |     ^
[INFO] [stdout] 37 |     #[serde(default)]
[INFO] [stdout] 38 |     y: f32,
[INFO] [stdout]    |     ^
[INFO] [stdout] 39 |     #[serde(default = "super::f32_one")]
[INFO] [stdout] 40 |     scale_x: f32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 41 |     #[serde(default = "super::f32_one")]
[INFO] [stdout] 42 |     scale_y: f32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 43 |     #[serde(default)]
[INFO] [stdout] 44 |     rotation: f32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     width: f32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 46 |     height: f32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 47 |     #[serde(default = "super::white")]
[INFO] [stdout] 48 |     color: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Region` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/json/attachment.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct Mesh {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 54 |     uvs: Vec<u32>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 55 |     triangles: Vec<u32>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 56 |     vertices: Vec<f32>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 57 |     hull: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 58 |     edges: Option<Vec<u32>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 59 |     width: Option<f32>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 60 |     height: Option<f32>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Mesh` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/json/attachment.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct LinkedMesh {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 66 |     path: Option<String>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 67 |     skin: Option<String>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 68 |     parent: Option<String>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 69 |     #[serde(default = "super::default_true")]
[INFO] [stdout] 70 |     deform: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 71 |     #[serde(default = "super::white")]
[INFO] [stdout] 72 |     color: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 73 |     width: Option<f32>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 74 |     height: Option<f32>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LinkedMesh` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertex_count`, `vertices`, and `color` are never read
[INFO] [stdout]   --> src/json/attachment.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct BoundingBox {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 80 |     vertex_count: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 81 |     vertices: Vec<f32>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 82 |     #[serde(default = "super::bounding_box_color")]
[INFO] [stdout] 83 |     color: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BoundingBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `closed` and `constant_speed` are never read
[INFO] [stdout]   --> src/json/attachment.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct Path {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 89 |     #[serde(default)]
[INFO] [stdout] 90 |     closed: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     constant_speed: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Path` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x` and `y` are never read
[INFO] [stdout]    --> src/json/attachment.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout]  99 | pub struct Point {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 100 |     #[serde(default)]
[INFO] [stdout] 101 |     pub x: f32,
[INFO] [stdout]     |         ^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub y: f32,
[INFO] [stdout]     |         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Point` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `end` is never read
[INFO] [stdout]    --> src/json/attachment.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub struct Clipping {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 111 |     end: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Clipping` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `attachments` are never read
[INFO] [stdout]   --> src/json/skin.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct JsonSkin {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 10 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 11 |
[INFO] [stdout] 12 |     attachments: HashMap<String, JsonAttachment>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JsonSkin` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `slots` and `bones` are never read
[INFO] [stdout]  --> src/skeleton/animation.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Animation {
[INFO] [stdout]   |            --------- fields in this struct
[INFO] [stdout] 5 |     slots: Vec<SlotAnimation>,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 6 |     bones: Vec<BoneAnimation>,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Animation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `slot` and `timelines` are never read
[INFO] [stdout]   --> src/skeleton/animation.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct SlotAnimation {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 17 |     slot: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 18 |     timelines: Vec<AnimationTimeline>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SlotAnimation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timeline_type` is never read
[INFO] [stdout]   --> src/skeleton/animation.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct AnimationTimeline {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 23 |     timeline_type: AnimationTimelineType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnimationTimeline` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Attachment`, `Color`, and `TwoColor` are never constructed
[INFO] [stdout]   --> src/skeleton/animation.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub enum AnimationTimelineType {
[INFO] [stdout]    |          --------------------- variants in this enum
[INFO] [stdout] 29 |     Attachment(Vec<AttachmentKeyframe>),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 30 |     Color(Vec<ColorKeyframe>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 31 |     TwoColor(Vec<TwoColorKeyframe>),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnimationTimelineType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `time` and `attachment_string` are never read
[INFO] [stdout]   --> src/skeleton/animation.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct AttachmentKeyframe {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 36 |     /// The time in seconds for the keyframe.
[INFO] [stdout] 37 |     time: f32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     attachment_string: Option<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AttachmentKeyframe` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `time`, `color`, and `curve` are never read
[INFO] [stdout]   --> src/skeleton/animation.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct ColorKeyframe {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 46 |     /// The time in seconds for the keyframe.
[INFO] [stdout] 47 |     time: f32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     color: Color,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     curve: Option<Curve>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ColorKeyframe` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `time`, `light`, `dark`, and `curve` are never read
[INFO] [stdout]   --> src/skeleton/animation.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct TwoColorKeyframe {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 58 |     /// The time in seconds for the keyframe.
[INFO] [stdout] 59 |     time: f32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     light: Color,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     dark: Color,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     curve: Option<Curve>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TwoColorKeyframe` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `bone` and `timelines` are never read
[INFO] [stdout]   --> src/skeleton/animation.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct BoneAnimation {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 73 |     bone: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 74 |     timelines: Vec<AnimationTimeline>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BoneAnimation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `curve_type` and `parameters` are never read
[INFO] [stdout]   --> src/skeleton/animation.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct Curve {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 81 |     /// The type of curve.
[INFO] [stdout] 82 |     curve_type: CurveType,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     parameters: Vec<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Curve` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Linear`, `Stepped`, and `Bezier` are never constructed
[INFO] [stdout]   --> src/skeleton/animation.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub enum CurveType {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 90 |     Linear,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 91 |     Stepped,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 92 |     Bezier(BezierCurve),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CurveType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cx1`, `cy1`, `cx2`, and `cy2` are never read
[INFO] [stdout]    --> src/skeleton/animation.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub struct BezierCurve {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 101 |     cx1: f32,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 102 |     cy1: f32,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 103 |     cx2: f32,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 104 |     cy2: f32,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BezierCurve` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.35s
[INFO] running `Command { std: "docker" "inspect" "cbcc671ce4a6332d073b98c0277977077d72c0944859467bc0974844537e2aca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cbcc671ce4a6332d073b98c0277977077d72c0944859467bc0974844537e2aca", kill_on_drop: false }`
[INFO] [stdout] cbcc671ce4a6332d073b98c0277977077d72c0944859467bc0974844537e2aca
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7bedffa629b7644161eb5dd02fc21d45ead2248a19787209d537a2f15a8f67aa
[INFO] running `Command { std: "docker" "start" "-a" "7bedffa629b7644161eb5dd02fc21d45ead2248a19787209d537a2f15a8f67aa", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `one_of`
[INFO] [stdout]  --> src/atlas/parser.rs:6:54
[INFO] [stdout]   |
[INFO] [stdout] 6 | use nom::character::complete::{multispace0, newline, one_of, space0};
[INFO] [stdout]   |                                                      ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::skeleton::Animation`
[INFO] [stdout]  --> src/binary/animation.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::skeleton::Animation;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::IResult`
[INFO] [stdout]  --> src/binary/animation.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use nom::IResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/binary/skin.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | use bevy_utils::{tracing, HashMap};
[INFO] [stdout]   |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AttachmentData`, `AttachmentType`, `Bone`, `ClippingAttachment`, `ParentTransform`, `RegionAttachment`, `Skin`, and `Vertices`
[INFO] [stdout]   --> src/binary.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  8 |     AttachmentData, AttachmentType, Blend, Bone, ClippingAttachment, Event, Ik, Info,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^         ^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  9 |     ParentTransform, Path, PathPositionMode, PathRotateMode, PathSpacingMode, RegionAttachment,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^                                                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     Skin, Slot, Transform, Vertices,
[INFO] [stdout]    |     ^^^^                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `eof` and `map_res`
[INFO] [stdout]   --> src/binary.rs:16:23
[INFO] [stdout]    |
[INFO] [stdout] 16 | use nom::combinator::{eof, map_res};
[INFO] [stdout]    |                       ^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `count`
[INFO] [stdout]   --> src/binary.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 | use nom::multi::{count, length_count};
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pair`
[INFO] [stdout]   --> src/binary.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 | use nom::sequence::{pair, tuple};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `default_true` and `f32_one`
[INFO] [stdout]  --> src/json/attachment.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{default_true, f32_one};
[INFO] [stdout]   |             ^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::color::Color`
[INFO] [stdout]  --> src/json/attachment.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::color::Color;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::color::Color`
[INFO] [stdout]  --> src/json/bone.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::color::Color;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strum::FromRepr`
[INFO] [stdout]  --> src/json/ik.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use strum::FromRepr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::json::JsonSkeleton`
[INFO] [stdout]  --> src/json/info.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::json::JsonSkeleton;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Skeleton`
[INFO] [stdout]  --> src/json/info.rs:2:29
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::skeleton::{Info, Skeleton};
[INFO] [stdout]   |                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::color::Color`
[INFO] [stdout]  --> src/json/slot.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::color::Color;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Bone`, `Ik`, and `Slot`
[INFO] [stdout]   --> src/json.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::skeleton::{Bone, Ik, Skeleton, Slot};
[INFO] [stdout]    |                       ^^^^  ^^            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserializer`
[INFO] [stdout]   --> src/json.rs:17:26
[INFO] [stdout]    |
[INFO] [stdout] 17 | use serde::{Deserialize, Deserializer};
[INFO] [stdout]    |                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Deserialize`
[INFO] [stdout]  --> src/skeleton/info.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::Deserialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AttachmentData` and `Slot`
[INFO] [stdout]  --> src/skeleton/skin.rs:1:35
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::skeleton::{Attachment, AttachmentData, Slot};
[INFO] [stdout]   |                                   ^^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy_utils::HashMap`
[INFO] [stdout]  --> src/skeleton/skin.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bevy_utils::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attachment` and `Slot`
[INFO] [stdout]  --> src/state.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::skeleton::{Attachment, Bone, ParentTransform, Skeleton, Slot};
[INFO] [stdout]   |                       ^^^^^^^^^^                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vec2`
[INFO] [stdout]  --> src/state.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bevy_math::{Affine3A, Quat, Vec2};
[INFO] [stdout]   |                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/json/slot.rs:28:20
[INFO] [stdout]    |
[INFO] [stdout] 27 |             attachment: todo!(),
[INFO] [stdout]    |                         ------- any code following this expression is unreachable
[INFO] [stdout] 28 |             blend: self.blend.into(),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/json.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |       todo!("JSON parsing is on hold--focusing on binary.");
[INFO] [stdout]    |       ----------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 22 |
[INFO] [stdout] 23 | /     Ok(serde_json::from_slice::<JsonSkeleton>(b)
[INFO] [stdout] 24 | |         .unwrap()
[INFO] [stdout] 25 | |         .try_into()?) // TODO: error
[INFO] [stdout]    | |_____________________^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/state.rs:65:33
[INFO] [stdout]    |
[INFO] [stdout] 65 |                   self.slots.push((
[INFO] [stdout]    |  _________________________________^
[INFO] [stdout] 66 | |                     slot_idx,
[INFO] [stdout] 67 | |                     slot.bone,
[INFO] [stdout] 68 | |                     bone_state,
[INFO] [stdout] 69 | |                     slot_idx,
[INFO] [stdout] 70 | |                     todo!(), /*attachment_idx*/
[INFO] [stdout]    | |                     ------- any code following this expression is unreachable
[INFO] [stdout] 71 | |                 ));
[INFO] [stdout]    | |_________________^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/state.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 continue;
[INFO] [stdout]    |                 -------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 77 |             dbg!(self.slots.len());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `dbg` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/binary.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut parser = BinaryParser {
[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: `attachments`
[INFO] [stdout]   --> src/json/skin.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let attachments = todo!();
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let _attachments = todo!();
[INFO] [stdout]    |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `_`
[INFO] [stdout]    |
[INFO] [stdout] 17 -         let attachments = todo!();
[INFO] [stdout] 17 +         let json::_ = todo!();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lookup`
[INFO] [stdout]   --> src/json/skin.rs:16:28
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn into_skin(self, lookup: &Lookup) -> Result<Skin, SpinalError> {
[INFO] [stdout]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lookup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/json.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn parse(b: &[u8]) -> Result<Skeleton, SpinalError> {
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `skins`
[INFO] [stdout]   --> src/json.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |             skins,
[INFO] [stdout]    |             ^^^^^-
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bone`
[INFO] [stdout]   --> src/state.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 |             let bone = &skeleton.bones[slot.bone];
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_bone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attachment`
[INFO] [stdout]   --> src/state.rs:64:25
[INFO] [stdout]    |
[INFO] [stdout] 64 |             if let Some(attachment) = slot_attachment {
[INFO] [stdout]    |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attachment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `separated_values` is never used
[INFO] [stdout]   --> src/atlas/parser.rs:95:4
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn separated_values<F, S, O, SO>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `empty_line` is never used
[INFO] [stdout]    --> src/atlas/parser.rs:151:4
[INFO] [stdout]     |
[INFO] [stdout] 151 | fn empty_line(s: &str) -> IResult<&str, ()> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]   --> src/json.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn parse(b: &[u8]) -> Result<Skeleton, SpinalError> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/json/attachment.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct JsonAttachment(pub HashMap<String, SubAttachment>);
[INFO] [stdout]   |            -------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |            |
[INFO] [stdout]   |            field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout]   = note: `JsonAttachment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/json/attachment.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Tagged(TaggedSubAttachment),
[INFO] [stdout]    |     ------ ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SubAttachment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 15 -     Tagged(TaggedSubAttachment),
[INFO] [stdout] 15 +     Tagged(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/json/attachment.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Region(Region),
[INFO] [stdout]    |     ------ ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SubAttachment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 16 -     Region(Region),
[INFO] [stdout] 16 +     Region(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/json/attachment.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Mesh(Mesh),
[INFO] [stdout]    |     ---- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaggedSubAttachment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 22 -     Mesh(Mesh),
[INFO] [stdout] 22 +     Mesh(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/json/attachment.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |     LinkedMesh(LinkedMesh),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaggedSubAttachment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 23 -     LinkedMesh(LinkedMesh),
[INFO] [stdout] 23 +     LinkedMesh(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/json/attachment.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |     BoundingBox(BoundingBox),
[INFO] [stdout]    |     ----------- ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaggedSubAttachment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 24 -     BoundingBox(BoundingBox),
[INFO] [stdout] 24 +     BoundingBox(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/json/attachment.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 |     Path(Path),
[INFO] [stdout]    |     ---- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaggedSubAttachment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 25 -     Path(Path),
[INFO] [stdout] 25 +     Path(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/json/attachment.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 |     Point(Point),
[INFO] [stdout]    |     ----- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaggedSubAttachment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 26 -     Point(Point),
[INFO] [stdout] 26 +     Point(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/json/attachment.rs:27:14
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Clipping(Clipping),
[INFO] [stdout]    |     -------- ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaggedSubAttachment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 27 -     Clipping(Clipping),
[INFO] [stdout] 27 +     Clipping(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/json/attachment.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Region(Region),
[INFO] [stdout]    |     ------ ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaggedSubAttachment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 28 -     Region(Region),
[INFO] [stdout] 28 +     Region(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling spinal v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/json/attachment.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Region {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 34 |     path: Option<String>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 35 |     #[serde(default)]
[INFO] [stdout] 36 |     x: f32,
[INFO] [stdout]    |     ^
[INFO] [stdout] 37 |     #[serde(default)]
[INFO] [stdout] 38 |     y: f32,
[INFO] [stdout]    |     ^
[INFO] [stdout] 39 |     #[serde(default = "super::f32_one")]
[INFO] [stdout] 40 |     scale_x: f32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 41 |     #[serde(default = "super::f32_one")]
[INFO] [stdout] 42 |     scale_y: f32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 43 |     #[serde(default)]
[INFO] [stdout] 44 |     rotation: f32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     width: f32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 46 |     height: f32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 47 |     #[serde(default = "super::white")]
[INFO] [stdout] 48 |     color: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Region` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/json/attachment.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct Mesh {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 54 |     uvs: Vec<u32>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 55 |     triangles: Vec<u32>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 56 |     vertices: Vec<f32>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 57 |     hull: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 58 |     edges: Option<Vec<u32>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 59 |     width: Option<f32>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 60 |     height: Option<f32>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Mesh` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/json/attachment.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct LinkedMesh {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 66 |     path: Option<String>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 67 |     skin: Option<String>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 68 |     parent: Option<String>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 69 |     #[serde(default = "super::default_true")]
[INFO] [stdout] 70 |     deform: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 71 |     #[serde(default = "super::white")]
[INFO] [stdout] 72 |     color: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 73 |     width: Option<f32>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 74 |     height: Option<f32>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LinkedMesh` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertex_count`, `vertices`, and `color` are never read
[INFO] [stdout]   --> src/json/attachment.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct BoundingBox {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 80 |     vertex_count: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 81 |     vertices: Vec<f32>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 82 |     #[serde(default = "super::bounding_box_color")]
[INFO] [stdout] 83 |     color: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BoundingBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `closed` and `constant_speed` are never read
[INFO] [stdout]   --> src/json/attachment.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct Path {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 89 |     #[serde(default)]
[INFO] [stdout] 90 |     closed: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     constant_speed: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Path` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x` and `y` are never read
[INFO] [stdout]    --> src/json/attachment.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout]  99 | pub struct Point {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 100 |     #[serde(default)]
[INFO] [stdout] 101 |     pub x: f32,
[INFO] [stdout]     |         ^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub y: f32,
[INFO] [stdout]     |         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Point` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `end` is never read
[INFO] [stdout]    --> src/json/attachment.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub struct Clipping {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 111 |     end: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Clipping` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `attachments` are never read
[INFO] [stdout]   --> src/json/skin.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct JsonSkin {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 10 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 11 |
[INFO] [stdout] 12 |     attachments: HashMap<String, JsonAttachment>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JsonSkin` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `slots` and `bones` are never read
[INFO] [stdout]  --> src/skeleton/animation.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Animation {
[INFO] [stdout]   |            --------- fields in this struct
[INFO] [stdout] 5 |     slots: Vec<SlotAnimation>,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 6 |     bones: Vec<BoneAnimation>,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Animation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `slot` and `timelines` are never read
[INFO] [stdout]   --> src/skeleton/animation.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct SlotAnimation {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 17 |     slot: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 18 |     timelines: Vec<AnimationTimeline>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SlotAnimation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timeline_type` is never read
[INFO] [stdout]   --> src/skeleton/animation.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct AnimationTimeline {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 23 |     timeline_type: AnimationTimelineType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnimationTimeline` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Attachment`, `Color`, and `TwoColor` are never constructed
[INFO] [stdout]   --> src/skeleton/animation.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub enum AnimationTimelineType {
[INFO] [stdout]    |          --------------------- variants in this enum
[INFO] [stdout] 29 |     Attachment(Vec<AttachmentKeyframe>),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 30 |     Color(Vec<ColorKeyframe>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 31 |     TwoColor(Vec<TwoColorKeyframe>),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnimationTimelineType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `time` and `attachment_string` are never read
[INFO] [stdout]   --> src/skeleton/animation.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct AttachmentKeyframe {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 36 |     /// The time in seconds for the keyframe.
[INFO] [stdout] 37 |     time: f32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     attachment_string: Option<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AttachmentKeyframe` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `time`, `color`, and `curve` are never read
[INFO] [stdout]   --> src/skeleton/animation.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct ColorKeyframe {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 46 |     /// The time in seconds for the keyframe.
[INFO] [stdout] 47 |     time: f32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     color: Color,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     curve: Option<Curve>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ColorKeyframe` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `time`, `light`, `dark`, and `curve` are never read
[INFO] [stdout]   --> src/skeleton/animation.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct TwoColorKeyframe {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 58 |     /// The time in seconds for the keyframe.
[INFO] [stdout] 59 |     time: f32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     light: Color,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     dark: Color,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     curve: Option<Curve>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TwoColorKeyframe` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `bone` and `timelines` are never read
[INFO] [stdout]   --> src/skeleton/animation.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct BoneAnimation {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 73 |     bone: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 74 |     timelines: Vec<AnimationTimeline>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BoneAnimation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `curve_type` and `parameters` are never read
[INFO] [stdout]   --> src/skeleton/animation.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct Curve {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 81 |     /// The type of curve.
[INFO] [stdout] 82 |     curve_type: CurveType,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     parameters: Vec<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Curve` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Linear`, `Stepped`, and `Bezier` are never constructed
[INFO] [stdout]   --> src/skeleton/animation.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub enum CurveType {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 90 |     Linear,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 91 |     Stepped,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 92 |     Bezier(BezierCurve),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CurveType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cx1`, `cy1`, `cx2`, and `cy2` are never read
[INFO] [stdout]    --> src/skeleton/animation.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub struct BezierCurve {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 101 |     cx1: f32,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 102 |     cy1: f32,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 103 |     cx2: f32,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 104 |     cy2: f32,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BezierCurve` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/atlas/../../../assets/spineboy-ess-4.1/spineboy-ess.atlas`: No such file or directory (os error 2)
[INFO] [stdout]    --> src/atlas/parser.rs:235:17
[INFO] [stdout]     |
[INFO] [stdout] 235 |         let s = include_str!("../../../assets/spineboy-ess-4.1/spineboy-ess.atlas");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../../assets/spineboy-pro-4.1/spineboy-pro.skel`: No such file or directory (os error 2)
[INFO] [stdout]    --> src/binary.rs:399:17
[INFO] [stdout]     |
[INFO] [stdout] 399 |         let b = include_bytes!("../../assets/spineboy-pro-4.1/spineboy-pro.skel");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../../assets/spineboy-pro-4.1/spineboy-pro.json`: No such file or directory (os error 2)
[INFO] [stdout]    --> src/json.rs:182:17
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let b = include_bytes!("../../assets/spineboy-pro-4.1/spineboy-pro.json");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `src/../../assets/spineboy-pro-4.1/spineboy-pro.skel`: No such file or directory (os error 2)
[INFO] [stdout]    --> src/state.rs:158:17
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let b = include_bytes!("../../assets/spineboy-pro-4.1/spineboy-pro.skel");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `one_of`
[INFO] [stdout]  --> src/atlas/parser.rs:6:54
[INFO] [stdout]   |
[INFO] [stdout] 6 | use nom::character::complete::{multispace0, newline, one_of, space0};
[INFO] [stdout]   |                                                      ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::skeleton::Animation`
[INFO] [stdout]  --> src/binary/animation.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::skeleton::Animation;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::IResult`
[INFO] [stdout]  --> src/binary/animation.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use nom::IResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/binary/skin.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | use bevy_utils::{tracing, HashMap};
[INFO] [stdout]   |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AttachmentData`, `AttachmentType`, `Bone`, `ClippingAttachment`, `ParentTransform`, `RegionAttachment`, `Skin`, and `Vertices`
[INFO] [stdout]   --> src/binary.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  8 |     AttachmentData, AttachmentType, Blend, Bone, ClippingAttachment, Event, Ik, Info,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^         ^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  9 |     ParentTransform, Path, PathPositionMode, PathRotateMode, PathSpacingMode, RegionAttachment,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^                                                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     Skin, Slot, Transform, Vertices,
[INFO] [stdout]    |     ^^^^                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `eof` and `map_res`
[INFO] [stdout]   --> src/binary.rs:16:23
[INFO] [stdout]    |
[INFO] [stdout] 16 | use nom::combinator::{eof, map_res};
[INFO] [stdout]    |                       ^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `count`
[INFO] [stdout]   --> src/binary.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 | use nom::multi::{count, length_count};
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pair`
[INFO] [stdout]   --> src/binary.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 | use nom::sequence::{pair, tuple};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `default_true` and `f32_one`
[INFO] [stdout]  --> src/json/attachment.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{default_true, f32_one};
[INFO] [stdout]   |             ^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::color::Color`
[INFO] [stdout]  --> src/json/attachment.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::color::Color;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::color::Color`
[INFO] [stdout]  --> src/json/bone.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::color::Color;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strum::FromRepr`
[INFO] [stdout]  --> src/json/ik.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use strum::FromRepr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::json::JsonSkeleton`
[INFO] [stdout]  --> src/json/info.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::json::JsonSkeleton;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Skeleton`
[INFO] [stdout]  --> src/json/info.rs:2:29
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::skeleton::{Info, Skeleton};
[INFO] [stdout]   |                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::color::Color`
[INFO] [stdout]  --> src/json/slot.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::color::Color;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Bone`, `Ik`, and `Slot`
[INFO] [stdout]   --> src/json.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::skeleton::{Bone, Ik, Skeleton, Slot};
[INFO] [stdout]    |                       ^^^^  ^^            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserializer`
[INFO] [stdout]   --> src/json.rs:17:26
[INFO] [stdout]    |
[INFO] [stdout] 17 | use serde::{Deserialize, Deserializer};
[INFO] [stdout]    |                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Deserialize`
[INFO] [stdout]  --> src/skeleton/info.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::Deserialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AttachmentData` and `Slot`
[INFO] [stdout]  --> src/skeleton/skin.rs:1:35
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::skeleton::{Attachment, AttachmentData, Slot};
[INFO] [stdout]   |                                   ^^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy_utils::HashMap`
[INFO] [stdout]  --> src/skeleton/skin.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bevy_utils::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attachment` and `Slot`
[INFO] [stdout]  --> src/state.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::skeleton::{Attachment, Bone, ParentTransform, Skeleton, Slot};
[INFO] [stdout]   |                       ^^^^^^^^^^                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vec2`
[INFO] [stdout]  --> src/state.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bevy_math::{Affine3A, Quat, Vec2};
[INFO] [stdout]   |                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/json/slot.rs:28:20
[INFO] [stdout]    |
[INFO] [stdout] 27 |             attachment: todo!(),
[INFO] [stdout]    |                         ------- any code following this expression is unreachable
[INFO] [stdout] 28 |             blend: self.blend.into(),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/json.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |       todo!("JSON parsing is on hold--focusing on binary.");
[INFO] [stdout]    |       ----------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 22 |
[INFO] [stdout] 23 | /     Ok(serde_json::from_slice::<JsonSkeleton>(b)
[INFO] [stdout] 24 | |         .unwrap()
[INFO] [stdout] 25 | |         .try_into()?) // TODO: error
[INFO] [stdout]    | |_____________________^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/state.rs:65:33
[INFO] [stdout]    |
[INFO] [stdout] 65 |                   self.slots.push((
[INFO] [stdout]    |  _________________________________^
[INFO] [stdout] 66 | |                     slot_idx,
[INFO] [stdout] 67 | |                     slot.bone,
[INFO] [stdout] 68 | |                     bone_state,
[INFO] [stdout] 69 | |                     slot_idx,
[INFO] [stdout] 70 | |                     todo!(), /*attachment_idx*/
[INFO] [stdout]    | |                     ------- any code following this expression is unreachable
[INFO] [stdout] 71 | |                 ));
[INFO] [stdout]    | |_________________^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/state.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 continue;
[INFO] [stdout]    |                 -------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 77 |             dbg!(self.slots.len());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `dbg` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/binary.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut parser = BinaryParser {
[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: `attachments`
[INFO] [stdout]   --> src/json/skin.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let attachments = todo!();
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let _attachments = todo!();
[INFO] [stdout]    |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `_`
[INFO] [stdout]    |
[INFO] [stdout] 17 -         let attachments = todo!();
[INFO] [stdout] 17 +         let json::_ = todo!();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lookup`
[INFO] [stdout]   --> src/json/skin.rs:16:28
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn into_skin(self, lookup: &Lookup) -> Result<Skin, SpinalError> {
[INFO] [stdout]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lookup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/json.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn parse(b: &[u8]) -> Result<Skeleton, SpinalError> {
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `skins`
[INFO] [stdout]   --> src/json.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |             skins,
[INFO] [stdout]    |             ^^^^^-
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bone`
[INFO] [stdout]   --> src/state.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 |             let bone = &skeleton.bones[slot.bone];
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_bone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attachment`
[INFO] [stdout]   --> src/state.rs:64:25
[INFO] [stdout]    |
[INFO] [stdout] 64 |             if let Some(attachment) = slot_attachment {
[INFO] [stdout]    |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attachment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `spinal` (lib test) due to 4 previous errors; 33 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "7bedffa629b7644161eb5dd02fc21d45ead2248a19787209d537a2f15a8f67aa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7bedffa629b7644161eb5dd02fc21d45ead2248a19787209d537a2f15a8f67aa", kill_on_drop: false }`
[INFO] [stdout] 7bedffa629b7644161eb5dd02fc21d45ead2248a19787209d537a2f15a8f67aa
