[INFO] fetching crate physis 0.4.0...
[INFO] testing physis-0.4.0 against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] extracting crate physis 0.4.0 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate physis 0.4.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate physis 0.4.0
[INFO] tweaked toml for crates.io crate physis 0.4.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate physis 0.4.0 on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate physis 0.4.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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ec7938af56458d50995867ec29968f670f34ff64d5278fbb13d7785164ee321d
[INFO] running `Command { std: "docker" "start" "-a" "ec7938af56458d50995867ec29968f670f34ff64d5278fbb13d7785164ee321d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ec7938af56458d50995867ec29968f670f34ff64d5278fbb13d7785164ee321d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ec7938af56458d50995867ec29968f670f34ff64d5278fbb13d7785164ee321d", kill_on_drop: false }`
[INFO] [stdout] ec7938af56458d50995867ec29968f670f34ff64d5278fbb13d7785164ee321d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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 -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1e648a3a0f4affb3d950b44a41ddad21942d3e4cc49dc74a4bd7547ec1105ea2
[INFO] running `Command { std: "docker" "start" "-a" "1e648a3a0f4affb3d950b44a41ddad21942d3e4cc49dc74a4bd7547ec1105ea2", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling binrw_derive v0.15.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling binrw v0.15.0
[INFO] [stderr]    Compiling bytemuck v1.23.0
[INFO] [stderr]    Compiling zlib-rs v0.5.1
[INFO] [stderr]    Compiling array-init v2.1.0
[INFO] [stderr]    Compiling bitflags v2.9.1
[INFO] [stderr]    Compiling half v2.6.0
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]    Compiling libz-rs-sys v0.5.1
[INFO] [stderr]    Compiling physis v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: associated items `read_u16_le`, `align`, `round_up`, `raw`, and `seek` are never used
[INFO] [stdout]   --> src/havok/byte_reader.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<'a> ByteReader<'a> {
[INFO] [stdout]    | ----------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn read_u16_le(&mut self) -> u16 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn align(&mut self, align: usize) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn round_up(num_to_round: usize, multiple: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn raw(&self) -> &[u8] {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn seek(&mut self, offset: usize) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RotationQuantization` is never used
[INFO] [stdout]   --> src/havok/spline_compressed_animation.rs:14:6
[INFO] [stdout]    |
[INFO] [stdout] 14 | enum RotationQuantization {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_raw`, `align`, and `bytes_per_quaternion` are never used
[INFO] [stdout]   --> src/havok/spline_compressed_animation.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl RotationQuantization {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] 24 |     pub fn from_raw(raw: u8) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn align(&self) -> usize {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn bytes_per_quaternion(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ScalarQuantization` is never used
[INFO] [stdout]   --> src/havok/spline_compressed_animation.rs:61:6
[INFO] [stdout]    |
[INFO] [stdout] 61 | enum ScalarQuantization {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_raw` and `bytes_per_component` are never used
[INFO] [stdout]   --> src/havok/spline_compressed_animation.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | impl ScalarQuantization {
[INFO] [stdout]    | ----------------------- associated items in this implementation
[INFO] [stdout] 67 |     pub fn from_raw(raw: u8) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn bytes_per_component(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/havok/spline_compressed_animation.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct HavokSplineCompressedAnimation {
[INFO] [stdout]    |            ------------------------------ fields in this struct
[INFO] [stdout] 84 |     duration: f32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 85 |     number_of_transform_tracks: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 86 |     num_frames: usize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 87 |     num_blocks: usize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 88 |     max_frames_per_block: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |     mask_and_quantization_size: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |     block_inverse_duration: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     frame_duration: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     block_offsets: Vec<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 93 |     data: Vec<u8>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/havok/spline_compressed_animation.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 96  | impl HavokSplineCompressedAnimation {
[INFO] [stdout]     | ----------------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 135 |     fn get_block_and_time(&self, frame: usize, delta: f32) -> (usize, f32, u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     fn find_span(n: usize, p: usize, u: u8, U: &[u8]) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     fn read_knots(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     fn unpack_signed_quaternion_32(data: &[u8]) -> [f32; 4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     fn unpack_signed_quaternion_40(data: &[u8]) -> [f32; 4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 293 |     fn unpack_signed_quaternion_48(data: &[u8]) -> [f32; 4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     fn unpack_quaternion(quantization: &RotationQuantization, data: &[u8]) -> [f32; 4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     fn read_packed_quaternions(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 361 |     fn unpack_vec_8(min_p: [f32; 4], max_p: [f32; 4], vals: &[u8]) -> [f32; 4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 370 |     fn unpack_vec_16(min_p: [f32; 4], max_p: [f32; 4], vals: &[u16]) -> [f32; 4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     fn recompose(stat_mask: u8, dyn_mask: u8, S: [f32; 4], I: [f32; 4], in_out: &mut [f32; 4]) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 395 |     fn evaluate(time: f32, p: usize, U: &[f32], P: &[[f32; 4]]) -> [f32; 4] {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 437 |     fn compute_packed_nurbs_offsets<'a>(base: &'a [u8], p: &[u32], o2: usize, o3: u32) -> &'a [u8] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 443 |     fn unpack_quantization_types(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 453 |     fn sample_translation(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 480 |     fn sample_rotation(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 502 |     fn sample_scale(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 530 |     fn read_nurbs_curve(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 613 |     fn read_nurbs_quaternion(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_trs` is never used
[INFO] [stdout]   --> src/havok/transform.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl HavokTransform {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn from_trs(translation: [f32; 4], rotation: [f32; 4], scale: [f32; 4]) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/bcn/bitreader.rs:18:28
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub const fn new(data: &[u8], bit_pos: usize) -> BitReader {
[INFO] [stdout]    |                            ^^^^^                     --------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub const fn new(data: &[u8], bit_pos: usize) -> BitReader<'_> {
[INFO] [stdout]    |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 18s
[INFO] running `Command { std: "docker" "inspect" "1e648a3a0f4affb3d950b44a41ddad21942d3e4cc49dc74a4bd7547ec1105ea2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1e648a3a0f4affb3d950b44a41ddad21942d3e4cc49dc74a4bd7547ec1105ea2", kill_on_drop: false }`
[INFO] [stdout] 1e648a3a0f4affb3d950b44a41ddad21942d3e4cc49dc74a4bd7547ec1105ea2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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 -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2429b8bd9bfc71d18535abd66cec0090a98f51c48c6038d11bdc46c98d683f26
[INFO] running `Command { std: "docker" "start" "-a" "2429b8bd9bfc71d18535abd66cec0090a98f51c48c6038d11bdc46c98d683f26", kill_on_drop: false }`
[INFO] [stdout] warning: associated items `read_u16_le`, `align`, `round_up`, `raw`, and `seek` are never used
[INFO] [stdout]   --> src/havok/byte_reader.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<'a> ByteReader<'a> {
[INFO] [stdout]    | ----------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn read_u16_le(&mut self) -> u16 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn align(&mut self, align: usize) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn round_up(num_to_round: usize, multiple: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn raw(&self) -> &[u8] {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn seek(&mut self, offset: usize) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RotationQuantization` is never used
[INFO] [stdout]   --> src/havok/spline_compressed_animation.rs:14:6
[INFO] [stdout]    |
[INFO] [stdout] 14 | enum RotationQuantization {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_raw`, `align`, and `bytes_per_quaternion` are never used
[INFO] [stdout]   --> src/havok/spline_compressed_animation.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl RotationQuantization {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] 24 |     pub fn from_raw(raw: u8) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn align(&self) -> usize {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn bytes_per_quaternion(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ScalarQuantization` is never used
[INFO] [stdout]   --> src/havok/spline_compressed_animation.rs:61:6
[INFO] [stdout]    |
[INFO] [stdout] 61 | enum ScalarQuantization {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_raw` and `bytes_per_component` are never used
[INFO] [stdout]   --> src/havok/spline_compressed_animation.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | impl ScalarQuantization {
[INFO] [stdout]    | ----------------------- associated items in this implementation
[INFO] [stdout] 67 |     pub fn from_raw(raw: u8) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn bytes_per_component(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/havok/spline_compressed_animation.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct HavokSplineCompressedAnimation {
[INFO] [stdout]    |            ------------------------------ fields in this struct
[INFO] [stdout] 84 |     duration: f32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 85 |     number_of_transform_tracks: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 86 |     num_frames: usize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 87 |     num_blocks: usize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 88 |     max_frames_per_block: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |     mask_and_quantization_size: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |     block_inverse_duration: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     frame_duration: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     block_offsets: Vec<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 93 |     data: Vec<u8>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/havok/spline_compressed_animation.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 96  | impl HavokSplineCompressedAnimation {
[INFO] [stdout]     | ----------------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 135 |     fn get_block_and_time(&self, frame: usize, delta: f32) -> (usize, f32, u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     fn find_span(n: usize, p: usize, u: u8, U: &[u8]) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     fn read_knots(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     fn unpack_signed_quaternion_32(data: &[u8]) -> [f32; 4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     fn unpack_signed_quaternion_40(data: &[u8]) -> [f32; 4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 293 |     fn unpack_signed_quaternion_48(data: &[u8]) -> [f32; 4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     fn unpack_quaternion(quantization: &RotationQuantization, data: &[u8]) -> [f32; 4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     fn read_packed_quaternions(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 361 |     fn unpack_vec_8(min_p: [f32; 4], max_p: [f32; 4], vals: &[u8]) -> [f32; 4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 370 |     fn unpack_vec_16(min_p: [f32; 4], max_p: [f32; 4], vals: &[u16]) -> [f32; 4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     fn recompose(stat_mask: u8, dyn_mask: u8, S: [f32; 4], I: [f32; 4], in_out: &mut [f32; 4]) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 395 |     fn evaluate(time: f32, p: usize, U: &[f32], P: &[[f32; 4]]) -> [f32; 4] {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 437 |     fn compute_packed_nurbs_offsets<'a>(base: &'a [u8], p: &[u32], o2: usize, o3: u32) -> &'a [u8] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 443 |     fn unpack_quantization_types(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 453 |     fn sample_translation(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 480 |     fn sample_rotation(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 502 |     fn sample_scale(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 530 |     fn read_nurbs_curve(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 613 |     fn read_nurbs_quaternion(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_trs` is never used
[INFO] [stdout]   --> src/havok/transform.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl HavokTransform {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn from_trs(translation: [f32; 4], rotation: [f32; 4], scale: [f32; 4]) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/bcn/bitreader.rs:18:28
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub const fn new(data: &[u8], bit_pos: usize) -> BitReader {
[INFO] [stdout]    |                            ^^^^^                     --------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub const fn new(data: &[u8], bit_pos: usize) -> BitReader<'_> {
[INFO] [stdout]    |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling physis v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: associated items `read_u16_le`, `align`, `round_up`, `raw`, and `seek` are never used
[INFO] [stdout]   --> src/havok/byte_reader.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<'a> ByteReader<'a> {
[INFO] [stdout]    | ----------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn read_u16_le(&mut self) -> u16 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn align(&mut self, align: usize) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn round_up(num_to_round: usize, multiple: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn raw(&self) -> &[u8] {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn seek(&mut self, offset: usize) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RotationQuantization` is never used
[INFO] [stdout]   --> src/havok/spline_compressed_animation.rs:14:6
[INFO] [stdout]    |
[INFO] [stdout] 14 | enum RotationQuantization {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_raw`, `align`, and `bytes_per_quaternion` are never used
[INFO] [stdout]   --> src/havok/spline_compressed_animation.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl RotationQuantization {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] 24 |     pub fn from_raw(raw: u8) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn align(&self) -> usize {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn bytes_per_quaternion(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ScalarQuantization` is never used
[INFO] [stdout]   --> src/havok/spline_compressed_animation.rs:61:6
[INFO] [stdout]    |
[INFO] [stdout] 61 | enum ScalarQuantization {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_raw` and `bytes_per_component` are never used
[INFO] [stdout]   --> src/havok/spline_compressed_animation.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | impl ScalarQuantization {
[INFO] [stdout]    | ----------------------- associated items in this implementation
[INFO] [stdout] 67 |     pub fn from_raw(raw: u8) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn bytes_per_component(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/havok/spline_compressed_animation.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct HavokSplineCompressedAnimation {
[INFO] [stdout]    |            ------------------------------ fields in this struct
[INFO] [stdout] 84 |     duration: f32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 85 |     number_of_transform_tracks: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 86 |     num_frames: usize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 87 |     num_blocks: usize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 88 |     max_frames_per_block: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 89 |     mask_and_quantization_size: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 90 |     block_inverse_duration: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     frame_duration: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     block_offsets: Vec<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 93 |     data: Vec<u8>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/havok/spline_compressed_animation.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 96  | impl HavokSplineCompressedAnimation {
[INFO] [stdout]     | ----------------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 135 |     fn get_block_and_time(&self, frame: usize, delta: f32) -> (usize, f32, u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     fn find_span(n: usize, p: usize, u: u8, U: &[u8]) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     fn read_knots(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     fn unpack_signed_quaternion_32(data: &[u8]) -> [f32; 4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     fn unpack_signed_quaternion_40(data: &[u8]) -> [f32; 4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 293 |     fn unpack_signed_quaternion_48(data: &[u8]) -> [f32; 4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     fn unpack_quaternion(quantization: &RotationQuantization, data: &[u8]) -> [f32; 4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     fn read_packed_quaternions(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 361 |     fn unpack_vec_8(min_p: [f32; 4], max_p: [f32; 4], vals: &[u8]) -> [f32; 4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 370 |     fn unpack_vec_16(min_p: [f32; 4], max_p: [f32; 4], vals: &[u16]) -> [f32; 4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     fn recompose(stat_mask: u8, dyn_mask: u8, S: [f32; 4], I: [f32; 4], in_out: &mut [f32; 4]) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 395 |     fn evaluate(time: f32, p: usize, U: &[f32], P: &[[f32; 4]]) -> [f32; 4] {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 437 |     fn compute_packed_nurbs_offsets<'a>(base: &'a [u8], p: &[u32], o2: usize, o3: u32) -> &'a [u8] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 443 |     fn unpack_quantization_types(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 453 |     fn sample_translation(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 480 |     fn sample_rotation(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 502 |     fn sample_scale(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 530 |     fn read_nurbs_curve(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 613 |     fn read_nurbs_quaternion(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_trs` is never used
[INFO] [stdout]   --> src/havok/transform.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl HavokTransform {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn from_trs(translation: [f32; 4], rotation: [f32; 4], scale: [f32; 4]) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/bcn/bitreader.rs:18:28
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub const fn new(data: &[u8], bit_pos: usize) -> BitReader {
[INFO] [stdout]    |                            ^^^^^                     --------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub const fn new(data: &[u8], bit_pos: usize) -> BitReader<'_> {
[INFO] [stdout]    |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 29.52s
[INFO] running `Command { std: "docker" "inspect" "2429b8bd9bfc71d18535abd66cec0090a98f51c48c6038d11bdc46c98d683f26", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2429b8bd9bfc71d18535abd66cec0090a98f51c48c6038d11bdc46c98d683f26", kill_on_drop: false }`
[INFO] [stdout] 2429b8bd9bfc71d18535abd66cec0090a98f51c48c6038d11bdc46c98d683f26
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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 -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] b949ec2a79c5d06198450f45111e9bf0192c9f9ec0b4bb8e36c1e59f271d5a17
[INFO] running `Command { std: "docker" "start" "-a" "b949ec2a79c5d06198450f45111e9bf0192c9f9ec0b4bb8e36c1e59f271d5a17", kill_on_drop: false }`
[INFO] [stderr] warning: associated items `read_u16_le`, `align`, `round_up`, `raw`, and `seek` are never used
[INFO] [stderr]   --> src/havok/byte_reader.rs:24:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl<'a> ByteReader<'a> {
[INFO] [stderr]    | ----------------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 24 |     pub fn read_u16_le(&mut self) -> u16 {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 50 |     pub fn align(&mut self, align: usize) {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 54 |     fn round_up(num_to_round: usize, multiple: usize) -> usize {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 67 |     pub fn raw(&self) -> &[u8] {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 71 |     pub fn seek(&mut self, offset: usize) {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: enum `RotationQuantization` is never used
[INFO] [stderr]   --> src/havok/spline_compressed_animation.rs:14:6
[INFO] [stderr]    |
[INFO] [stderr] 14 | enum RotationQuantization {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `from_raw`, `align`, and `bytes_per_quaternion` are never used
[INFO] [stderr]   --> src/havok/spline_compressed_animation.rs:24:12
[INFO] [stderr]    |
[INFO] [stderr] 23 | impl RotationQuantization {
[INFO] [stderr]    | ------------------------- associated items in this implementation
[INFO] [stderr] 24 |     pub fn from_raw(raw: u8) -> Self {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 36 |     pub fn align(&self) -> usize {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 47 |     pub fn bytes_per_quaternion(&self) -> usize {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ScalarQuantization` is never used
[INFO] [stderr]   --> src/havok/spline_compressed_animation.rs:61:6
[INFO] [stderr]    |
[INFO] [stderr] 61 | enum ScalarQuantization {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `from_raw` and `bytes_per_component` are never used
[INFO] [stderr]   --> src/havok/spline_compressed_animation.rs:67:12
[INFO] [stderr]    |
[INFO] [stderr] 66 | impl ScalarQuantization {
[INFO] [stderr]    | ----------------------- associated items in this implementation
[INFO] [stderr] 67 |     pub fn from_raw(raw: u8) -> Self {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75 |     pub fn bytes_per_component(&self) -> usize {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]   --> src/havok/spline_compressed_animation.rs:84:5
[INFO] [stderr]    |
[INFO] [stderr] 83 | pub struct HavokSplineCompressedAnimation {
[INFO] [stderr]    |            ------------------------------ fields in this struct
[INFO] [stderr] 84 |     duration: f32,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 85 |     number_of_transform_tracks: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 86 |     num_frames: usize,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 87 |     num_blocks: usize,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 88 |     max_frames_per_block: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 89 |     mask_and_quantization_size: u32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 90 |     block_inverse_duration: f32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 91 |     frame_duration: f32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 92 |     block_offsets: Vec<u32>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 93 |     data: Vec<u8>,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/havok/spline_compressed_animation.rs:135:8
[INFO] [stderr]     |
[INFO] [stderr] 96  | impl HavokSplineCompressedAnimation {
[INFO] [stderr]     | ----------------------------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 135 |     fn get_block_and_time(&self, frame: usize, delta: f32) -> (usize, f32, u8) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 152 |     fn find_span(n: usize, p: usize, u: u8, U: &[u8]) -> usize {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 174 |     fn read_knots(
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 197 |     fn unpack_signed_quaternion_32(data: &[u8]) -> [f32; 4] {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 234 |     fn unpack_signed_quaternion_40(data: &[u8]) -> [f32; 4] {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 293 |     fn unpack_signed_quaternion_48(data: &[u8]) -> [f32; 4] {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 329 |     fn unpack_quaternion(quantization: &RotationQuantization, data: &[u8]) -> [f32; 4] {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 338 |     fn read_packed_quaternions(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 361 |     fn unpack_vec_8(min_p: [f32; 4], max_p: [f32; 4], vals: &[u8]) -> [f32; 4] {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 370 |     fn unpack_vec_16(min_p: [f32; 4], max_p: [f32; 4], vals: &[u16]) -> [f32; 4] {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 380 |     fn recompose(stat_mask: u8, dyn_mask: u8, S: [f32; 4], I: [f32; 4], in_out: &mut [f32; 4]) {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 395 |     fn evaluate(time: f32, p: usize, U: &[f32], P: &[[f32; 4]]) -> [f32; 4] {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 437 |     fn compute_packed_nurbs_offsets<'a>(base: &'a [u8], p: &[u32], o2: usize, o3: u32) -> &'a [u8] {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 443 |     fn unpack_quantization_types(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 453 |     fn sample_translation(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 480 |     fn sample_rotation(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 502 |     fn sample_scale(
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 530 |     fn read_nurbs_curve(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 613 |     fn read_nurbs_quaternion(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `from_trs` is never used
[INFO] [stderr]   --> src/havok/transform.rs:22:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | impl HavokTransform {
[INFO] [stderr]    | ------------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 22 |     pub fn from_trs(translation: [f32; 4], rotation: [f32; 4], scale: [f32; 4]) -> Self {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/bcn/bitreader.rs:18:28
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub const fn new(data: &[u8], bit_pos: usize) -> BitReader {
[INFO] [stderr]    |                            ^^^^^                     --------- the lifetime gets resolved as `'_`
[INFO] [stderr]    |                            |
[INFO] [stderr]    |                            this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub const fn new(data: &[u8], bit_pos: usize) -> BitReader<'_> {
[INFO] [stderr]    |                                                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `physis` (lib) generated 9 warnings
[INFO] [stderr] warning: `physis` (lib test) generated 9 warnings (9 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/physis-1a93ef9685686d06)
[INFO] [stdout] 
[INFO] [stdout] running 86 tests
[INFO] [stdout] test blowfish::tests::test_encrypt_decrypt ... ok
[INFO] [stdout] test bootdata::tests::test_invalid_boot_dir ... ok
[INFO] [stdout] test bootdata::tests::test_valid_boot_dir ... ok
[INFO] [stdout] test common_file_operations::tests::read_string ... ok
[INFO] [stdout] test common_file_operations::tests::get_string_len ... ok
[INFO] [stdout] test common_file_operations::tests::read_bool_u8 ... ok
[INFO] [stdout] test common_file_operations::tests::write_bool_u8 ... ok
[INFO] [stdout] test equipment::tests::test_deconstruct ... ok
[INFO] [stdout] test equipment::tests::test_equipment_path ... ok
[INFO] [stdout] test common_file_operations::tests::write_string ... ok
[INFO] [stdout] test crc::tests::check_jamcrc ... ok
[INFO] [stdout] test exd::tests::test_write ... ok
[INFO] [stdout] test exd::tests::test_write_many_columns ... ok
[INFO] [stdout] test exd::tests::test_read_strings ... ok
[INFO] [stdout] test cfg::tests::basic_parsing ... ok
[INFO] [stdout] EXLT,2
[INFO] [stdout] Foo,4
[INFO] [stdout] Bar,-1test exd::tests::test_write_strings ... ok
[INFO] [stdout] test exd::tests::test_read ... ok
[INFO] [stdout] test exl::tests::version_parsing ... ok
[INFO] [stdout] test exl::tests::contains ... ok
[INFO] [stdout] test cfg::tests::basic_writing ... ok
[INFO] [stdout] test exl::tests::test_write ... ok
[INFO] [stdout] test exh::tests::test_read ... ok
[INFO] [stdout] test fiin::tests::basic_parsing ... ok
[INFO] [stdout] test fiin::tests::basic_writing ... ok
[INFO] [stdout] test exd::tests::test_invalid ... ok
[INFO] [stdout] test cfg::tests::test_invalid ... ok
[INFO] [stdout] test model::file_operations::tests::byte_float4 ... ok
[INFO] [stdout] test layer::tests::write_empty_planlive ... ok
[INFO] [stdout] test exh::tests::test_write ... ok
[INFO] [stdout] test model::file_operations::tests::single3 ... ok
[INFO] [stdout] test model::file_operations::tests::half4 ... ok
[INFO] [stdout] test gamedata::tests::repository_ordering ... ok
[INFO] [stdout] test gamedata::tests::repository_and_category_parsing ... ok
[INFO] [stdout] test model::file_operations::tests::tangent ... ok
[INFO] [stdout] test model::file_operations::tests::uint ... ok
[INFO] [stdout] test model::tests::test_file_header_size ... ok
[INFO] [stdout] test crc::tests::check_xivcrc ... ok
[INFO] [stdout] test layer::tests::read_empty_planlive ... ok
[INFO] [stdout] test model::file_operations::tests::half2 ... ok
[INFO] [stdout] test model::file_operations::tests::pad_slice ... ok
[INFO] [stdout] test model::tests::test_stack_size ... ok
[INFO] [stdout] test model::tests::test_vertex_element_size ... ok
[INFO] [stdout] test mtrl::tests::test_invalid ... ok
[INFO] [stdout] test model::file_operations::tests::single4 ... ok
[INFO] [stdout] test fiin::tests::test_invalid ... ok
[INFO] [stdout] test model::tests::test_update_vertices ... ok
[INFO] [stdout] test race::tests::test_convert_race_num ... ok
[INFO] [stdout] test repository::tests::test_base ... ok
[INFO] [stdout] test patchlist::tests::test_boot_patch_output ... ok
[INFO] [stdout] test patchlist::tests::test_boot_patch_parsing ... ok
[INFO] [stdout] test patchlist::tests::test_game_patch_output ... ok
[INFO] [stdout] test repository::tests::test_ps3_filenames ... ok
[INFO] [stdout] test repository::tests::test_win32_filenames ... ok
[INFO] [stdout] test savedata::chardat::tests::read_heavensward ... ok
[INFO] [stdout] test repository::tests::test_ps4_filenames ... ok
[INFO] [stdout] test savedata::chardat::tests::read_shadowbringers ... ok
[INFO] [stdout] test repository::tests::test_expansion ... ok
[INFO] [stdout] test savedata::chardat::tests::read_stormblood ... ok
[INFO] [stdout] test savedata::chardat::tests::write_shadowbringers ... ok
[INFO] [stdout] test savedata::gearsets::tests::test_invalid ... ok
[INFO] [stdout] test savedata::gearsets::tests::write_simple ... ok
[INFO] [stdout] test savedata::gearsets::tests::read_simple ... ok
[INFO] [stdout] test savedata::log::tests::test_invalid ... ok
[INFO] [stdout] test shpk::tests::test_crc ... ok
[INFO] [stdout] test shpk::tests::test_selector ... ok
[INFO] [stdout] test shpk::tests::test_invalid ... ok
[INFO] [stdout] test sqpack::data::tests::test_invalid ... ok
[INFO] [stdout] test skeleton::tests::test_invalid ... ok
[INFO] [stdout] test sqpack::index::tests::test_index_invalid ... ok
[INFO] [stdout] test savedata::chardat::tests::read_arr ... ok
[INFO] [stdout] test patchlist::tests::test_game_patch_parsing ... ok
[INFO] [stdout] test tera::tests::test_invalid ... ok
[INFO] [stdout] test pbd::tests::test_invalid ... ok
[INFO] [stdout] test tex::tests::test_invalid ... ok
[INFO] [stdout] test exl::tests::test_invalid ... ok
[INFO] [stdout] test layer::tests::test_invalid ... ok
[INFO] [stdout] test model::tests::test_parsing ... ok
[INFO] [stdout] test dic::tests::test_invalid ... ok
[INFO] [stdout] test patch::tests::test_invalid ... ok
[INFO] [stdout] test savedata::chardat::tests::test_invalid ... ok
[INFO] [stdout] test exh::tests::test_invalid ... ok
[INFO] [stdout] test model::tests::test_invalid ... ok
[INFO] [stdout] test cmp::tests::test_invalid ... ok
[INFO] [stdout] test sqpack::index::tests::readwrite_index1_file_entry ... ok
[INFO] [stdout] test model::tests::test_update_headers ... ok
[INFO] [stdout] test patch::tests::test_add_file_op ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 86 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests physis
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test src/blowfish/mod.rs - blowfish::Blowfish (line 16) ... ok
[INFO] [stdout] test src/exl.rs - exl::EXL::contains (line 66) ... ok
[INFO] [stdout] test src/gamedata.rs - gamedata::GameData::exists (line 145) ... ok
[INFO] [stdout] test src/gamedata.rs - gamedata::GameData::from_existing (line 63) ... ok
[INFO] [stdout] test src/bootdata.rs - bootdata::BootData::from_existing (line 25) ... ok
[INFO] [stdout] test src/gamedata.rs - gamedata::GameData::extract (line 168) - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "b949ec2a79c5d06198450f45111e9bf0192c9f9ec0b4bb8e36c1e59f271d5a17", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b949ec2a79c5d06198450f45111e9bf0192c9f9ec0b4bb8e36c1e59f271d5a17", kill_on_drop: false }`
[INFO] [stdout] b949ec2a79c5d06198450f45111e9bf0192c9f9ec0b4bb8e36c1e59f271d5a17
