[INFO] cloning repository https://github.com/CorentinVaillant/my_rust_matrix_lib [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/CorentinVaillant/my_rust_matrix_lib" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCorentinVaillant%2Fmy_rust_matrix_lib", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCorentinVaillant%2Fmy_rust_matrix_lib'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f52efe4f24285d954a13f4953f70ee7a4acaff38 [INFO] checking CorentinVaillant/my_rust_matrix_lib against try#8d46be77cd48fdbcced888d027457e2c9cf2aa16 for pr-142723 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCorentinVaillant%2Fmy_rust_matrix_lib" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/CorentinVaillant/my_rust_matrix_lib on toolchain 8d46be77cd48fdbcced888d027457e2c9cf2aa16 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8d46be77cd48fdbcced888d027457e2c9cf2aa16" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/CorentinVaillant/my_rust_matrix_lib [INFO] finished tweaking git repo https://github.com/CorentinVaillant/my_rust_matrix_lib [INFO] tweaked toml for git repo https://github.com/CorentinVaillant/my_rust_matrix_lib written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/CorentinVaillant/my_rust_matrix_lib 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" "+8d46be77cd48fdbcced888d027457e2c9cf2aa16" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8d46be77cd48fdbcced888d027457e2c9cf2aa16" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b7d9887481906b13f2ee9869d657c96048ab5e93d6ce842ee6c3b58a58410677 [INFO] running `Command { std: "docker" "start" "-a" "b7d9887481906b13f2ee9869d657c96048ab5e93d6ce842ee6c3b58a58410677", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b7d9887481906b13f2ee9869d657c96048ab5e93d6ce842ee6c3b58a58410677", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b7d9887481906b13f2ee9869d657c96048ab5e93d6ce842ee6c3b58a58410677", kill_on_drop: false }` [INFO] [stdout] b7d9887481906b13f2ee9869d657c96048ab5e93d6ce842ee6c3b58a58410677 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8d46be77cd48fdbcced888d027457e2c9cf2aa16" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 36a51e9b21060b47e0dbdfad12146da666fbcd46cb8b7db15f32b48cc3a5d558 [INFO] running `Command { std: "docker" "start" "-a" "36a51e9b21060b47e0dbdfad12146da666fbcd46cb8b7db15f32b48cc3a5d558", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking num v0.4.3 [INFO] [stderr] Checking my_rust_matrix_lib v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/my_matrix_lib/matrix/mod.rs:579:21 [INFO] [stdout] | [INFO] [stdout] 579 | pub fn iter_row(&self) -> MatrixRowIterator { [INFO] [stdout] | ^^^^^ -------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 579 | pub fn iter_row(&self) -> MatrixRowIterator<'_, T, N, M> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/my_matrix_lib/matrix/mod.rs:598:24 [INFO] [stdout] | [INFO] [stdout] 598 | pub fn iter_column(&self) -> MatrixColumnIterator { [INFO] [stdout] | ^^^^^ ----------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 598 | pub fn iter_column(&self) -> MatrixColumnIterator<'_, T, N, M> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/my_matrix_lib/matrix/mod.rs:607:26 [INFO] [stdout] | [INFO] [stdout] 607 | pub fn iter_mut_elem(&mut self, iter_along: IterateAlong) -> MatrixMutElemIterator { [INFO] [stdout] | ^^^^^^^^^ ------------------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 607 | pub fn iter_mut_elem(&mut self, iter_along: IterateAlong) -> MatrixMutElemIterator<'_, T, N, M> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/my_matrix_lib/matrix/mod.rs:611:25 [INFO] [stdout] | [INFO] [stdout] 611 | pub fn iter_mut_row(&mut self) -> MatrixMutRowIterator { [INFO] [stdout] | ^^^^^^^^^ ----------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 611 | pub fn iter_mut_row(&mut self) -> MatrixMutRowIterator<'_, T, N, M> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/my_matrix_lib/vector_math/mod.rs:450:17 [INFO] [stdout] | [INFO] [stdout] 450 | pub fn iter(&self) -> VectorMathIterator { [INFO] [stdout] | ^^^^^ ------------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 450 | pub fn iter(&self) -> VectorMathIterator<'_, T, N> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/my_matrix_lib/vector_math/mod.rs:457:21 [INFO] [stdout] | [INFO] [stdout] 457 | pub fn iter_mut(&mut self) -> VectorMathMutIterator { [INFO] [stdout] | ^^^^^^^^^ --------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 457 | pub fn iter_mut(&mut self) -> VectorMathMutIterator<'_, T, N> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `f32: From` is not satisfied [INFO] [stdout] --> src/lib.rs:630:42 [INFO] [stdout] | [INFO] [stdout] 630 | let quat1: Quaternion = Quaternion::from((1., 2., 3., 4.)); [INFO] [stdout] | ^^^^^^^^^^ the trait `From` is not implemented for `f32` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] note: required for `quaternions::Quaternion` to implement `From<(f64, f64, f64, f64)>` [INFO] [stdout] --> src/my_matrix_lib/quaternions/mod.rs:75:28 [INFO] [stdout] | [INFO] [stdout] 75 | impl From<(A, B, C, D)> for Quaternion [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 76 | where [INFO] [stdout] 77 | T: From + From + From + From, [INFO] [stdout] | ------- unsatisfied trait bound introduced here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `f32: From` is not satisfied [INFO] [stdout] --> src/lib.rs:631:25 [INFO] [stdout] | [INFO] [stdout] 631 | let quat2 = Quaternion::from((4., [3., 2., 1.])); [INFO] [stdout] | ^^^^^^^^^^ the trait `From` is not implemented for `f32` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] = note: required for `f64` to implement `Into` [INFO] [stdout] note: required for `quaternions::Quaternion` to implement `From<(f64, [f32; 3])>` [INFO] [stdout] --> src/my_matrix_lib/quaternions/mod.rs:51:28 [INFO] [stdout] | [INFO] [stdout] 51 | impl> From<(U, [T; 3])> for Quaternion { [INFO] [stdout] | ------- ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | unsatisfied trait bound introduced here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `f32: From` is not satisfied [INFO] [stdout] --> src/lib.rs:632:26 [INFO] [stdout] | [INFO] [stdout] 632 | let result = Quaternion::from([5.; 4]); [INFO] [stdout] | ^^^^^^^^^^ the trait `From` is not implemented for `f32` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] = note: required for `f64` to implement `Into` [INFO] [stdout] note: required for `quaternions::Quaternion` to implement `From<[f64; 4]>` [INFO] [stdout] --> src/my_matrix_lib/quaternions/mod.rs:30:28 [INFO] [stdout] | [INFO] [stdout] 30 | impl> From<[U; 4]> for Quaternion { [INFO] [stdout] | ------- ^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | unsatisfied trait bound introduced here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `f32: From` is not satisfied [INFO] [stdout] --> src/lib.rs:640:25 [INFO] [stdout] | [INFO] [stdout] 640 | let quat1 = Quaternion::::from((0.,1.,2.,3.)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ the trait `From` is not implemented for `f32` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] note: required for `quaternions::Quaternion` to implement `From<(f64, f64, f64, f64)>` [INFO] [stdout] --> src/my_matrix_lib/quaternions/mod.rs:75:28 [INFO] [stdout] | [INFO] [stdout] 75 | impl From<(A, B, C, D)> for Quaternion [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 76 | where [INFO] [stdout] 77 | T: From + From + From + From, [INFO] [stdout] | ------- unsatisfied trait bound introduced here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `f32: From` is not satisfied [INFO] [stdout] --> src/lib.rs:641:25 [INFO] [stdout] | [INFO] [stdout] 641 | let quat2 = Quaternion::::from((1.,1.,1.,1.)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ the trait `From` is not implemented for `f32` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] note: required for `quaternions::Quaternion` to implement `From<(f64, f64, f64, f64)>` [INFO] [stdout] --> src/my_matrix_lib/quaternions/mod.rs:75:28 [INFO] [stdout] | [INFO] [stdout] 75 | impl From<(A, B, C, D)> for Quaternion [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 76 | where [INFO] [stdout] 77 | T: From + From + From + From, [INFO] [stdout] | ------- unsatisfied trait bound introduced here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `f32: From` is not satisfied [INFO] [stdout] --> src/lib.rs:642:25 [INFO] [stdout] | [INFO] [stdout] 642 | let quat3 = Quaternion::::from((-1.,0.,1.,2.)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ the trait `From` is not implemented for `f32` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] note: required for `quaternions::Quaternion` to implement `From<(f64, f64, f64, f64)>` [INFO] [stdout] --> src/my_matrix_lib/quaternions/mod.rs:75:28 [INFO] [stdout] | [INFO] [stdout] 75 | impl From<(A, B, C, D)> for Quaternion [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 76 | where [INFO] [stdout] 77 | T: From + From + From + From, [INFO] [stdout] | ------- unsatisfied trait bound introduced here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `f32: From` is not satisfied [INFO] [stdout] --> src/lib.rs:648:42 [INFO] [stdout] | [INFO] [stdout] 648 | let quat1: Quaternion = Quaternion::from((1., 2., 3., 4.)); [INFO] [stdout] | ^^^^^^^^^^ the trait `From` is not implemented for `f32` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] note: required for `quaternions::Quaternion` to implement `From<(f64, f64, f64, f64)>` [INFO] [stdout] --> src/my_matrix_lib/quaternions/mod.rs:75:28 [INFO] [stdout] | [INFO] [stdout] 75 | impl From<(A, B, C, D)> for Quaternion [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 76 | where [INFO] [stdout] 77 | T: From + From + From + From, [INFO] [stdout] | ------- unsatisfied trait bound introduced here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `f32: From` is not satisfied [INFO] [stdout] --> src/lib.rs:649:25 [INFO] [stdout] | [INFO] [stdout] 649 | let quat2 = Quaternion::from((4., [3., 2., 1.])); [INFO] [stdout] | ^^^^^^^^^^ the trait `From` is not implemented for `f32` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] = note: required for `f64` to implement `Into` [INFO] [stdout] note: required for `quaternions::Quaternion` to implement `From<(f64, [f32; 3])>` [INFO] [stdout] --> src/my_matrix_lib/quaternions/mod.rs:51:28 [INFO] [stdout] | [INFO] [stdout] 51 | impl> From<(U, [T; 3])> for Quaternion { [INFO] [stdout] | ------- ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | unsatisfied trait bound introduced here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `f32: From` is not satisfied [INFO] [stdout] --> src/lib.rs:650:27 [INFO] [stdout] | [INFO] [stdout] 650 | let result1 = Quaternion::from((-12., 6., 24., 12.)); [INFO] [stdout] | ^^^^^^^^^^ the trait `From` is not implemented for `f32` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] note: required for `quaternions::Quaternion` to implement `From<(f64, f64, f64, f64)>` [INFO] [stdout] --> src/my_matrix_lib/quaternions/mod.rs:75:28 [INFO] [stdout] | [INFO] [stdout] 75 | impl From<(A, B, C, D)> for Quaternion [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 76 | where [INFO] [stdout] 77 | T: From + From + From + From, [INFO] [stdout] | ------- unsatisfied trait bound introduced here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `f32: From` is not satisfied [INFO] [stdout] --> src/lib.rs:651:27 [INFO] [stdout] | [INFO] [stdout] 651 | let result2 = Quaternion::from((-12., 16., 4., 22.)); [INFO] [stdout] | ^^^^^^^^^^ the trait `From` is not implemented for `f32` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] note: required for `quaternions::Quaternion` to implement `From<(f64, f64, f64, f64)>` [INFO] [stdout] --> src/my_matrix_lib/quaternions/mod.rs:75:28 [INFO] [stdout] | [INFO] [stdout] 75 | impl From<(A, B, C, D)> for Quaternion [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 76 | where [INFO] [stdout] 77 | T: From + From + From + From, [INFO] [stdout] | ------- unsatisfied trait bound introduced here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `f32: From` is not satisfied [INFO] [stdout] --> src/lib.rs:668:25 [INFO] [stdout] | [INFO] [stdout] 668 | let two_i = Quaternion::::from((0.,2.,0.,0.)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ the trait `From` is not implemented for `f32` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] note: required for `quaternions::Quaternion` to implement `From<(f64, f64, f64, f64)>` [INFO] [stdout] --> src/my_matrix_lib/quaternions/mod.rs:75:28 [INFO] [stdout] | [INFO] [stdout] 75 | impl From<(A, B, C, D)> for Quaternion [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 76 | where [INFO] [stdout] 77 | T: From + From + From + From, [INFO] [stdout] | ------- unsatisfied trait bound introduced here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `f32: From` is not satisfied [INFO] [stdout] --> src/lib.rs:678:53 [INFO] [stdout] | [INFO] [stdout] 678 | let two:Quaternion = (2.,0.,0.,0.).into(); [INFO] [stdout] | ^^^^ the trait `From` is not implemented for `f32` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] note: required for `quaternions::Quaternion` to implement `From<(f64, f64, f64, f64)>` [INFO] [stdout] --> src/my_matrix_lib/quaternions/mod.rs:75:28 [INFO] [stdout] | [INFO] [stdout] 75 | impl From<(A, B, C, D)> for Quaternion [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 76 | where [INFO] [stdout] 77 | T: From + From + From + From, [INFO] [stdout] | ------- unsatisfied trait bound introduced here [INFO] [stdout] = note: required for `(f64, f64, f64, f64)` to implement `Into>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `f32: From` is not satisfied [INFO] [stdout] --> src/lib.rs:681:55 [INFO] [stdout] | [INFO] [stdout] 681 | let two_i:Quaternion = (0.,2.,0.,0.).into(); [INFO] [stdout] | ^^^^ the trait `From` is not implemented for `f32` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] note: required for `quaternions::Quaternion` to implement `From<(f64, f64, f64, f64)>` [INFO] [stdout] --> src/my_matrix_lib/quaternions/mod.rs:75:28 [INFO] [stdout] | [INFO] [stdout] 75 | impl From<(A, B, C, D)> for Quaternion [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 76 | where [INFO] [stdout] 77 | T: From + From + From + From, [INFO] [stdout] | ------- unsatisfied trait bound introduced here [INFO] [stdout] = note: required for `(f64, f64, f64, f64)` to implement `Into>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `f32: From` is not satisfied [INFO] [stdout] --> src/lib.rs:691:21 [INFO] [stdout] | [INFO] [stdout] 691 | let i = Quaternion::from((0.,1.,0.,0.)); [INFO] [stdout] | ^^^^^^^^^^ the trait `From` is not implemented for `f32` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] `f32` implements `From` [INFO] [stdout] note: required for `quaternions::Quaternion` to implement `From<(f64, f64, f64, f64)>` [INFO] [stdout] --> src/my_matrix_lib/quaternions/mod.rs:75:28 [INFO] [stdout] | [INFO] [stdout] 75 | impl From<(A, B, C, D)> for Quaternion [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 76 | where [INFO] [stdout] 77 | T: From + From + From + From, [INFO] [stdout] | ------- unsatisfied trait bound introduced here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `my_rust_matrix_lib` (lib test) due to 14 previous errors [INFO] running `Command { std: "docker" "inspect" "36a51e9b21060b47e0dbdfad12146da666fbcd46cb8b7db15f32b48cc3a5d558", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "36a51e9b21060b47e0dbdfad12146da666fbcd46cb8b7db15f32b48cc3a5d558", kill_on_drop: false }` [INFO] [stdout] 36a51e9b21060b47e0dbdfad12146da666fbcd46cb8b7db15f32b48cc3a5d558