[INFO] fetching crate numb_rs 0.0.4...
[INFO] testing numb_rs-0.0.4 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-8
[INFO] extracting crate numb_rs 0.0.4 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate numb_rs 0.0.4
[INFO] finished tweaking crates.io crate numb_rs 0.0.4
[INFO] tweaked toml for crates.io crate numb_rs 0.0.4 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate numb_rs 0.0.4 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 62 packages to latest compatible versions
[INFO] [stderr]       Adding criterion v0.3.6 (available: v0.7.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 45d214ddb2fa35eee39de72df661d1692f5c8a73fbf73e87b3de25e619e7b74b
[INFO] running `Command { std: "docker" "start" "-a" "45d214ddb2fa35eee39de72df661d1692f5c8a73fbf73e87b3de25e619e7b74b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "45d214ddb2fa35eee39de72df661d1692f5c8a73fbf73e87b3de25e619e7b74b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "45d214ddb2fa35eee39de72df661d1692f5c8a73fbf73e87b3de25e619e7b74b", kill_on_drop: false }`
[INFO] [stdout] 45d214ddb2fa35eee39de72df661d1692f5c8a73fbf73e87b3de25e619e7b74b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b19573692dcbe7b4781065a001a0f31ff60c802530e70f1902cdd0011dec36dd
[INFO] running `Command { std: "docker" "start" "-a" "b19573692dcbe7b4781065a001a0f31ff60c802530e70f1902cdd0011dec36dd", kill_on_drop: false }`
[INFO] [stderr]    Compiling numb_rs v0.0.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/dense.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 |             /// a reference to the vector of the Matrix below
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 227 |             data: &self.data,
[INFO] [stdout]     |             ---------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/dense.rs:228:13
[INFO] [stdout]     |
[INFO] [stdout] 228 |             /// m is a reference to the 'n' column of the Matrix
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 229 |             m: &self.n,
[INFO] [stdout]     |             ---------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/dense.rs:230:13
[INFO] [stdout]     |
[INFO] [stdout] 230 |             /// n is a reference to the 'm' column of the Matrix
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 231 |             n: &self.m,
[INFO] [stdout]     |             ---------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::macros::*`
[INFO] [stdout]   --> src/lib.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub use crate::macros::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `m` and `n` are never read
[INFO] [stdout]    --> src/dense.rs:563:5
[INFO] [stdout]     |
[INFO] [stdout] 561 | pub struct DenseTranspose<'a, T: Numeric + 'a> {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 562 |     inner: &'a Dense<T>,
[INFO] [stdout] 563 |     m: usize,
[INFO] [stdout]     |     ^
[INFO] [stdout] 564 |     n: usize,
[INFO] [stdout]     |     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DenseTranspose` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `m` and `n` are never read
[INFO] [stdout]    --> src/dense.rs:570:5
[INFO] [stdout]     |
[INFO] [stdout] 568 | pub struct DenseTransposeMut<'a, T: Numeric + 'a> {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 569 |     inner: &'a mut Dense<T>,
[INFO] [stdout] 570 |     m: usize,
[INFO] [stdout]     |     ^
[INFO] [stdout] 571 |     n: usize,
[INFO] [stdout]     |     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DenseTransposeMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/dense.rs:224:18
[INFO] [stdout]     |
[INFO] [stdout] 224 |     pub fn t_old(&self) -> MatrixT<T> {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 224 |     pub fn t_old(&self) -> MatrixT<'_, T> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.59s
[INFO] running `Command { std: "docker" "inspect" "b19573692dcbe7b4781065a001a0f31ff60c802530e70f1902cdd0011dec36dd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b19573692dcbe7b4781065a001a0f31ff60c802530e70f1902cdd0011dec36dd", kill_on_drop: false }`
[INFO] [stdout] b19573692dcbe7b4781065a001a0f31ff60c802530e70f1902cdd0011dec36dd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a4f44f46a7539d1ae68413e74e526a155a313a695d14010accc67a11ebfa8bf5
[INFO] running `Command { std: "docker" "start" "-a" "a4f44f46a7539d1ae68413e74e526a155a313a695d14010accc67a11ebfa8bf5", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling csv-core v0.1.13
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling half v1.8.3
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/dense.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 |             /// a reference to the vector of the Matrix below
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 227 |             data: &self.data,
[INFO] [stdout]     |             ---------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/dense.rs:228:13
[INFO] [stdout]     |
[INFO] [stdout] 228 |             /// m is a reference to the 'n' column of the Matrix
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 229 |             m: &self.n,
[INFO] [stdout]     |             ---------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/dense.rs:230:13
[INFO] [stdout]     |
[INFO] [stdout] 230 |             /// n is a reference to the 'm' column of the Matrix
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 231 |             n: &self.m,
[INFO] [stdout]     |             ---------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::macros::*`
[INFO] [stdout]   --> src/lib.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub use crate::macros::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `m` and `n` are never read
[INFO] [stdout]    --> src/dense.rs:563:5
[INFO] [stdout]     |
[INFO] [stdout] 561 | pub struct DenseTranspose<'a, T: Numeric + 'a> {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 562 |     inner: &'a Dense<T>,
[INFO] [stdout] 563 |     m: usize,
[INFO] [stdout]     |     ^
[INFO] [stdout] 564 |     n: usize,
[INFO] [stdout]     |     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DenseTranspose` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `m` and `n` are never read
[INFO] [stdout]    --> src/dense.rs:570:5
[INFO] [stdout]     |
[INFO] [stdout] 568 | pub struct DenseTransposeMut<'a, T: Numeric + 'a> {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 569 |     inner: &'a mut Dense<T>,
[INFO] [stdout] 570 |     m: usize,
[INFO] [stdout]     |     ^
[INFO] [stdout] 571 |     n: usize,
[INFO] [stdout]     |     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DenseTransposeMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/dense.rs:224:18
[INFO] [stdout]     |
[INFO] [stdout] 224 |     pub fn t_old(&self) -> MatrixT<T> {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 224 |     pub fn t_old(&self) -> MatrixT<'_, T> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling criterion-plot v0.4.5
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling serde_cbor v0.11.2
[INFO] [stderr]    Compiling criterion v0.3.6
[INFO] [stderr]    Compiling numb_rs v0.0.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/dense.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 |             /// a reference to the vector of the Matrix below
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 227 |             data: &self.data,
[INFO] [stdout]     |             ---------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/dense.rs:228:13
[INFO] [stdout]     |
[INFO] [stdout] 228 |             /// m is a reference to the 'n' column of the Matrix
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 229 |             m: &self.n,
[INFO] [stdout]     |             ---------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/dense.rs:230:13
[INFO] [stdout]     |
[INFO] [stdout] 230 |             /// n is a reference to the 'm' column of the Matrix
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 231 |             n: &self.m,
[INFO] [stdout]     |             ---------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/fraction.rs:25:48
[INFO] [stdout]     |
[INFO] [stdout]  25 |         Fraction::new($num as u32, $den as u32);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 116 |         let half = frac32!(1, 2);
[INFO] [stdout]     |                    ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[deny(semicolon_in_expressions_from_macros)]` (part of `#[deny(future_incompatible)]`) on by default
[INFO] [stdout]     = note: this error originates in the macro `frac32` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/fraction.rs:25:48
[INFO] [stdout]     |
[INFO] [stdout]  25 |         Fraction::new($num as u32, $den as u32);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 123 |         let a = frac32!(132, 203);
[INFO] [stdout]     |                 ----------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `frac32` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/fraction.rs:25:48
[INFO] [stdout]     |
[INFO] [stdout]  25 |         Fraction::new($num as u32, $den as u32);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 129 |         let a = frac32!(1, 2);
[INFO] [stdout]     |                 ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `frac32` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/fraction.rs:25:48
[INFO] [stdout]     |
[INFO] [stdout]  25 |         Fraction::new($num as u32, $den as u32);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 130 |         let b = frac32!(1, 4);
[INFO] [stdout]     |                 ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `frac32` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/fraction.rs:25:48
[INFO] [stdout]     |
[INFO] [stdout]  25 |         Fraction::new($num as u32, $den as u32);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 132 |         assert_eq!(a + b, frac32!(6, 8));
[INFO] [stdout]     |                           ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `frac32` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/fraction.rs:25:48
[INFO] [stdout]     |
[INFO] [stdout]  25 |         Fraction::new($num as u32, $den as u32);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 137 |         let a = frac32!(1, 2);
[INFO] [stdout]     |                 ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `frac32` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/fraction.rs:25:48
[INFO] [stdout]     |
[INFO] [stdout]  25 |         Fraction::new($num as u32, $den as u32);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 138 |         let b = frac32!(1, 4);
[INFO] [stdout]     |                 ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `frac32` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/fraction.rs:25:48
[INFO] [stdout]     |
[INFO] [stdout]  25 |         Fraction::new($num as u32, $den as u32);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 140 |         assert_eq!(a - b, frac32!(2, 8));
[INFO] [stdout]     |                           ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `frac32` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/fraction.rs:25:48
[INFO] [stdout]     |
[INFO] [stdout]  25 |         Fraction::new($num as u32, $den as u32);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 145 |         let a = frac32!(1, 2);
[INFO] [stdout]     |                 ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `frac32` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/fraction.rs:25:48
[INFO] [stdout]     |
[INFO] [stdout]  25 |         Fraction::new($num as u32, $den as u32);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 146 |         let b = frac32!(2, 5);
[INFO] [stdout]     |                 ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `frac32` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/fraction.rs:25:48
[INFO] [stdout]     |
[INFO] [stdout]  25 |         Fraction::new($num as u32, $den as u32);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 148 |         assert_eq!(a * b, frac32!(2, 10));
[INFO] [stdout]     |                           -------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `frac32` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/fraction.rs:25:48
[INFO] [stdout]     |
[INFO] [stdout]  25 |         Fraction::new($num as u32, $den as u32);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 153 |         let a = frac32!(1, 2);
[INFO] [stdout]     |                 ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `frac32` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/fraction.rs:25:48
[INFO] [stdout]     |
[INFO] [stdout]  25 |         Fraction::new($num as u32, $den as u32);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 154 |         let b = frac32!(1, 4);
[INFO] [stdout]     |                 ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `frac32` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/fraction.rs:25:48
[INFO] [stdout]     |
[INFO] [stdout]  25 |         Fraction::new($num as u32, $den as u32);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 156 |         assert_eq!(a / b, frac32!(4, 2));
[INFO] [stdout]     |                           ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `frac32` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/fraction.rs:25:48
[INFO] [stdout]     |
[INFO] [stdout]  25 |         Fraction::new($num as u32, $den as u32);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 161 |         let a = frac32!(157684, 511974);
[INFO] [stdout]     |                 ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `frac32` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/fraction.rs:25:48
[INFO] [stdout]     |
[INFO] [stdout]  25 |         Fraction::new($num as u32, $den as u32);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 162 |         assert_eq!(a.reduce(), frac32!(158, 513))
[INFO] [stdout]     |                                ----------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `frac32`
[INFO] [stdout]     = note: this error originates in the macro `frac32` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::macros::*`
[INFO] [stdout]   --> src/lib.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub use crate::macros::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `m` and `n` are never read
[INFO] [stdout]    --> src/dense.rs:563:5
[INFO] [stdout]     |
[INFO] [stdout] 561 | pub struct DenseTranspose<'a, T: Numeric + 'a> {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 562 |     inner: &'a Dense<T>,
[INFO] [stdout] 563 |     m: usize,
[INFO] [stdout]     |     ^
[INFO] [stdout] 564 |     n: usize,
[INFO] [stdout]     |     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DenseTranspose` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `m` and `n` are never read
[INFO] [stdout]    --> src/dense.rs:570:5
[INFO] [stdout]     |
[INFO] [stdout] 568 | pub struct DenseTransposeMut<'a, T: Numeric + 'a> {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 569 |     inner: &'a mut Dense<T>,
[INFO] [stdout] 570 |     m: usize,
[INFO] [stdout]     |     ^
[INFO] [stdout] 571 |     n: usize,
[INFO] [stdout]     |     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DenseTransposeMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/dense.rs:224:18
[INFO] [stdout]     |
[INFO] [stdout] 224 |     pub fn t_old(&self) -> MatrixT<T> {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 224 |     pub fn t_old(&self) -> MatrixT<'_, T> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/utilities.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |         &a.assert_approx_eq(&b, 0.00005);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let _ = &a.assert_approx_eq(&b, 0.00005);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/utilities.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         &a.assert_approx_eq(&b, 0.00005);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let _ = &a.assert_approx_eq(&b, 0.00005);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `numb_rs` (lib test) due to 32 previous errors; 9 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "a4f44f46a7539d1ae68413e74e526a155a313a695d14010accc67a11ebfa8bf5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a4f44f46a7539d1ae68413e74e526a155a313a695d14010accc67a11ebfa8bf5", kill_on_drop: false }`
[INFO] [stdout] a4f44f46a7539d1ae68413e74e526a155a313a695d14010accc67a11ebfa8bf5
