[INFO] cloning repository https://github.com/joaopcmiranda/forge-engine
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/joaopcmiranda/forge-engine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjoaopcmiranda%2Fforge-engine", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjoaopcmiranda%2Fforge-engine'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8ecb059a3c61977752e49024e7a75c8095962cd9
[INFO] testing joaopcmiranda/forge-engine against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjoaopcmiranda%2Fforge-engine" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/joaopcmiranda/forge-engine
[INFO] finished tweaking git repo https://github.com/joaopcmiranda/forge-engine
[INFO] tweaked toml for git repo https://github.com/joaopcmiranda/forge-engine written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/joaopcmiranda/forge-engine on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/joaopcmiranda/forge-engine 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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4c7eab54fd94587eba9cdb308623510b1bef782da2eae976a7c44b8d7441577b
[INFO] running `Command { std: "docker" "start" "-a" "4c7eab54fd94587eba9cdb308623510b1bef782da2eae976a7c44b8d7441577b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4c7eab54fd94587eba9cdb308623510b1bef782da2eae976a7c44b8d7441577b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4c7eab54fd94587eba9cdb308623510b1bef782da2eae976a7c44b8d7441577b", kill_on_drop: false }`
[INFO] [stdout] 4c7eab54fd94587eba9cdb308623510b1bef782da2eae976a7c44b8d7441577b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 03d24d2315c5a51315c9c9cf1e8e8d22da1f07e4c11e322b55e6b306c8cd8757
[INFO] running `Command { std: "docker" "start" "-a" "03d24d2315c5a51315c9c9cf1e8e8d22da1f07e4c11e322b55e6b306c8cd8757", kill_on_drop: false }`
[INFO] [stderr]    Compiling forge-engine v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Vec2`, `Vec3`, and `Vec4`
[INFO] [stdout]  --> src/math/vector/swizzle.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::math::{Vec2, Vec3, Vec4};
[INFO] [stdout]   |                   ^^^^  ^^^^  ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Quaternion` is never constructed
[INFO] [stdout]  --> src/math/complex/quaternion/mod.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub  struct Quaternion {
[INFO] [stdout]   |             ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Quaternion` is never constructed
[INFO] [stdout]  --> src/math/complex/duonion/mod.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub  struct Quaternion {
[INFO] [stdout]   |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Quaternion` is never constructed
[INFO] [stdout]  --> src/math/complex/complex_number/mod.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub  struct Quaternion {
[INFO] [stdout]   |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.62s
[INFO] running `Command { std: "docker" "inspect" "03d24d2315c5a51315c9c9cf1e8e8d22da1f07e4c11e322b55e6b306c8cd8757", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "03d24d2315c5a51315c9c9cf1e8e8d22da1f07e4c11e322b55e6b306c8cd8757", kill_on_drop: false }`
[INFO] [stdout] 03d24d2315c5a51315c9c9cf1e8e8d22da1f07e4c11e322b55e6b306c8cd8757
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c9da0a917ba3130b28c48c7a10deb0a7d907433603b303b6f309785bce6aae68
[INFO] running `Command { std: "docker" "start" "-a" "c9da0a917ba3130b28c48c7a10deb0a7d907433603b303b6f309785bce6aae68", kill_on_drop: false }`
[INFO] [stderr]    Compiling forge-engine v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Vec2`, `Vec3`, and `Vec4`
[INFO] [stdout]  --> src/math/vector/swizzle.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::math::{Vec2, Vec3, Vec4};
[INFO] [stdout]   |                   ^^^^  ^^^^  ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Quaternion` is never constructed
[INFO] [stdout]  --> src/math/complex/quaternion/mod.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub  struct Quaternion {
[INFO] [stdout]   |             ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Quaternion` is never constructed
[INFO] [stdout]  --> src/math/complex/duonion/mod.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub  struct Quaternion {
[INFO] [stdout]   |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Quaternion` is never constructed
[INFO] [stdout]  --> src/math/complex/complex_number/mod.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub  struct Quaternion {
[INFO] [stdout]   |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Quaternion` is never constructed
[INFO] [stdout]  --> src/math/complex/quaternion/mod.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub  struct Quaternion {
[INFO] [stdout]   |             ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Quaternion` is never constructed
[INFO] [stdout]  --> src/math/complex/duonion/mod.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub  struct Quaternion {
[INFO] [stdout]   |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Quaternion` is never constructed
[INFO] [stdout]  --> src/math/complex/complex_number/mod.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub  struct Quaternion {
[INFO] [stdout]   |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.47s
[INFO] running `Command { std: "docker" "inspect" "c9da0a917ba3130b28c48c7a10deb0a7d907433603b303b6f309785bce6aae68", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c9da0a917ba3130b28c48c7a10deb0a7d907433603b303b6f309785bce6aae68", kill_on_drop: false }`
[INFO] [stdout] c9da0a917ba3130b28c48c7a10deb0a7d907433603b303b6f309785bce6aae68
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 90a068e9ac9519509393bbbbba8e36ac9e49d4f88738ffde8b92c5d77cfede11
[INFO] running `Command { std: "docker" "start" "-a" "90a068e9ac9519509393bbbbba8e36ac9e49d4f88738ffde8b92c5d77cfede11", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `Vec2`, `Vec3`, and `Vec4`
[INFO] [stderr]  --> src/math/vector/swizzle.rs:1:19
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::math::{Vec2, Vec3, Vec4};
[INFO] [stderr]   |                   ^^^^  ^^^^  ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Quaternion` is never constructed
[INFO] [stderr]  --> src/math/complex/quaternion/mod.rs:1:13
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub  struct Quaternion {
[INFO] [stderr]   |             ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Quaternion` is never constructed
[INFO] [stderr]  --> src/math/complex/duonion/mod.rs:1:13
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub  struct Quaternion {
[INFO] [stderr]   |             ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Quaternion` is never constructed
[INFO] [stderr]  --> src/math/complex/complex_number/mod.rs:1:13
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub  struct Quaternion {
[INFO] [stderr]   |             ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `forge-engine` (lib) generated 4 warnings (run `cargo fix --lib -p forge-engine` to apply 1 suggestion)
[INFO] [stderr] warning: `forge-engine` (lib test) generated 3 warnings (3 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/forge_engine-dd7a3eda696ce9e3)
[INFO] [stdout] 
[INFO] [stdout] running 224 tests
[INFO] [stdout] test math::matrix::mat2::tests::test_conversions ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_accessors ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_determinant ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_default ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_flip_matrices ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_indexing ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_constants ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_inverse ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_matrix_addition ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_matrix_division ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_matrix_subtraction ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_matrix_multiplication ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_matrix_vector_multiplication ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_multiplication_associativity ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_negation ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_scalar_division ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_scalar_multiplication ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_setters ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_trace ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_transpose ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_utility_operations ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_accessors ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_arbitrary_axis_rotation ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_chainable_operations ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_constructors ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_constructors ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_conversions ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_default ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_determinant ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_indexing ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_inverse ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_matrix_addition ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_matrix_division ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_matrix_multiplication ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_matrix_subtraction ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_matrix_vector_multiplication ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_constants ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_negation ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_minor ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_out_of_bounds_access - should panic ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_out_of_bounds_row - should panic ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_scalar_division_by_zero - should panic ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_out_of_bounds_col_set - should panic ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_out_of_bounds_set - should panic ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_scalar_division ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_out_of_bounds_col_set - should panic ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_out_of_bounds_row - should panic ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_setters ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_out_of_bounds_access - should panic ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_transformation_constructors ... ok
[INFO] [stdout] test math::matrix::mat2::tests::test_out_of_bounds_set - should panic ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_utility_operations ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_from_cols ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_from_look_at_orthogonal_basis ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_from_mul_associativity ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_from_mul_identity ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_from_mul_known_result ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_from_mul_translation_composition ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_from_rows ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_scalar_division_by_zero - should panic ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_scalar_multiplication ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_new ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_perspective_aspect_ratio ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_perspective_basic_properties ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_trace ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_perspective_invalid_far - should panic ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_from_mul_non_commutative ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_perspective_invalid_near - should panic ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_perspective_invalid_fov - should panic ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_inverse_transformations ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_rotation_arbitrary_axis_90_degrees ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_rotation_arbitrary_axis_identity ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_rotation_preserves_axis ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_rotation_preserves_length ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_rotation_x_180_degrees ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_rotation_x_90_degrees ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_rotation_x_identity ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_rotation_y_identity ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_rotation_z_90_degrees ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_rotation_z_identity ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_scaling_basic ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_scaling_identity ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_scaling_transform_point ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_transformation_composition ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_translation_basic ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_from_rows_from_cols_consistency ... ok
[INFO] [stdout] test math::matrix::mat3::tests::test_transpose ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_translation_identity ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_from_look_at_identity_case ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_translation_transform_point ... ok
[INFO] [stdout] test math::point::point2d::tests::test_point_creation ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_perspective_invalid_aspect - should panic ... ok
[INFO] [stdout] test math::point::point2d::tests::test_point_subtraction ... ok
[INFO] [stdout] test math::vector::swizzle::tests::test_szle ... ok
[INFO] [stdout] test math::vector::tests::test_division_by_zero ... ok
[INFO] [stdout] test math::point::point2d::tests::test_point_translation ... ok
[INFO] [stdout] test math::vector::tests::test_angle_between_parallel_vectors ... ok
[INFO] [stdout] test math::vector::tests::test_infinity_handling ... ok
[INFO] [stdout] test math::vector::tests::test_magnitude_squared_vs_magnitude ... ok
[INFO] [stdout] test math::vector::tests::test_nan_propagation ... ok
[INFO] [stdout] test math::vector::tests::test_perpendicular_to_zero ... ok
[INFO] [stdout] test math::vector::tests::test_normalize_zero_vector ... ok
[INFO] [stdout] test math::vector::tests::test_project_onto_zero_vector ... ok
[INFO] [stdout] test math::vector::tests::test_operators_produce_same_results_as_functions ... ok
[INFO] [stdout] test math::vector::tests::test_reflect_with_non_unit_normal ... ok
[INFO] [stdout] test math::vector::tests::test_vector2_to_vector3_conversion ... ok
[INFO] [stdout] test math::vector::tests::test_vector4_to_vector3_conversion ... ok
[INFO] [stdout] test math::vector::tests::test_vector3_to_vector4_conversion ... ok
[INFO] [stdout] test math::vector::tests::test_vector3_to_vector2_conversion ... ok
[INFO] [stdout] test math::vector::tests::test_very_large_vectors ... ok
[INFO] [stdout] test math::vector::tests::test_very_small_vectors ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_add ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_angle ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_abs ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_angle_between ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_add_assign ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_clamp ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_constants ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_cross ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_construction ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_conversions ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_default ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_rotation_y_90_degrees ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_div ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_div_assign ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_dot ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_distance ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_index_out_of_bounds - should panic ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_from_angle ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_indexing ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_from_tuple ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_is_normalised ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_lerp ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_min_max ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_mul ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_magnitude ... ok
[INFO] [stdout] test math::matrix::mat4::tests::test_translation_transform_direction ... ok
[INFO] [stdout] test math::point::point2d::tests::test_inherited_vec2_methods ... ok
[INFO] [stdout] test math::point::point2d::tests::test_conversions ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_is_zero ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_neg ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_perpendicular ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_pow_sqrt ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_reflect ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_sub ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_mul_assign ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_rotate ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_normalized ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_project_reject ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_safe_normal ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_add ... ok
[INFO] [stdout] test math::vector::vec2::tests::test_vector2_sub_assign ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_angle_between ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_default ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_add_assign ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_cross ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_construction ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_indexing_in_loops ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_abs ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_clamp ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_constants ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_distance ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_div ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_div_assign ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_dot ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_equals_with_precision_high ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_lerp ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_equals_default_precision ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_equals_with_precision_low ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_indexing ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_magnitude ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_min_max ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_mul_assign ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_mul ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_neg ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_normalized ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_from_tuple ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_index_out_of_bounds - should panic ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_not_equals ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_pow_sqrt ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_is_normalised ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_is_zero ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_project_reject ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_reflect ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_safe_normal ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_sub ... ok
[INFO] [stdout] test math::vector::vec3::tests::test_vector3_sub_assign ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_abs ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_add ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_clamp ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_construction ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_add_assign ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_from_tuple ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_dot ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_from_vec3 ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_from_array ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_from_vector2 ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_from_vector3 ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_indexing ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_is_normalised ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_is_zero ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_lerp ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_magnitude ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_min_max ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_constants ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_distance ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_div ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_div_assign ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_default ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_index_out_of_bounds - should panic ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_normalized ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_normalized_zero ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_reflect ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_safe_normal ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_sub ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_sub_assign ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_to_vector3 ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_mul ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_mul_assign ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_neg ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_pow_sqrt ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_project_reject ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_to_array ... ok
[INFO] [stdout] test math::vector::vec4::tests::test_vector4_to_tuple ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 224 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests forge_engine
[INFO] [stdout] 
[INFO] [stdout] running 95 tests
[INFO] [stdout] test src/math/point/point2d/mod.rs - math::point::point2d::Point2D::translate_mut (line 105) ... ok
[INFO] [stdout] test src/math/point/point2d/mod.rs - math::point::point2d::Point2D::vector_to (line 124) ... ok
[INFO] [stdout] test src/math/point/point2d/mod.rs - math::point::point2d::Point2D::midpoint (line 144) ... ok
[INFO] [stdout] test src/math/point/point2d/mod.rs - math::point::point2d::Point2D (line 12) ... ok
[INFO] [stdout] test src/math/point/point2d/mod.rs - math::point::point2d::Point2D::new (line 42) ... ok
[INFO] [stdout] test src/math/point/point2d/mod.rs - math::point::point2d::Point2D::from_vec2 (line 179) ... ok
[INFO] [stdout] test src/math/point/point2d/mod.rs - math::point::point2d::Point2D::translate (line 85) ... ok
[INFO] [stdout] test src/math/point/point2d/mod.rs - math::point::point2d::Point2D::to_vec2 (line 160) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::angle (line 639) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2 (line 143) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2 (line 18) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::abs (line 733) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2 (line 127) ... ok
[INFO] [stdout] test src/math/vector/swizzle.rs - math::vector::swizzle::s (line 6) ... FAILED
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::cross (line 453) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::index_mut (line 212) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::dot (line 394) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::angle_between (line 664) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::distance (line 609) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::clamp (line 790) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::from_angle (line 75) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::is_zero (line 531) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::index (line 184) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::magnitude (line 472) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::is_normalised (line 548) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::lerp (line 589) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::max (line 770) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::magnitude_squared (line 490) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::normalized (line 507) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::min (line 751) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::perpendicular (line 715) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::pow (line 414) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::rotate (line 689) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::safe_normal (line 565) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::new (line 56) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::reflect (line 861) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::project_onto (line 812) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::sqrt (line 430) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::reject_from (line 839) ... ok
[INFO] [stdout] test src/math/vector/vec2/mod.rs - math::vector::vec2::Vec2::vec3 (line 880) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3 (line 157) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3 (line 173) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3 (line 19) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3::angle_between (line 816) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3 (line 191) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3::abs (line 729) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3::clamp (line 794) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3::cross (line 534) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3::dot (line 475) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3::distance (line 701) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3::is_normalised (line 640) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3::is_zero (line 623) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3::index (line 234) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3::max (line 770) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3::magnitude (line 558) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3::index_mut (line 265) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3::lerp (line 681) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3::magnitude_squared (line 582) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3::reject_from (line 868) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3::pow (line 495) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3::new (line 60) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3::normalized (line 599) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3::reflect (line 890) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3::project_onto (line 841) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4 (line 20) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3::min (line 747) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3::sqrt (line 511) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4 (line 227) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4 (line 209) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4 (line 191) ... ok
[INFO] [stdout] test src/math/vector/vec3/mod.rs - math::vector::vec3::Vec3::safe_normal (line 657) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4 (line 260) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4 (line 244) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4::abs (line 920) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4::distance (line 892) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4::index (line 361) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4::is_zero (line 814) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4::from_vec3 (line 92) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4::lerp (line 872) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4::clamp (line 987) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4::index_mut (line 395) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4::is_normalised (line 831) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4::magnitude (line 755) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4::max (line 962) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4::dot (line 695) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4::magnitude_squared (line 773) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4::pow (line 715) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4::min (line 938) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4::project_onto (line 1009) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4::normalized (line 790) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4::safe_normal (line 848) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4::reject_from (line 1036) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4::sqrt (line 736) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4::new (line 67) ... ok
[INFO] [stdout] test src/math/vector/vec4/mod.rs - math::vector::vec4::Vec4::reflect (line 1058) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/math/vector/swizzle.rs - math::vector::swizzle::s (line 6) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Vec2`
[INFO] [stdout]   --> src/math/vector/swizzle.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | let xy = s!(v, x y);        // Vec2(1.0, 2.0)
[INFO] [stdout]    |          ^^^^^^^^^^ use of undeclared type `Vec2`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `s` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 25 -         Vec2::new(s!(@get $v, $c1), s!(@get $v, $c2))
[INFO] [stdout] 25 +         Vec::new(s!(@get $v, $c1), s!(@get $v, $c2))
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  5 + use forge_engine::math::Vec2;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Vec3`
[INFO] [stdout]   --> src/math/vector/swizzle.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | let zyx = s!(v, z y x);     // Vec3(3.0, 2.0, 1.0)
[INFO] [stdout]    |           ^^^^^^^^^^^^ use of undeclared type `Vec3`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `s` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 29 -         Vec3::new(s!(@get $v, $c1), s!(@get $v, $c2), s!(@get $v, $c3))
[INFO] [stdout] 29 +         Vec::new(s!(@get $v, $c1), s!(@get $v, $c2), s!(@get $v, $c3))
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  5 + use forge_engine::math::Vec3;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Vec3`
[INFO] [stdout]   --> src/math/vector/swizzle.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 | let padded = s!(v, x 0 z);
[INFO] [stdout]    |              ^^^^^^^^^^^^ use of undeclared type `Vec3`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `s` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 29 -         Vec3::new(s!(@get $v, $c1), s!(@get $v, $c2), s!(@get $v, $c3))
[INFO] [stdout] 29 +         Vec::new(s!(@get $v, $c1), s!(@get $v, $c2), s!(@get $v, $c3))
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  5 + use forge_engine::math::Vec3;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/math/vector/swizzle.rs - math::vector::swizzle::s (line 6)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 94 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 7.07s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 7.33s; merged doctests compilation took 0.26s
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "90a068e9ac9519509393bbbbba8e36ac9e49d4f88738ffde8b92c5d77cfede11", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "90a068e9ac9519509393bbbbba8e36ac9e49d4f88738ffde8b92c5d77cfede11", kill_on_drop: false }`
[INFO] [stdout] 90a068e9ac9519509393bbbbba8e36ac9e49d4f88738ffde8b92c5d77cfede11
