[INFO] cloning repository https://github.com/marasama/linear_algebra
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/marasama/linear_algebra" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarasama%2Flinear_algebra", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarasama%2Flinear_algebra'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 398c4415a10ba79046ee8452d78de3690ce5175b
[INFO] testing marasama/linear_algebra against master#d98a5da813da67eb189387b8ccfb73cf481275d8+rustflags=-Copt-level=3 for pr-138759-retry
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarasama%2Flinear_algebra" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/marasama/linear_algebra
[INFO] finished tweaking git repo https://github.com/marasama/linear_algebra
[INFO] tweaked toml for git repo https://github.com/marasama/linear_algebra written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/marasama/linear_algebra on toolchain d98a5da813da67eb189387b8ccfb73cf481275d8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/marasama/linear_algebra 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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1db1df5d72f2e227cbdf260e2e549b59fd1aff0ef5cbac30e9717813a7e5d832
[INFO] running `Command { std: "docker" "start" "-a" "1db1df5d72f2e227cbdf260e2e549b59fd1aff0ef5cbac30e9717813a7e5d832", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1db1df5d72f2e227cbdf260e2e549b59fd1aff0ef5cbac30e9717813a7e5d832", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1db1df5d72f2e227cbdf260e2e549b59fd1aff0ef5cbac30e9717813a7e5d832", kill_on_drop: false }`
[INFO] [stdout] 1db1df5d72f2e227cbdf260e2e549b59fd1aff0ef5cbac30e9717813a7e5d832
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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 -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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3b9518fce8030e8b01b552745bd3049ee026d4ed3cf3b4a5a1dd66ae51949ba1
[INFO] running `Command { std: "docker" "start" "-a" "3b9518fce8030e8b01b552745bd3049ee026d4ed3cf3b4a5a1dd66ae51949ba1", kill_on_drop: false }`
[INFO] [stderr]    Compiling ft_matrix v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `super::funcs::linear_combination`
[INFO] [stdout]  --> src/algebra/vector.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::funcs::linear_combination;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `index` is never used
[INFO] [stdout]   --> src/algebra/matrix.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl<K: Float> Matrix<K> {
[INFO] [stdout]    | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 93 |     fn index(&self, r: usize, c: usize) -> usize {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]   --> src/algebra/funcs.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let M = self.rows;
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `m`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `N` should have a snake case name
[INFO] [stdout]   --> src/algebra/funcs.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let N = self.cols;
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P` should have a snake case name
[INFO] [stdout]   --> src/algebra/funcs.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let P = mat.cols;
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::funcs::linear_combination`
[INFO] [stdout]  --> src/algebra/vector.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::funcs::linear_combination;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/main.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut b = a.inverse().unwrap();
[INFO] [stdout]   |         ----^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `mul_vec`, `mul_mat`, `trace`, and `transpose` are never used
[INFO] [stdout]    --> src/algebra/funcs.rs:54:12
[INFO] [stdout]     |
[INFO] [stdout] 53  | impl<K: Float> Matrix<K> {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] 54  |     pub fn mul_vec(&mut self, vec: Vector<K>) -> Vector<K> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68  |     pub fn mul_mat(&mut self, mat: Matrix<K>) -> Matrix<K> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94  |     pub fn trace(&mut self) -> K {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn transpose(&mut self) -> Matrix<K> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `row_echelon` and `gaussian_elimination` are never used
[INFO] [stdout]    --> src/algebra/funcs.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl<K: Float> Matrix<K> {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn row_echelon(&mut self) -> Matrix<K> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn gaussian_elimination(&mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `angle_cos` is never used
[INFO] [stdout]    --> src/algebra/funcs.rs:266:8
[INFO] [stdout]     |
[INFO] [stdout] 266 | pub fn angle_cos<K: Float>(u: &Vector<K>, v: &Vector<K>) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cross_product` is never used
[INFO] [stdout]    --> src/algebra/funcs.rs:278:8
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub fn cross_product<K: Float>(u: &Vector<K>, v: &Vector<K>) -> Vector<K> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `linear_combination` is never used
[INFO] [stdout]    --> src/algebra/funcs.rs:290:8
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub fn linear_combination<K: Float>(u: &[Vector<K>], coefs: &[K]) -> Vector<K> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp` is never used
[INFO] [stdout]    --> src/algebra/funcs.rs:320:8
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub fn lerp<V>(u: V, v: V, t: f32) -> V
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LerpImp` is never used
[INFO] [stdout]    --> src/algebra/funcs.rs:327:11
[INFO] [stdout]     |
[INFO] [stdout] 327 | pub trait LerpImp: Sized {
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add`, `sub`, and `scl` are never used
[INFO] [stdout]   --> src/algebra/matrix.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | / impl<K: Float> Matrix<K>
[INFO] [stdout] 15 | | where
[INFO] [stdout] 16 | |     K: AddAssign + SubAssign + MulAssign + Copy,
[INFO] [stdout]    | |________________________________________________- methods in this implementation
[INFO] [stdout] 17 |   {
[INFO] [stdout] 18 |       pub fn add(&mut self, v: &Matrix<K>) {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |       pub fn sub(&mut self, v: &Matrix<K>) {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |       pub fn scl(&mut self, a: K) {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/algebra/matrix.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl<K: Float> Matrix<K> {
[INFO] [stdout]    | ------------------------ associated items in this implementation
[INFO] [stdout] 50 |     pub fn new(m: Vec<K>, r: usize, c: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn zero(r: usize, c: usize) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn identity(r: usize, c: usize) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn print_size(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn size(&self) -> (usize, usize) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     fn index(&self, r: usize, c: usize) -> usize {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn get_val(&self, r: usize, c: usize) -> &K {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn get_val_mut(&mut self, r: usize, c: usize) -> &K {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]   --> src/algebra/funcs.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let M = self.rows;
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `m`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `N` should have a snake case name
[INFO] [stdout]   --> src/algebra/funcs.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let N = self.cols;
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P` should have a snake case name
[INFO] [stdout]   --> src/algebra/funcs.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let P = mat.cols;
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.09s
[INFO] running `Command { std: "docker" "inspect" "3b9518fce8030e8b01b552745bd3049ee026d4ed3cf3b4a5a1dd66ae51949ba1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3b9518fce8030e8b01b552745bd3049ee026d4ed3cf3b4a5a1dd66ae51949ba1", kill_on_drop: false }`
[INFO] [stdout] 3b9518fce8030e8b01b552745bd3049ee026d4ed3cf3b4a5a1dd66ae51949ba1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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 -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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3dcb66734b5e519da2fb5018e13758f78ae9205d3a8a80e00de2658a9c431e09
[INFO] running `Command { std: "docker" "start" "-a" "3dcb66734b5e519da2fb5018e13758f78ae9205d3a8a80e00de2658a9c431e09", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `super::funcs::linear_combination`
[INFO] [stdout]  --> src/algebra/vector.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::funcs::linear_combination;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `index` is never used
[INFO] [stdout]   --> src/algebra/matrix.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl<K: Float> Matrix<K> {
[INFO] [stdout]    | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 93 |     fn index(&self, r: usize, c: usize) -> usize {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ft_matrix v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]   --> src/algebra/funcs.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let M = self.rows;
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `m`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `N` should have a snake case name
[INFO] [stdout]   --> src/algebra/funcs.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let N = self.cols;
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P` should have a snake case name
[INFO] [stdout]   --> src/algebra/funcs.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let P = mat.cols;
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/main.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut b = a.inverse().unwrap();
[INFO] [stdout]   |         ----^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `gaussian_elimination` is never used
[INFO] [stdout]    --> src/algebra/funcs.rs:177:12
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl<K: Float> Matrix<K> {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn gaussian_elimination(&mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `zero`, `identity`, `print_size`, `index`, `get_val`, and `get_val_mut` are never used
[INFO] [stdout]   --> src/algebra/matrix.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl<K: Float> Matrix<K> {
[INFO] [stdout]    | ------------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn zero(r: usize, c: usize) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn identity(r: usize, c: usize) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn print_size(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     fn index(&self, r: usize, c: usize) -> usize {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn get_val(&self, r: usize, c: usize) -> &K {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn get_val_mut(&mut self, r: usize, c: usize) -> &K {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]   --> src/algebra/funcs.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let M = self.rows;
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `m`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `N` should have a snake case name
[INFO] [stdout]   --> src/algebra/funcs.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let N = self.cols;
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P` should have a snake case name
[INFO] [stdout]   --> src/algebra/funcs.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let P = mat.cols;
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `index` is never used
[INFO] [stdout]   --> src/algebra/matrix.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl<K: Float> Matrix<K> {
[INFO] [stdout]    | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 93 |     fn index(&self, r: usize, c: usize) -> usize {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]   --> src/algebra/funcs.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let M = self.rows;
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `m`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `N` should have a snake case name
[INFO] [stdout]   --> src/algebra/funcs.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let N = self.cols;
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P` should have a snake case name
[INFO] [stdout]   --> src/algebra/funcs.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let P = mat.cols;
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.75s
[INFO] running `Command { std: "docker" "inspect" "3dcb66734b5e519da2fb5018e13758f78ae9205d3a8a80e00de2658a9c431e09", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3dcb66734b5e519da2fb5018e13758f78ae9205d3a8a80e00de2658a9c431e09", kill_on_drop: false }`
[INFO] [stdout] 3dcb66734b5e519da2fb5018e13758f78ae9205d3a8a80e00de2658a9c431e09
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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 -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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 210fc7467bdc9359a4660bb64eacef260a22a4e0e1ff46f1234921c693406a7f
[INFO] running `Command { std: "docker" "start" "-a" "210fc7467bdc9359a4660bb64eacef260a22a4e0e1ff46f1234921c693406a7f", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `super::funcs::linear_combination`
[INFO] [stderr]  --> src/algebra/vector.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use super::funcs::linear_combination;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `index` is never used
[INFO] [stderr]   --> src/algebra/matrix.rs:93:8
[INFO] [stderr]    |
[INFO] [stderr] 49 | impl<K: Float> Matrix<K> {
[INFO] [stderr]    | ------------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 93 |     fn index(&self, r: usize, c: usize) -> usize {
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M` should have a snake case name
[INFO] [stderr]   --> src/algebra/funcs.rs:73:13
[INFO] [stderr]    |
[INFO] [stderr] 73 |         let M = self.rows;
[INFO] [stderr]    |             ^ help: convert the identifier to snake case: `m`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `N` should have a snake case name
[INFO] [stderr]   --> src/algebra/funcs.rs:74:13
[INFO] [stderr]    |
[INFO] [stderr] 74 |         let N = self.cols;
[INFO] [stderr]    |             ^ help: convert the identifier to snake case: `n`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `P` should have a snake case name
[INFO] [stderr]   --> src/algebra/funcs.rs:75:13
[INFO] [stderr]    |
[INFO] [stderr] 75 |         let P = mat.cols;
[INFO] [stderr]    |             ^ help: convert the identifier to snake case: `p`
[INFO] [stderr] 
[INFO] [stderr] warning: `ft_matrix` (lib) generated 5 warnings (run `cargo fix --lib -p ft_matrix` to apply 1 suggestion)
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]  --> src/main.rs:7:9
[INFO] [stderr]   |
[INFO] [stderr] 7 |     let mut b = a.inverse().unwrap();
[INFO] [stderr]   |         ----^
[INFO] [stderr]   |         |
[INFO] [stderr]   |         help: remove this `mut`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `gaussian_elimination` is never used
[INFO] [stderr]    --> src/algebra/funcs.rs:177:12
[INFO] [stderr]     |
[INFO] [stderr] 121 | impl<K: Float> Matrix<K> {
[INFO] [stderr]     | ------------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 177 |     pub fn gaussian_elimination(&mut self) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `zero`, `identity`, `print_size`, `index`, `get_val`, and `get_val_mut` are never used
[INFO] [stderr]   --> src/algebra/matrix.rs:65:12
[INFO] [stderr]    |
[INFO] [stderr] 49 | impl<K: Float> Matrix<K> {
[INFO] [stderr]    | ------------------------ associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 65 |     pub fn zero(r: usize, c: usize) -> Self {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 72 |     pub fn identity(r: usize, c: usize) -> Self {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 87 |     pub fn print_size(&self) {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 93 |     fn index(&self, r: usize, c: usize) -> usize {
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 96 |     pub fn get_val(&self, r: usize, c: usize) -> &K {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 99 |     pub fn get_val_mut(&mut self, r: usize, c: usize) -> &K {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `ft_matrix` (bin "ft_matrix" test) generated 6 warnings (3 duplicates) (run `cargo fix --bin "ft_matrix" --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `ft_matrix` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ft_matrix-0cc6713c9ca00012)
[INFO] [stdout] 
[INFO] [stdout] running 118 tests
[INFO] [stdout] test algebra::funcs::tests::angle_cos_opposite_gives_minus_one ... ok
[INFO] [stdout] test algebra::funcs::tests::angle_cos_parallel_gives_one ... ok
[INFO] [stdout] test algebra::funcs::tests::angle_cos_perpendicular_gives_zero ... ok
[INFO] [stdout] test algebra::funcs::tests::cross_arbitrary_from_subject_1 ... ok
[INFO] [stdout] test algebra::funcs::tests::cross_axes_unit_example ... ok
[INFO] [stdout] test algebra::funcs::tests::angle_cos_arbitrary_matches_subject_value ... ok
[INFO] [stdout] test algebra::funcs::tests::lerp_matrix_example_from_subject ... ok
[INFO] [stdout] test algebra::funcs::tests::lerp_scalar_f32 ... ok
[INFO] [stdout] test algebra::funcs::tests::lerp_vector_arbitrary_t ... ok
[INFO] [stdout] test algebra::funcs::tests::cross_arbitrary_from_subject_2 ... ok
[INFO] [stdout] test algebra::funcs::tests::lincomb_arbitrary ... ok
[INFO] [stdout] test algebra::funcs::tests::lincomb_basis_vectors ... ok
[INFO] [stdout] test algebra::funcs::tests::lerp_vector_endpoints_and_mid ... ok
[INFO] [stdout] test algebra::funcs::tests::lincomb_empty_ok ... ok
[INFO] [stdout] test algebra::funcs::tests::mul_mat_identity_left ... ok
[INFO] [stdout] test algebra::funcs::tests::mul_mat_identity_right ... ok
[INFO] [stdout] test algebra::funcs::tests::mul_mat_nonsquare_2x3_times_3x2 ... ok
[INFO] [stdout] test algebra::funcs::tests::mul_mat_nonsquare_3x2_times_2x4 ... ok
[INFO] [stdout] test algebra::funcs::tests::mul_mat_with_zero_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::lincomb_zeros ... ok
[INFO] [stdout] test algebra::funcs::tests::mul_vec_diagonal_scales ... ok
[INFO] [stdout] test algebra::funcs::tests::mul_vec_identity_2x2 ... ok
[INFO] [stdout] test algebra::funcs::tests::mul_vec_nonsquare_2x3_times_r3 ... ok
[INFO] [stdout] test algebra::funcs::tests::norm_empty_returns_zero ... ok
[INFO] [stdout] test algebra::funcs::tests::norm_examples_from_subject ... ok
[INFO] [stdout] test algebra::funcs::tests::norm_homogeneity_scaling ... ok
[INFO] [stdout] test algebra::funcs::tests::norm_inequality_chain ... ok
[INFO] [stdout] test algebra::funcs::tests::norm_large_values_stability ... ok
[INFO] [stdout] test algebra::funcs::tests::norm_mixed_signs_and_zeros ... ok
[INFO] [stdout] test algebra::funcs::tests::norm_triangle_inequality ... ok
[INFO] [stdout] test algebra::funcs::tests::test_10x10_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::test_10x10_matrix_2 ... ok
[INFO] [stdout] test algebra::funcs::tests::test_1x1_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::test_2x2_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::test_3x3_example ... ok
[INFO] [stdout] test algebra::funcs::tests::lerp_scalar_f64 ... ok
[INFO] [stdout] test algebra::funcs::tests::test_3x3_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::test_8x8_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::test_4x4_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::test_identity_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::test_identity_matrix_2 ... ok
[INFO] [stdout] test algebra::funcs::tests::test_matrix_with_zero_row ... ok
[INFO] [stdout] test algebra::funcs::tests::test_rectangular_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::test_requires_row_swap ... ok
[INFO] [stdout] test algebra::funcs::tests::test_lower_triangular_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::test_matrix_with_zero_determinant ... ok
[INFO] [stdout] test algebra::funcs::tests::test_simple_2x2 ... ok
[INFO] [stdout] test algebra::funcs::tests::test_trace_identity_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::test_trace_empty_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::test_trace_single_element_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::angle_cos_size_mismatch_panics - should panic ... ok
[INFO] [stdout] test algebra::funcs::tests::test_trace_square_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::angle_cos_zero_vector_panics - should panic ... ok
[INFO] [stdout] test algebra::funcs::tests::test_transpose_1x1 ... ok
[INFO] [stdout] test algebra::funcs::tests::cross_panics_for_2d_vectors - should panic ... ok
[INFO] [stdout] test algebra::funcs::tests::test_transpose_identity ... ok
[INFO] [stdout] test algebra::funcs::tests::test_transpose_single_row ... ok
[INFO] [stdout] test algebra::funcs::tests::test_transpose_square_3x3 ... ok
[INFO] [stdout] test algebra::funcs::tests::test_transpose_single_column ... ok
[INFO] [stdout] test algebra::funcs::tests::test_transpose_rectangular_4x2 ... ok
[INFO] [stdout] test algebra::funcs::tests::cross_panics_for_4d_vectors - should panic ... ok
[INFO] [stdout] test algebra::funcs::tests::test_transpose_square_4x4 ... ok
[INFO] [stdout] test algebra::funcs::tests::test_transpose_with_negatives ... ok
[INFO] [stdout] test algebra::matrix::tests::add_sub_scl_f32 ... ok
[INFO] [stdout] test algebra::funcs::tests::test_upper_triangular_matrix ... ok
[INFO] [stdout] test algebra::matrix::tests::add_sub_scl_f64 ... ok
[INFO] [stdout] test algebra::matrix::tests::construct_from_2d_array_f32_and_f64 ... ok
[INFO] [stdout] test algebra::matrix::tests::construct_zero_by_zero_ok ... ok
[INFO] [stdout] test algebra::matrix::tests::debug_matches_display_rules ... ok
[INFO] [stdout] test algebra::matrix::tests::display_alignment_with_precision_2 ... ok
[INFO] [stdout] test algebra::matrix::tests::display_alignment_default_precision ... ok
[INFO] [stdout] test algebra::matrix::tests::explicit_f32_literals_required_if_no_type_annotation ... ok
[INFO] [stdout] test algebra::matrix::tests::rename_helpers_demonstrate_actual_types ... ok
[INFO] [stdout] test algebra::matrix::tests::large_and_small_values_precision_smoke ... ok
[INFO] [stdout] test algebra::matrix::tests::scale_by_zero_and_one ... ok
[INFO] [stdout] test algebra::matrix::tests::add_panics_on_shape_mismatch - should panic ... ok
[INFO] [stdout] test algebra::vector::tests::add_assign_mismatch_panics - should panic ... ok
[INFO] [stdout] test algebra::vector::tests::add_assign_ok ... ok
[INFO] [stdout] test algebra::vector::tests::add_in_place_ok ... ok
[INFO] [stdout] test algebra::vector::tests::add_in_place_mismatch_panics - should panic ... ok
[INFO] [stdout] test algebra::vector::tests::add_operator_mismatch_panics - should panic ... ok
[INFO] [stdout] test algebra::vector::tests::add_operator_ok ... ok
[INFO] [stdout] test algebra::vector::tests::display_default_precision_aligns ... ok
[INFO] [stdout] test algebra::vector::tests::display_with_precision_runtime ... ok
[INFO] [stdout] test algebra::vector::tests::dot_basic_examples ... ok
[INFO] [stdout] test algebra::vector::tests::dot_dim_mismatch_panics - should panic ... ok
[INFO] [stdout] test algebra::funcs::tests::mul_vec_dimension_mismatch_panics - should panic ... ok
[INFO] [stdout] test algebra::vector::tests::dot_orthogonal_is_zero ... ok
[INFO] [stdout] test algebra::vector::tests::dot_sign_and_magnitude ... ok
[INFO] [stdout] test algebra::funcs::tests::test_trace_non_square_matrix - should panic ... ok
[INFO] [stdout] test algebra::vector::tests::dot_zero_result ... ok
[INFO] [stdout] test algebra::vector::tests::from_array ... ok
[INFO] [stdout] test algebra::vector::tests::linear_combination_arbitrary ... ok
[INFO] [stdout] test algebra::funcs::tests::lerp_matrix_shape_mismatch_panics - should panic ... ok
[INFO] [stdout] test algebra::vector::tests::linear_combination_basis_vectors ... ok
[INFO] [stdout] test algebra::matrix::tests::new_panics_on_wrong_len - should panic ... ok
[INFO] [stdout] test algebra::vector::tests::linear_combination_zeros ... ok
[INFO] [stdout] test algebra::vector::tests::mul_assign_ok ... ok
[INFO] [stdout] test algebra::vector::tests::neg_operator_ok ... ok
[INFO] [stdout] test algebra::vector::tests::mul_operator_element_wise_ok ... ok
[INFO] [stdout] test algebra::vector::tests::linear_combination_dim_mismatch_panics - should panic ... ok
[INFO] [stdout] test algebra::vector::tests::new_and_size ... ok
[INFO] [stdout] test algebra::vector::tests::sub_assign_ok ... ok
[INFO] [stdout] test algebra::vector::tests::scl_in_place_ok ... ok
[INFO] [stdout] test algebra::vector::tests::sub_in_place_ok ... ok
[INFO] [stdout] test algebra::vector::tests::sub_operator_ok ... ok
[INFO] [stdout] test algebra::funcs::tests::mul_mat_dimension_mismatch_panics - should panic ... ok
[INFO] [stdout] test algebra::vector::tests::linear_combination_bad_lengths_panics - should panic ... ok
[INFO] [stdout] test algebra::funcs::tests::lincomb_dimension_mismatch_panics - should panic ... ok
[INFO] [stdout] test algebra::matrix::tests::size_mismatch_panics_can_be_caught ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ft_matrix-43ff0670da12d0a9)
[INFO] [stdout] test algebra::vector::tests::debug_matches_display_style ... ok
[INFO] [stdout] test algebra::funcs::tests::angle_cos_colinear_scaled_is_one ... ok
[INFO] [stdout] test algebra::funcs::tests::cross_is_anticommutative ... ok
[INFO] [stdout] test algebra::funcs::tests::cross_is_perpendicular_to_operands ... ok
[INFO] [stdout] test algebra::funcs::tests::lincomb_mismatched_lengths_panics - should panic ... ok
[INFO] [stdout] test algebra::funcs::tests::mul_mat_associativity_with_vec ... ok
[INFO] [stdout] test algebra::funcs::tests::test_trace_negative_elements ... ok
[INFO] [stdout] test algebra::vector::tests::dot_empty_vectors_panics - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 118 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 118 tests
[INFO] [stdout] test algebra::funcs::tests::angle_cos_arbitrary_matches_subject_value ... ok
[INFO] [stdout] test algebra::funcs::tests::angle_cos_opposite_gives_minus_one ... ok
[INFO] [stdout] test algebra::funcs::tests::angle_cos_colinear_scaled_is_one ... ok
[INFO] [stdout] test algebra::funcs::tests::angle_cos_parallel_gives_one ... ok
[INFO] [stdout] test algebra::funcs::tests::cross_arbitrary_from_subject_1 ... ok
[INFO] [stdout] test algebra::funcs::tests::angle_cos_perpendicular_gives_zero ... ok
[INFO] [stdout] test algebra::funcs::tests::cross_arbitrary_from_subject_2 ... ok
[INFO] [stdout] test algebra::funcs::tests::cross_is_anticommutative ... ok
[INFO] [stdout] test algebra::funcs::tests::cross_axes_unit_example ... ok
[INFO] [stdout] test algebra::funcs::tests::cross_is_perpendicular_to_operands ... ok
[INFO] [stdout] test algebra::funcs::tests::lerp_matrix_example_from_subject ... ok
[INFO] [stdout] test algebra::funcs::tests::lerp_vector_arbitrary_t ... ok
[INFO] [stdout] test algebra::funcs::tests::lerp_scalar_f64 ... ok
[INFO] [stdout] test algebra::funcs::tests::lincomb_empty_ok ... ok
[INFO] [stdout] test algebra::funcs::tests::lerp_vector_endpoints_and_mid ... ok
[INFO] [stdout] test algebra::funcs::tests::lincomb_basis_vectors ... ok
[INFO] [stdout] test algebra::funcs::tests::lincomb_zeros ... ok
[INFO] [stdout] test algebra::funcs::tests::mul_mat_associativity_with_vec ... ok
[INFO] [stdout] test algebra::funcs::tests::lerp_scalar_f32 ... ok
[INFO] [stdout] test algebra::funcs::tests::mul_mat_identity_left ... ok
[INFO] [stdout] test algebra::funcs::tests::mul_mat_with_zero_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::mul_vec_diagonal_scales ... ok
[INFO] [stdout] test algebra::funcs::tests::mul_mat_nonsquare_2x3_times_3x2 ... ok
[INFO] [stdout] test algebra::funcs::tests::mul_vec_nonsquare_2x3_times_r3 ... ok
[INFO] [stdout] test algebra::funcs::tests::mul_vec_identity_2x2 ... ok
[INFO] [stdout] test algebra::funcs::tests::mul_mat_nonsquare_3x2_times_2x4 ... ok
[INFO] [stdout] test algebra::funcs::tests::norm_examples_from_subject ... ok
[INFO] [stdout] test algebra::funcs::tests::norm_empty_returns_zero ... ok
[INFO] [stdout] test algebra::funcs::tests::norm_inequality_chain ... ok
[INFO] [stdout] test algebra::funcs::tests::norm_large_values_stability ... ok
[INFO] [stdout] test algebra::funcs::tests::norm_triangle_inequality ... ok
[INFO] [stdout] test algebra::funcs::tests::mul_mat_identity_right ... ok
[INFO] [stdout] test algebra::funcs::tests::norm_homogeneity_scaling ... ok
[INFO] [stdout] test algebra::funcs::tests::norm_mixed_signs_and_zeros ... ok
[INFO] [stdout] test algebra::funcs::tests::test_10x10_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::test_2x2_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::test_3x3_example ... ok
[INFO] [stdout] test algebra::funcs::tests::test_8x8_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::test_1x1_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::test_identity_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::test_3x3_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::test_4x4_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::lincomb_arbitrary ... ok
[INFO] [stdout] test algebra::funcs::tests::test_10x10_matrix_2 ... ok
[INFO] [stdout] test algebra::funcs::tests::test_identity_matrix_2 ... ok
[INFO] [stdout] test algebra::funcs::tests::test_lower_triangular_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::test_matrix_with_zero_row ... ok
[INFO] [stdout] test algebra::funcs::tests::test_rectangular_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::test_requires_row_swap ... ok
[INFO] [stdout] test algebra::funcs::tests::test_simple_2x2 ... ok
[INFO] [stdout] test algebra::funcs::tests::test_trace_empty_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::test_trace_identity_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::test_matrix_with_zero_determinant ... ok
[INFO] [stdout] test algebra::funcs::tests::test_trace_single_element_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::test_trace_square_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::test_trace_negative_elements ... ok
[INFO] [stdout] test algebra::funcs::tests::test_transpose_identity ... ok
[INFO] [stdout] test algebra::funcs::tests::test_transpose_rectangular_4x2 ... ok
[INFO] [stdout] test algebra::funcs::tests::test_transpose_1x1 ... ok
[INFO] [stdout] test algebra::funcs::tests::test_transpose_single_column ... ok
[INFO] [stdout] test algebra::funcs::tests::test_transpose_square_3x3 ... ok
[INFO] [stdout] test algebra::funcs::tests::test_transpose_with_negatives ... ok
[INFO] [stdout] test algebra::funcs::tests::test_upper_triangular_matrix ... ok
[INFO] [stdout] test algebra::funcs::tests::test_transpose_square_4x4 ... ok
[INFO] [stdout] test algebra::matrix::tests::add_sub_scl_f32 ... ok
[INFO] [stdout] test algebra::matrix::tests::construct_from_2d_array_f32_and_f64 ... ok
[INFO] [stdout] test algebra::funcs::tests::test_transpose_single_row ... ok
[INFO] [stdout] test algebra::matrix::tests::construct_zero_by_zero_ok ... ok
[INFO] [stdout] test algebra::matrix::tests::debug_matches_display_rules ... ok
[INFO] [stdout] test algebra::matrix::tests::display_alignment_default_precision ... ok
[INFO] [stdout] test algebra::matrix::tests::large_and_small_values_precision_smoke ... ok
[INFO] [stdout] test algebra::matrix::tests::display_alignment_with_precision_2 ... ok
[INFO] [stdout] test algebra::matrix::tests::explicit_f32_literals_required_if_no_type_annotation ... ok
[INFO] [stdout] test algebra::matrix::tests::scale_by_zero_and_one ... ok
[INFO] [stdout] test algebra::matrix::tests::rename_helpers_demonstrate_actual_types ... ok
[INFO] [stdout] test algebra::vector::tests::add_assign_ok ... ok
[INFO] [stdout] test algebra::funcs::tests::angle_cos_size_mismatch_panics - should panic ... ok
[INFO] [stdout] test algebra::vector::tests::add_in_place_ok ... ok
[INFO] [stdout] test algebra::vector::tests::add_in_place_mismatch_panics - should panic ... ok
[INFO] [stdout] test algebra::vector::tests::add_operator_ok ... ok
[INFO] [stdout] test algebra::vector::tests::debug_matches_display_style ... ok
[INFO] [stdout] test algebra::funcs::tests::lincomb_dimension_mismatch_panics - should panic ... ok
[INFO] [stdout] test algebra::vector::tests::display_default_precision_aligns ... ok
[INFO] [stdout] test algebra::vector::tests::display_with_precision_runtime ... ok
[INFO] [stdout] test algebra::vector::tests::dot_basic_examples ... ok
[INFO] [stdout] test algebra::funcs::tests::lincomb_mismatched_lengths_panics - should panic ... ok
[INFO] [stdout] test algebra::vector::tests::dot_orthogonal_is_zero ... ok
[INFO] [stdout] test algebra::vector::tests::dot_sign_and_magnitude ... ok
[INFO] [stdout] test algebra::funcs::tests::angle_cos_zero_vector_panics - should panic ... ok
[INFO] [stdout] test algebra::vector::tests::dot_zero_result ... ok
[INFO] [stdout] test algebra::vector::tests::from_array ... ok
[INFO] [stdout] test algebra::vector::tests::linear_combination_arbitrary ... ok
[INFO] [stdout] test algebra::vector::tests::linear_combination_basis_vectors ... ok
[INFO] [stdout] test algebra::funcs::tests::lerp_matrix_shape_mismatch_panics - should panic ... ok
[INFO] [stdout] test algebra::funcs::tests::cross_panics_for_2d_vectors - should panic ... ok
[INFO] [stdout] test algebra::vector::tests::mul_assign_ok ... ok
[INFO] [stdout] test algebra::vector::tests::linear_combination_zeros ... ok
[INFO] [stdout] test algebra::vector::tests::mul_operator_element_wise_ok ... ok
[INFO] [stdout] test algebra::vector::tests::neg_operator_ok ... ok
[INFO] [stdout] test algebra::funcs::tests::mul_mat_dimension_mismatch_panics - should panic ... ok
[INFO] [stdout] test algebra::funcs::tests::mul_vec_dimension_mismatch_panics - should panic ... ok
[INFO] [stdout] test algebra::vector::tests::new_and_size ... ok
[INFO] [stdout] test algebra::vector::tests::sub_assign_ok ... ok
[INFO] [stdout] test algebra::funcs::tests::test_trace_non_square_matrix - should panic ... ok
[INFO] [stdout] test algebra::vector::tests::sub_operator_ok ... ok
[INFO] [stdout] test algebra::vector::tests::scl_in_place_ok ... ok
[INFO] [stdout] test algebra::matrix::tests::add_panics_on_shape_mismatch - should panic ... ok
[INFO] [stdout] test algebra::vector::tests::add_assign_mismatch_panics - should panic ... ok
[INFO] [stdout] test algebra::matrix::tests::new_panics_on_wrong_len - should panic ... ok
[INFO] [stdout] test algebra::matrix::tests::size_mismatch_panics_can_be_caught ... ok
[INFO] [stdout] test algebra::vector::tests::add_operator_mismatch_panics - should panic ... ok
[INFO] [stdout] test algebra::vector::tests::sub_in_place_ok ... ok
[INFO] [stdout] test algebra::vector::tests::dot_dim_mismatch_panics - should panic ... ok
[INFO] [stdout] test algebra::funcs::tests::cross_panics_for_4d_vectors - should panic ... ok
[INFO] [stdout] test algebra::vector::tests::dot_empty_vectors_panics - should panic ... ok
[INFO] [stdout] test algebra::vector::tests::linear_combination_dim_mismatch_panics - should panic ... ok
[INFO] [stdout] test algebra::matrix::tests::add_sub_scl_f64 ... ok
[INFO] [stdout] test algebra::vector::tests::linear_combination_bad_lengths_panics - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 118 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests ft_matrix
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "210fc7467bdc9359a4660bb64eacef260a22a4e0e1ff46f1234921c693406a7f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "210fc7467bdc9359a4660bb64eacef260a22a4e0e1ff46f1234921c693406a7f", kill_on_drop: false }`
[INFO] [stdout] 210fc7467bdc9359a4660bb64eacef260a22a4e0e1ff46f1234921c693406a7f
