[INFO] cloning repository https://github.com/lgvier/rust-tracer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lgvier/rust-tracer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flgvier%2Frust-tracer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flgvier%2Frust-tracer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4560764ddcca2dc0328d931dda5d8207620f0dbd
[INFO] testing lgvier/rust-tracer against beta-2026-04-21 for beta-1.96-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flgvier%2Frust-tracer" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/lgvier/rust-tracer
[INFO] finished tweaking git repo https://github.com/lgvier/rust-tracer
[INFO] tweaked toml for git repo https://github.com/lgvier/rust-tracer written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/lgvier/rust-tracer on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/lgvier/rust-tracer 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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fc38db2c15ed9f2ed55f43d4cbfe8bd4760718458f0205995b512e0dbdee9f23
[INFO] running `Command { std: "docker" "start" "-a" "fc38db2c15ed9f2ed55f43d4cbfe8bd4760718458f0205995b512e0dbdee9f23", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fc38db2c15ed9f2ed55f43d4cbfe8bd4760718458f0205995b512e0dbdee9f23", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fc38db2c15ed9f2ed55f43d4cbfe8bd4760718458f0205995b512e0dbdee9f23", kill_on_drop: false }`
[INFO] [stdout] fc38db2c15ed9f2ed55f43d4cbfe8bd4760718458f0205995b512e0dbdee9f23
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d5f68b30bb5f5309d3dd6566dd8b399db846e3e920bdbcf1f867fde1c450786a
[INFO] running `Command { std: "docker" "start" "-a" "d5f68b30bb5f5309d3dd6566dd8b399db846e3e920bdbcf1f867fde1c450786a", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.86
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.3
[INFO] [stderr]    Compiling syn v1.0.60
[INFO] [stderr]    Compiling memoffset v0.6.1
[INFO] [stderr]    Compiling strsim v0.9.3
[INFO] [stderr]    Compiling getrandom v0.2.2
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling rayon-core v1.9.0
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling crc32fast v1.2.1
[INFO] [stderr]    Compiling regex-syntax v0.6.22
[INFO] [stderr]    Compiling rayon v1.5.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.10
[INFO] [stderr]    Compiling byteorder v1.4.2
[INFO] [stderr]    Compiling derive_builder v0.9.0
[INFO] [stderr]    Compiling number_prefix v0.3.0
[INFO] [stderr]    Compiling pad v0.1.6
[INFO] [stderr]    Compiling deflate v0.8.6
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling terminal_size v0.1.16
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]    Compiling rand_core v0.6.2
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.3
[INFO] [stderr]    Compiling crossbeam-channel v0.5.0
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling png v0.16.8
[INFO] [stderr]    Compiling rand_chacha v0.3.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.0
[INFO] [stderr]    Compiling rand v0.8.3
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]    Compiling regex v1.4.3
[INFO] [stderr]    Compiling console v0.14.0
[INFO] [stderr]    Compiling indicatif v0.15.0
[INFO] [stderr]    Compiling darling_core v0.10.2
[INFO] [stderr]    Compiling darling_macro v0.10.2
[INFO] [stderr]    Compiling darling v0.10.2
[INFO] [stderr]    Compiling derive_builder_core v0.9.0
[INFO] [stderr]    Compiling rust-tracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/matrix.rs:12:52
[INFO] [stdout]    |
[INFO] [stdout] 12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]    |                                                      ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/transformations.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 | /         matrix![
[INFO] [stdout] 75 | |             1., 0., 0., x.into();
[INFO] [stdout] 76 | |             0., 1., 0., y.into();
[INFO] [stdout] 77 | |             0., 0., 1., z.into();
[INFO] [stdout] 78 | |             0., 0., 0., 1.]
[INFO] [stdout]    | |___________________________- in this macro invocation
[INFO] [stdout]    |
[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 `matrix`
[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: `#[warn(semicolon_in_expressions_from_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/matrix.rs:12:52
[INFO] [stdout]    |
[INFO] [stdout] 12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]    |                                                      ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/transformations.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 | /         matrix![
[INFO] [stdout] 82 | |             x.into(), 0., 0., 0.;
[INFO] [stdout] 83 | |             0., y.into(), 0., 0.;
[INFO] [stdout] 84 | |             0., 0., z.into(), 0.;
[INFO] [stdout] 85 | |             0., 0., 0., 1.]
[INFO] [stdout]    | |___________________________- in this macro invocation
[INFO] [stdout]    |
[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 `matrix`
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/matrix.rs:12:52
[INFO] [stdout]    |
[INFO] [stdout] 12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]    |                                                      ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/transformations.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 | /         matrix![
[INFO] [stdout] 90 | |             1., 0., 0., 0.;
[INFO] [stdout] 91 | |             0., r.cos(), -r.sin(), 0.;
[INFO] [stdout] 92 | |             0., r.sin(), r.cos(), 0.;
[INFO] [stdout] 93 | |             0., 0., 0., 1.]
[INFO] [stdout]    | |___________________________- in this macro invocation
[INFO] [stdout]    |
[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 `matrix`
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/transformations.rs:97:9
[INFO] [stdout]     |
[INFO] [stdout]  97 | /         matrix![
[INFO] [stdout]  98 | |             r.cos(), 0., r.sin(), 0.;
[INFO] [stdout]  99 | |             0., 1., 0., 0.;
[INFO] [stdout] 100 | |             -r.sin(), 0., r.cos(), 0.;
[INFO] [stdout] 101 | |             0., 0., 0., 1.]
[INFO] [stdout]     | |___________________________- in this macro invocation
[INFO] [stdout]     |
[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 `matrix`
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/transformations.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 | /         matrix![
[INFO] [stdout] 106 | |             r.cos(), -r.sin(), 0., 0.;
[INFO] [stdout] 107 | |             r.sin(), r.cos(), 0., 0.;
[INFO] [stdout] 108 | |             0., 0., 1., 0.;
[INFO] [stdout] 109 | |             0., 0., 0., 1.]
[INFO] [stdout]     | |___________________________- in this macro invocation
[INFO] [stdout]     |
[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 `matrix`
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/transformations.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 | /         matrix![
[INFO] [stdout] 120 | |             1., xy.into(), xz.into(), 0.;
[INFO] [stdout] 121 | |             yx.into(), 1., yz.into(), 0.;
[INFO] [stdout] 122 | |             zx.into(), zy.into(), 1., 0.;
[INFO] [stdout] 123 | |             0., 0., 0., 1.]
[INFO] [stdout]     | |___________________________- in this macro invocation
[INFO] [stdout]     |
[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 `matrix`
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/transformations.rs:130:27
[INFO] [stdout]     |
[INFO] [stdout] 130 |           let orientation = matrix![
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 131 | |             left.x, left.y, left.z, 0.;
[INFO] [stdout] 132 | |             true_up.x, true_up.y, true_up.z, 0.;
[INFO] [stdout] 133 | |             -forward.x, -forward.y, -forward.z, 0.;
[INFO] [stdout] 134 | |             0., 0., 0., 1.
[INFO] [stdout] 135 | |         ];
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/patterns.rs:15:80
[INFO] [stdout]     |
[INFO] [stdout]  15 |         $crate::patterns::Pattern::Solid($crate::color::Color::new($r, $g, $b));
[INFO] [stdout]     |                                                                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/world.rs:168:22
[INFO] [stdout]     |
[INFO] [stdout] 168 |             .pattern(solid!(0.8, 1, 0.6))
[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 warning originates in the macro `solid` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/intersection.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 49 |         &'a self,
[INFO] [stdout]    |          -- the lifetime is named here
[INFO] [stdout] 50 |         arena: &'a Arena,
[INFO] [stdout]    |                 -- the lifetime is named here
[INFO] [stdout] ...
[INFO] [stdout] 53 |     ) -> PreparedComputations {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 53 |     ) -> PreparedComputations<'a> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/shapes/mod.rs:108:70
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn intersect<'a>(&'a self, arena: &'a Arena, r: &Ray) -> Vec<Intersection> {
[INFO] [stdout]     |                           --               --                        ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |                |
[INFO] [stdout]     |                           |                the lifetime is named here
[INFO] [stdout]     |                           the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn intersect<'a>(&'a self, arena: &'a Arena, r: &Ray) -> Vec<Intersection<'a>> {
[INFO] [stdout]     |                                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/shapes/mod.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn as_intersections(&self, xs: Vec<f64>) -> Vec<Intersection> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn as_intersections(&self, xs: Vec<f64>) -> Vec<Intersection<'_>> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/shapes/mod.rs:210:65
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn get_parent<'a>(&'a self, arena: &'a Arena) -> Option<&Shape> {
[INFO] [stdout]     |                            --               --                  ^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                            |                |
[INFO] [stdout]     |                            |                the lifetime is named here
[INFO] [stdout]     |                            the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn get_parent<'a>(&'a self, arena: &'a Arena) -> Option<&'a Shape> {
[INFO] [stdout]     |                                                                  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world.rs:74:18
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn intersect(&self, r: &Ray) -> Vec<Intersection> {
[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] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn intersect(&self, r: &Ray) -> Vec<Intersection<'_>> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.35s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rust-tracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "d5f68b30bb5f5309d3dd6566dd8b399db846e3e920bdbcf1f867fde1c450786a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d5f68b30bb5f5309d3dd6566dd8b399db846e3e920bdbcf1f867fde1c450786a", kill_on_drop: false }`
[INFO] [stdout] d5f68b30bb5f5309d3dd6566dd8b399db846e3e920bdbcf1f867fde1c450786a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 301a27201d3a724636a921115f2e43ceb3f2fe11288884b9c731c6d941ee2d90
[INFO] running `Command { std: "docker" "start" "-a" "301a27201d3a724636a921115f2e43ceb3f2fe11288884b9c731c6d941ee2d90", kill_on_drop: false }`
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/matrix.rs:12:52
[INFO] [stdout]    |
[INFO] [stdout] 12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]    |                                                      ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/transformations.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 | /         matrix![
[INFO] [stdout] 75 | |             1., 0., 0., x.into();
[INFO] [stdout] 76 | |             0., 1., 0., y.into();
[INFO] [stdout] 77 | |             0., 0., 1., z.into();
[INFO] [stdout] 78 | |             0., 0., 0., 1.]
[INFO] [stdout]    | |___________________________- in this macro invocation
[INFO] [stdout]    |
[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 `matrix`
[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: `#[warn(semicolon_in_expressions_from_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/matrix.rs:12:52
[INFO] [stdout]    |
[INFO] [stdout] 12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]    |                                                      ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/transformations.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 | /         matrix![
[INFO] [stdout] 82 | |             x.into(), 0., 0., 0.;
[INFO] [stdout] 83 | |             0., y.into(), 0., 0.;
[INFO] [stdout] 84 | |             0., 0., z.into(), 0.;
[INFO] [stdout] 85 | |             0., 0., 0., 1.]
[INFO] [stdout]    | |___________________________- in this macro invocation
[INFO] [stdout]    |
[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 `matrix`
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/matrix.rs:12:52
[INFO] [stdout]    |
[INFO] [stdout] 12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]    |                                                      ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/transformations.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 | /         matrix![
[INFO] [stdout] 90 | |             1., 0., 0., 0.;
[INFO] [stdout] 91 | |             0., r.cos(), -r.sin(), 0.;
[INFO] [stdout] 92 | |             0., r.sin(), r.cos(), 0.;
[INFO] [stdout] 93 | |             0., 0., 0., 1.]
[INFO] [stdout]    | |___________________________- in this macro invocation
[INFO] [stdout]    |
[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 `matrix`
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/transformations.rs:97:9
[INFO] [stdout]     |
[INFO] [stdout]  97 | /         matrix![
[INFO] [stdout]  98 | |             r.cos(), 0., r.sin(), 0.;
[INFO] [stdout]  99 | |             0., 1., 0., 0.;
[INFO] [stdout] 100 | |             -r.sin(), 0., r.cos(), 0.;
[INFO] [stdout] 101 | |             0., 0., 0., 1.]
[INFO] [stdout]     | |___________________________- in this macro invocation
[INFO] [stdout]     |
[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 `matrix`
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/transformations.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 | /         matrix![
[INFO] [stdout] 106 | |             r.cos(), -r.sin(), 0., 0.;
[INFO] [stdout] 107 | |             r.sin(), r.cos(), 0., 0.;
[INFO] [stdout] 108 | |             0., 0., 1., 0.;
[INFO] [stdout] 109 | |             0., 0., 0., 1.]
[INFO] [stdout]     | |___________________________- in this macro invocation
[INFO] [stdout]     |
[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 `matrix`
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/transformations.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 | /         matrix![
[INFO] [stdout] 120 | |             1., xy.into(), xz.into(), 0.;
[INFO] [stdout] 121 | |             yx.into(), 1., yz.into(), 0.;
[INFO] [stdout] 122 | |             zx.into(), zy.into(), 1., 0.;
[INFO] [stdout] 123 | |             0., 0., 0., 1.]
[INFO] [stdout]     | |___________________________- in this macro invocation
[INFO] [stdout]     |
[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 `matrix`
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/transformations.rs:130:27
[INFO] [stdout]     |
[INFO] [stdout] 130 |           let orientation = matrix![
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 131 | |             left.x, left.y, left.z, 0.;
[INFO] [stdout] 132 | |             true_up.x, true_up.y, true_up.z, 0.;
[INFO] [stdout] 133 | |             -forward.x, -forward.y, -forward.z, 0.;
[INFO] [stdout] 134 | |             0., 0., 0., 1.
[INFO] [stdout] 135 | |         ];
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/patterns.rs:15:80
[INFO] [stdout]     |
[INFO] [stdout]  15 |         $crate::patterns::Pattern::Solid($crate::color::Color::new($r, $g, $b));
[INFO] [stdout]     |                                                                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/world.rs:168:22
[INFO] [stdout]     |
[INFO] [stdout] 168 |             .pattern(solid!(0.8, 1, 0.6))
[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 warning originates in the macro `solid` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/intersection.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 49 |         &'a self,
[INFO] [stdout]    |          -- the lifetime is named here
[INFO] [stdout] 50 |         arena: &'a Arena,
[INFO] [stdout]    |                 -- the lifetime is named here
[INFO] [stdout] ...
[INFO] [stdout] 53 |     ) -> PreparedComputations {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 53 |     ) -> PreparedComputations<'a> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/shapes/mod.rs:108:70
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn intersect<'a>(&'a self, arena: &'a Arena, r: &Ray) -> Vec<Intersection> {
[INFO] [stdout]     |                           --               --                        ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |                |
[INFO] [stdout]     |                           |                the lifetime is named here
[INFO] [stdout]     |                           the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn intersect<'a>(&'a self, arena: &'a Arena, r: &Ray) -> Vec<Intersection<'a>> {
[INFO] [stdout]     |                                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/shapes/mod.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn as_intersections(&self, xs: Vec<f64>) -> Vec<Intersection> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn as_intersections(&self, xs: Vec<f64>) -> Vec<Intersection<'_>> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rust-tracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/shapes/mod.rs:210:65
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn get_parent<'a>(&'a self, arena: &'a Arena) -> Option<&Shape> {
[INFO] [stdout]     |                            --               --                  ^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                            |                |
[INFO] [stdout]     |                            |                the lifetime is named here
[INFO] [stdout]     |                            the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn get_parent<'a>(&'a self, arena: &'a Arena) -> Option<&'a Shape> {
[INFO] [stdout]     |                                                                  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world.rs:74:18
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn intersect(&self, r: &Ray) -> Vec<Intersection> {
[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] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn intersect(&self, r: &Ray) -> Vec<Intersection<'_>> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:18:41
[INFO] [stdout]     |
[INFO] [stdout]  18 |         $crate::matrix::Matrix::empty(2);
[INFO] [stdout]     |                                         ^
[INFO] [stdout] ...
[INFO] [stdout] 262 |         let m = matrix2![];
[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: `#[warn(semicolon_in_expressions_from_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `matrix2` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:21:53
[INFO] [stdout]     |
[INFO] [stdout]  21 |           $crate::matrix::Matrix::new2($([$($x),*]),*);
[INFO] [stdout]     |                                                       ^
[INFO] [stdout] ...
[INFO] [stdout] 266 |           let m = matrix2![
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 267 | |             0., 0.;
[INFO] [stdout] 268 | |             1., 1.];
[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 warning originates in the macro `matrix2` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:27:41
[INFO] [stdout]     |
[INFO] [stdout]  27 |         $crate::matrix::Matrix::empty(3);
[INFO] [stdout]     |                                         ^
[INFO] [stdout] ...
[INFO] [stdout] 272 |         let m = matrix3![];
[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 warning originates in the macro `matrix3` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:30:53
[INFO] [stdout]     |
[INFO] [stdout]  30 |           $crate::matrix::Matrix::new3($([$($x),*]),*);
[INFO] [stdout]     |                                                       ^
[INFO] [stdout] ...
[INFO] [stdout] 276 |           let m = matrix3![
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 277 | |             0., 0., 5.;
[INFO] [stdout] 278 | |             1., 1., 6.;
[INFO] [stdout] 279 | |             2., 2., 7.];
[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 warning originates in the macro `matrix3` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:9:41
[INFO] [stdout]     |
[INFO] [stdout]   9 |         $crate::matrix::Matrix::empty(4);
[INFO] [stdout]     |                                         ^
[INFO] [stdout] ...
[INFO] [stdout] 283 |         let m = matrix![];
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout] ...
[INFO] [stdout] 287 |           let m = matrix![
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 288 | |             8., 2., 2., 2.;
[INFO] [stdout] 289 | |             3., -1., 7., 0.;
[INFO] [stdout] 290 | |             7., 0., 5., 4.;
[INFO] [stdout] 291 | |             6., -2., 0., 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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout] ...
[INFO] [stdout] 303 |           let m = matrix![
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 304 | |             1., 2., 3., 4.;
[INFO] [stdout] 305 | |             5.5, 6.5, 7.5, 8.5;
[INFO] [stdout] 306 | |             9., 10., 11., 12.;
[INFO] [stdout] 307 | |             13.5, 14.5, 15.5, 16.5
[INFO] [stdout] 308 | |         ];
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout] ...
[INFO] [stdout] 309 |           let m2 = matrix![
[INFO] [stdout]     |  __________________-
[INFO] [stdout] 310 | |             1., 2., 3., 4.;
[INFO] [stdout] 311 | |             5.5, 6.5, 7.5, 8.5;
[INFO] [stdout] 312 | |             9., 10., 11., 12.;
[INFO] [stdout] 313 | |             13.5, 14.5, 15.5, 16.5
[INFO] [stdout] 314 | |         ];
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout] ...
[INFO] [stdout] 315 |           let m3 = matrix![
[INFO] [stdout]     |  __________________-
[INFO] [stdout] 316 | |             0., 2., 3., 4.;
[INFO] [stdout] 317 | |             5.5, 6.5, 7.5, 8.5;
[INFO] [stdout] 318 | |             9., 10., 11., 12.;
[INFO] [stdout] 319 | |             13.5, 14.5, 15.5, 16.5
[INFO] [stdout] 320 | |         ];
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout] ...
[INFO] [stdout] 327 |           let m = matrix![
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 328 | |             1., 2., 3., 4.;
[INFO] [stdout] 329 | |             5., 6., 7., 8.;
[INFO] [stdout] 330 | |             9., 8., 7., 6.;
[INFO] [stdout] 331 | |             5., 4., 3., 2.
[INFO] [stdout] 332 | |         ];
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout] ...
[INFO] [stdout] 333 |           let m2 = matrix![
[INFO] [stdout]     |  __________________-
[INFO] [stdout] 334 | |             -2., 1., 2., 3.;
[INFO] [stdout] 335 | |             3., 2., 1., -1.;
[INFO] [stdout] 336 | |             4., 3., 6., 5.;
[INFO] [stdout] 337 | |             1., 2., 7., 8.
[INFO] [stdout] 338 | |         ];
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout] ...
[INFO] [stdout] 339 |           let expected = matrix![
[INFO] [stdout]     |  ________________________-
[INFO] [stdout] 340 | |             20., 22., 50., 48.;
[INFO] [stdout] 341 | |             44., 54., 114., 108.;
[INFO] [stdout] 342 | |             40., 58., 110., 102.;
[INFO] [stdout] 343 | |             16., 26., 46., 42.
[INFO] [stdout] 344 | |         ];
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout] ...
[INFO] [stdout] 350 |           let m = matrix![
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 351 | |             1., 2., 3., 4.;
[INFO] [stdout] 352 | |             2., 4., 4., 2.;
[INFO] [stdout] 353 | |             8., 6., 4., 1.;
[INFO] [stdout] 354 | |             0., 0., 0., 1.
[INFO] [stdout] 355 | |         ];
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout] ...
[INFO] [stdout] 362 |           let m = matrix![
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 363 | |             1., 2., 3., 4.;
[INFO] [stdout] 364 | |             2., 4., 4., 2.;
[INFO] [stdout] 365 | |             8., 6., 4., 1.;
[INFO] [stdout] 366 | |             0., 0., 0., 1.
[INFO] [stdout] 367 | |         ];
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout] ...
[INFO] [stdout] 373 |           let m = matrix![
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 374 | |             0., 9., 3., 0.;
[INFO] [stdout] 375 | |             9., 8., 0., 8.;
[INFO] [stdout] 376 | |             1., 8., 5., 3.;
[INFO] [stdout] 377 | |             0., 0., 5., 8.
[INFO] [stdout] 378 | |         ];
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout] ...
[INFO] [stdout] 379 |           let expected = matrix![
[INFO] [stdout]     |  ________________________-
[INFO] [stdout] 380 | |             0., 9., 1., 0.;
[INFO] [stdout] 381 | |             9., 8., 8., 0.;
[INFO] [stdout] 382 | |             3., 0., 5., 5.;
[INFO] [stdout] 383 | |             0., 8., 3., 8.
[INFO] [stdout] 384 | |         ];
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:21:53
[INFO] [stdout]     |
[INFO] [stdout]  21 |           $crate::matrix::Matrix::new2($([$($x),*]),*);
[INFO] [stdout]     |                                                       ^
[INFO] [stdout] ...
[INFO] [stdout] 392 |           let m = matrix2![
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 393 | |             1., 5.;
[INFO] [stdout] 394 | |             -3., 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 warning originates in the macro `matrix2` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:30:53
[INFO] [stdout]     |
[INFO] [stdout]  30 |           $crate::matrix::Matrix::new3($([$($x),*]),*);
[INFO] [stdout]     |                                                       ^
[INFO] [stdout] ...
[INFO] [stdout] 400 |           let m = matrix3![
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 401 | |             1., 5., 0.;
[INFO] [stdout] 402 | |             -3., 2., 7.;
[INFO] [stdout] 403 | |             0., 6., -3.];
[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 warning originates in the macro `matrix3` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:21:53
[INFO] [stdout]     |
[INFO] [stdout]  21 |         $crate::matrix::Matrix::new2($([$($x),*]),*);
[INFO] [stdout]     |                                                     ^
[INFO] [stdout] ...
[INFO] [stdout] 404 |         let expected = matrix2![-3., 2.; 0., 6.];
[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 warning originates in the macro `matrix2` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout] ...
[INFO] [stdout] 406 |           let m = matrix![
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 407 | |             0., 9., 3., 0.;
[INFO] [stdout] 408 | |             9., 8., 0., 8.;
[INFO] [stdout] 409 | |             1., 8., 5., 3.;
[INFO] [stdout] 410 | |             0., 0., 5., 8.
[INFO] [stdout] 411 | |         ];
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:30:53
[INFO] [stdout]     |
[INFO] [stdout]  30 |         $crate::matrix::Matrix::new3($([$($x),*]),*);
[INFO] [stdout]     |                                                     ^
[INFO] [stdout] ...
[INFO] [stdout] 412 |         let expected = matrix3![0., 9., 3.; 1., 8., 5.; 0., 0., 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 warning originates in the macro `matrix3` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:30:53
[INFO] [stdout]     |
[INFO] [stdout]  30 |           $crate::matrix::Matrix::new3($([$($x),*]),*);
[INFO] [stdout]     |                                                       ^
[INFO] [stdout] ...
[INFO] [stdout] 418 |           let m = matrix3![
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 419 | |             3., 5., 0.;
[INFO] [stdout] 420 | |             2., -1., -7.;
[INFO] [stdout] 421 | |             6., -1., 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 warning originates in the macro `matrix3` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:30:53
[INFO] [stdout]     |
[INFO] [stdout]  30 |           $crate::matrix::Matrix::new3($([$($x),*]),*);
[INFO] [stdout]     |                                                       ^
[INFO] [stdout] ...
[INFO] [stdout] 427 |           let m = matrix3![
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 428 | |             3., 5., 0.;
[INFO] [stdout] 429 | |             2., -1., -7.;
[INFO] [stdout] 430 | |             6., -1., 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 warning originates in the macro `matrix3` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:30:53
[INFO] [stdout]     |
[INFO] [stdout]  30 |           $crate::matrix::Matrix::new3($([$($x),*]),*);
[INFO] [stdout]     |                                                       ^
[INFO] [stdout] ...
[INFO] [stdout] 439 |           let m = matrix3![
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 440 | |             1., 2., 6.;
[INFO] [stdout] 441 | |             -5., 8., -4.;
[INFO] [stdout] 442 | |             2., 6., 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 warning originates in the macro `matrix3` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout] ...
[INFO] [stdout] 451 |           let m = matrix![
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 452 | |             -2., -8., 3., 5.;
[INFO] [stdout] 453 | |             -3., 1., 7., 3.;
[INFO] [stdout] 454 | |             1., 2., -9., 6.;
[INFO] [stdout] 455 | |             -6., 7., 7., -9.
[INFO] [stdout] 456 | |         ];
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout] ...
[INFO] [stdout] 466 |           let m = matrix![
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 467 | |             6., 4., 4., 4.;
[INFO] [stdout] 468 | |             5., 5., 7., 6.;
[INFO] [stdout] 469 | |             4., -9., 3., -7.;
[INFO] [stdout] 470 | |             9., 1., 7., -6.
[INFO] [stdout] 471 | |         ];
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout] ...
[INFO] [stdout] 474 |           let m = matrix![
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 475 | |             -4., 2., -2., -3.;
[INFO] [stdout] 476 | |             9., 6., 2., 6.;
[INFO] [stdout] 477 | |             0., -5., 1., -5.;
[INFO] [stdout] 478 | |             0., 0., 0., 0.
[INFO] [stdout] 479 | |         ];
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout] ...
[INFO] [stdout] 486 |           let m = matrix![
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 487 | |             -5., 2., 6., -8.;
[INFO] [stdout] 488 | |             1., -5., 1., 8.;
[INFO] [stdout] 489 | |             7., 7., -6., -7.;
[INFO] [stdout] 490 | |             1., -3., 7., 4.
[INFO] [stdout] 491 | |         ];
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout] ...
[INFO] [stdout] 501 |           let expected = matrix![
[INFO] [stdout]     |  ________________________-
[INFO] [stdout] 502 | |             0.21805, 0.45113, 0.24060, -0.04511;
[INFO] [stdout] 503 | |             -0.80827, -1.45677, -0.44361, 0.52068;
[INFO] [stdout] 504 | |             -0.07895, -0.22368, -0.05263, 0.19737;
[INFO] [stdout] 505 | |             -0.52256, -0.81391, -0.30075, 0.30639
[INFO] [stdout] 506 | |         ];
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout] ...
[INFO] [stdout] 513 |           let m = matrix![
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 514 | |             3., -9., 7., 3.;
[INFO] [stdout] 515 | |             3., -8., 2., -9.;
[INFO] [stdout] 516 | |             -4., 4., 4., 1.;
[INFO] [stdout] 517 | |             -6., 5., -1., 1.
[INFO] [stdout] 518 | |         ];
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout] ...
[INFO] [stdout] 519 |           let m2 = matrix![
[INFO] [stdout]     |  __________________-
[INFO] [stdout] 520 | |             8., 2., 2., 2.;
[INFO] [stdout] 521 | |             3., -1., 7., 0.;
[INFO] [stdout] 522 | |             7., 0., 5., 4.;
[INFO] [stdout] 523 | |             6., -2., 0., 5.
[INFO] [stdout] 524 | |         ];
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sphere`
[INFO] [stdout]    --> src/shapes/mod.rs:251:76
[INFO] [stdout]     |
[INFO] [stdout] 251 |     use crate::{material::MaterialBuilder, matrix::IDENTITY_MATRIX, point, sphere, vector};
[INFO] [stdout]     |                                                                            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/matrix.rs:12:52
[INFO] [stdout]    |
[INFO] [stdout] 12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]    |                                                      ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/transformations.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 | /         matrix![
[INFO] [stdout] 75 | |             1., 0., 0., x.into();
[INFO] [stdout] 76 | |             0., 1., 0., y.into();
[INFO] [stdout] 77 | |             0., 0., 1., z.into();
[INFO] [stdout] 78 | |             0., 0., 0., 1.]
[INFO] [stdout]    | |___________________________- in this macro invocation
[INFO] [stdout]    |
[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 `matrix`
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/matrix.rs:12:52
[INFO] [stdout]    |
[INFO] [stdout] 12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]    |                                                      ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/transformations.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 | /         matrix![
[INFO] [stdout] 82 | |             x.into(), 0., 0., 0.;
[INFO] [stdout] 83 | |             0., y.into(), 0., 0.;
[INFO] [stdout] 84 | |             0., 0., z.into(), 0.;
[INFO] [stdout] 85 | |             0., 0., 0., 1.]
[INFO] [stdout]    | |___________________________- in this macro invocation
[INFO] [stdout]    |
[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 `matrix`
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/matrix.rs:12:52
[INFO] [stdout]    |
[INFO] [stdout] 12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]    |                                                      ^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/transformations.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 | /         matrix![
[INFO] [stdout] 90 | |             1., 0., 0., 0.;
[INFO] [stdout] 91 | |             0., r.cos(), -r.sin(), 0.;
[INFO] [stdout] 92 | |             0., r.sin(), r.cos(), 0.;
[INFO] [stdout] 93 | |             0., 0., 0., 1.]
[INFO] [stdout]    | |___________________________- in this macro invocation
[INFO] [stdout]    |
[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 `matrix`
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/transformations.rs:97:9
[INFO] [stdout]     |
[INFO] [stdout]  97 | /         matrix![
[INFO] [stdout]  98 | |             r.cos(), 0., r.sin(), 0.;
[INFO] [stdout]  99 | |             0., 1., 0., 0.;
[INFO] [stdout] 100 | |             -r.sin(), 0., r.cos(), 0.;
[INFO] [stdout] 101 | |             0., 0., 0., 1.]
[INFO] [stdout]     | |___________________________- in this macro invocation
[INFO] [stdout]     |
[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 `matrix`
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/transformations.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 | /         matrix![
[INFO] [stdout] 106 | |             r.cos(), -r.sin(), 0., 0.;
[INFO] [stdout] 107 | |             r.sin(), r.cos(), 0., 0.;
[INFO] [stdout] 108 | |             0., 0., 1., 0.;
[INFO] [stdout] 109 | |             0., 0., 0., 1.]
[INFO] [stdout]     | |___________________________- in this macro invocation
[INFO] [stdout]     |
[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 `matrix`
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/transformations.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 | /         matrix![
[INFO] [stdout] 120 | |             1., xy.into(), xz.into(), 0.;
[INFO] [stdout] 121 | |             yx.into(), 1., yz.into(), 0.;
[INFO] [stdout] 122 | |             zx.into(), zy.into(), 1., 0.;
[INFO] [stdout] 123 | |             0., 0., 0., 1.]
[INFO] [stdout]     | |___________________________- in this macro invocation
[INFO] [stdout]     |
[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 `matrix`
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/transformations.rs:130:27
[INFO] [stdout]     |
[INFO] [stdout] 130 |           let orientation = matrix![
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 131 | |             left.x, left.y, left.z, 0.;
[INFO] [stdout] 132 | |             true_up.x, true_up.y, true_up.z, 0.;
[INFO] [stdout] 133 | |             -forward.x, -forward.y, -forward.z, 0.;
[INFO] [stdout] 134 | |             0., 0., 0., 1.
[INFO] [stdout] 135 | |         ];
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/matrix.rs:12:52
[INFO] [stdout]     |
[INFO] [stdout]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/transformations.rs:337:13
[INFO] [stdout]     |
[INFO] [stdout] 337 | /             matrix![-0.50709, 0.50709, 0.67612, -2.36643;
[INFO] [stdout] 338 | |                     0.76772, 0.60609,  0.12122, -2.82843;
[INFO] [stdout] 339 | |                     -0.35857, 0.59761, -0.71714,  0.00000;
[INFO] [stdout] 340 | |                     0.00000, 0.00000,  0.00000,  1.00000],
[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 warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/patterns.rs:15:80
[INFO] [stdout]     |
[INFO] [stdout]  15 |         $crate::patterns::Pattern::Solid($crate::color::Color::new($r, $g, $b));
[INFO] [stdout]     |                                                                                ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/world.rs:168:22
[INFO] [stdout]     |
[INFO] [stdout] 168 |             .pattern(solid!(0.8, 1, 0.6))
[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 warning originates in the macro `solid` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/intersection.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 49 |         &'a self,
[INFO] [stdout]    |          -- the lifetime is named here
[INFO] [stdout] 50 |         arena: &'a Arena,
[INFO] [stdout]    |                 -- the lifetime is named here
[INFO] [stdout] ...
[INFO] [stdout] 53 |     ) -> PreparedComputations {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 53 |     ) -> PreparedComputations<'a> {
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/shapes/mod.rs:108:70
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn intersect<'a>(&'a self, arena: &'a Arena, r: &Ray) -> Vec<Intersection> {
[INFO] [stdout]     |                           --               --                        ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |                |
[INFO] [stdout]     |                           |                the lifetime is named here
[INFO] [stdout]     |                           the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn intersect<'a>(&'a self, arena: &'a Arena, r: &Ray) -> Vec<Intersection<'a>> {
[INFO] [stdout]     |                                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/shapes/mod.rs:120:25
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn as_intersections(&self, xs: Vec<f64>) -> Vec<Intersection> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn as_intersections(&self, xs: Vec<f64>) -> Vec<Intersection<'_>> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/shapes/mod.rs:210:65
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn get_parent<'a>(&'a self, arena: &'a Arena) -> Option<&Shape> {
[INFO] [stdout]     |                            --               --                  ^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                            |                |
[INFO] [stdout]     |                            |                the lifetime is named here
[INFO] [stdout]     |                            the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn get_parent<'a>(&'a self, arena: &'a Arena) -> Option<&'a Shape> {
[INFO] [stdout]     |                                                                  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/world.rs:74:18
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn intersect(&self, r: &Ray) -> Vec<Intersection> {
[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] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn intersect(&self, r: &Ray) -> Vec<Intersection<'_>> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.72s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rust-tracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "301a27201d3a724636a921115f2e43ceb3f2fe11288884b9c731c6d941ee2d90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "301a27201d3a724636a921115f2e43ceb3f2fe11288884b9c731c6d941ee2d90", kill_on_drop: false }`
[INFO] [stdout] 301a27201d3a724636a921115f2e43ceb3f2fe11288884b9c731c6d941ee2d90
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 8fc7ef19c4df2e0a0f3738963a68fce69244478ffecf3332e3c36339ebd591b7
[INFO] running `Command { std: "docker" "start" "-a" "8fc7ef19c4df2e0a0f3738963a68fce69244478ffecf3332e3c36339ebd591b7", kill_on_drop: false }`
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]   --> src/matrix.rs:12:52
[INFO] [stderr]    |
[INFO] [stderr] 12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]    |                                                      ^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/transformations.rs:74:9
[INFO] [stderr]    |
[INFO] [stderr] 74 | /         matrix![
[INFO] [stderr] 75 | |             1., 0., 0., x.into();
[INFO] [stderr] 76 | |             0., 1., 0., y.into();
[INFO] [stderr] 77 | |             0., 0., 1., z.into();
[INFO] [stderr] 78 | |             0., 0., 0., 1.]
[INFO] [stderr]    | |___________________________- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `matrix`
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]    = note: `#[warn(semicolon_in_expressions_from_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stderr]    = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]   --> src/matrix.rs:12:52
[INFO] [stderr]    |
[INFO] [stderr] 12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]    |                                                      ^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/transformations.rs:81:9
[INFO] [stderr]    |
[INFO] [stderr] 81 | /         matrix![
[INFO] [stderr] 82 | |             x.into(), 0., 0., 0.;
[INFO] [stderr] 83 | |             0., y.into(), 0., 0.;
[INFO] [stderr] 84 | |             0., 0., z.into(), 0.;
[INFO] [stderr] 85 | |             0., 0., 0., 1.]
[INFO] [stderr]    | |___________________________- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `matrix`
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]    = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]   --> src/matrix.rs:12:52
[INFO] [stderr]    |
[INFO] [stderr] 12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]    |                                                      ^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/transformations.rs:89:9
[INFO] [stderr]    |
[INFO] [stderr] 89 | /         matrix![
[INFO] [stderr] 90 | |             1., 0., 0., 0.;
[INFO] [stderr] 91 | |             0., r.cos(), -r.sin(), 0.;
[INFO] [stderr] 92 | |             0., r.sin(), r.cos(), 0.;
[INFO] [stderr] 93 | |             0., 0., 0., 1.]
[INFO] [stderr]    | |___________________________- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `matrix`
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]    = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:12:52
[INFO] [stderr]     |
[INFO] [stderr]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]     |                                                      ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/transformations.rs:97:9
[INFO] [stderr]     |
[INFO] [stderr]  97 | /         matrix![
[INFO] [stderr]  98 | |             r.cos(), 0., r.sin(), 0.;
[INFO] [stderr]  99 | |             0., 1., 0., 0.;
[INFO] [stderr] 100 | |             -r.sin(), 0., r.cos(), 0.;
[INFO] [stderr] 101 | |             0., 0., 0., 1.]
[INFO] [stderr]     | |___________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `matrix`
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:12:52
[INFO] [stderr]     |
[INFO] [stderr]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]     |                                                      ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/transformations.rs:105:9
[INFO] [stderr]     |
[INFO] [stderr] 105 | /         matrix![
[INFO] [stderr] 106 | |             r.cos(), -r.sin(), 0., 0.;
[INFO] [stderr] 107 | |             r.sin(), r.cos(), 0., 0.;
[INFO] [stderr] 108 | |             0., 0., 1., 0.;
[INFO] [stderr] 109 | |             0., 0., 0., 1.]
[INFO] [stderr]     | |___________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `matrix`
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:12:52
[INFO] [stderr]     |
[INFO] [stderr]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]     |                                                      ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/transformations.rs:119:9
[INFO] [stderr]     |
[INFO] [stderr] 119 | /         matrix![
[INFO] [stderr] 120 | |             1., xy.into(), xz.into(), 0.;
[INFO] [stderr] 121 | |             yx.into(), 1., yz.into(), 0.;
[INFO] [stderr] 122 | |             zx.into(), zy.into(), 1., 0.;
[INFO] [stderr] 123 | |             0., 0., 0., 1.]
[INFO] [stderr]     | |___________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `matrix`
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:12:52
[INFO] [stderr]     |
[INFO] [stderr]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]     |                                                      ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/transformations.rs:130:27
[INFO] [stderr]     |
[INFO] [stderr] 130 |           let orientation = matrix![
[INFO] [stderr]     |  ___________________________-
[INFO] [stderr] 131 | |             left.x, left.y, left.z, 0.;
[INFO] [stderr] 132 | |             true_up.x, true_up.y, true_up.z, 0.;
[INFO] [stderr] 133 | |             -forward.x, -forward.y, -forward.z, 0.;
[INFO] [stderr] 134 | |             0., 0., 0., 1.
[INFO] [stderr] 135 | |         ];
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/patterns.rs:15:80
[INFO] [stderr]     |
[INFO] [stderr]  15 |         $crate::patterns::Pattern::Solid($crate::color::Color::new($r, $g, $b));
[INFO] [stderr]     |                                                                                ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/world.rs:168:22
[INFO] [stderr]     |
[INFO] [stderr] 168 |             .pattern(solid!(0.8, 1, 0.6))
[INFO] [stderr]     |                      ------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `solid` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]   --> src/intersection.rs:53:10
[INFO] [stderr]    |
[INFO] [stderr] 49 |         &'a self,
[INFO] [stderr]    |          -- the lifetime is named here
[INFO] [stderr] 50 |         arena: &'a Arena,
[INFO] [stderr]    |                 -- the lifetime is named here
[INFO] [stderr] ...
[INFO] [stderr] 53 |     ) -> PreparedComputations {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]    |
[INFO] [stderr] 53 |     ) -> PreparedComputations<'a> {
[INFO] [stderr]    |                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/shapes/mod.rs:108:70
[INFO] [stderr]     |
[INFO] [stderr] 108 |     pub fn intersect<'a>(&'a self, arena: &'a Arena, r: &Ray) -> Vec<Intersection> {
[INFO] [stderr]     |                           --               --                        ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                           |                |
[INFO] [stderr]     |                           |                the lifetime is named here
[INFO] [stderr]     |                           the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 108 |     pub fn intersect<'a>(&'a self, arena: &'a Arena, r: &Ray) -> Vec<Intersection<'a>> {
[INFO] [stderr]     |                                                                                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/shapes/mod.rs:120:25
[INFO] [stderr]     |
[INFO] [stderr] 120 |     fn as_intersections(&self, xs: Vec<f64>) -> Vec<Intersection> {
[INFO] [stderr]     |                         ^^^^^                       ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 120 |     fn as_intersections(&self, xs: Vec<f64>) -> Vec<Intersection<'_>> {
[INFO] [stderr]     |                                                                 ++++
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/shapes/mod.rs:210:65
[INFO] [stderr]     |
[INFO] [stderr] 210 |     pub fn get_parent<'a>(&'a self, arena: &'a Arena) -> Option<&Shape> {
[INFO] [stderr]     |                            --               --                  ^^^^^^ the same lifetime is elided here
[INFO] [stderr]     |                            |                |
[INFO] [stderr]     |                            |                the lifetime is named here
[INFO] [stderr]     |                            the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 210 |     pub fn get_parent<'a>(&'a self, arena: &'a Arena) -> Option<&'a Shape> {
[INFO] [stderr]     |                                                                  ++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/world.rs:74:18
[INFO] [stderr]    |
[INFO] [stderr] 74 |     fn intersect(&self, r: &Ray) -> Vec<Intersection> {
[INFO] [stderr]    |                  ^^^^^                  ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                  |
[INFO] [stderr]    |                  the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 74 |     fn intersect(&self, r: &Ray) -> Vec<Intersection<'_>> {
[INFO] [stderr]    |                                                     ++++
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:18:41
[INFO] [stderr]     |
[INFO] [stderr]  18 |         $crate::matrix::Matrix::empty(2);
[INFO] [stderr]     |                                         ^
[INFO] [stderr] ...
[INFO] [stderr] 262 |         let m = matrix2![];
[INFO] [stderr]     |                 ---------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: `#[warn(semicolon_in_expressions_from_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stderr]     = note: this warning originates in the macro `matrix2` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:21:53
[INFO] [stderr]     |
[INFO] [stderr]  21 |           $crate::matrix::Matrix::new2($([$($x),*]),*);
[INFO] [stderr]     |                                                       ^
[INFO] [stderr] ...
[INFO] [stderr] 266 |           let m = matrix2![
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 267 | |             0., 0.;
[INFO] [stderr] 268 | |             1., 1.];
[INFO] [stderr]     | |___________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix2` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:27:41
[INFO] [stderr]     |
[INFO] [stderr]  27 |         $crate::matrix::Matrix::empty(3);
[INFO] [stderr]     |                                         ^
[INFO] [stderr] ...
[INFO] [stderr] 272 |         let m = matrix3![];
[INFO] [stderr]     |                 ---------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix3` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:30:53
[INFO] [stderr]     |
[INFO] [stderr]  30 |           $crate::matrix::Matrix::new3($([$($x),*]),*);
[INFO] [stderr]     |                                                       ^
[INFO] [stderr] ...
[INFO] [stderr] 276 |           let m = matrix3![
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 277 | |             0., 0., 5.;
[INFO] [stderr] 278 | |             1., 1., 6.;
[INFO] [stderr] 279 | |             2., 2., 7.];
[INFO] [stderr]     | |_______________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix3` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:9:41
[INFO] [stderr]     |
[INFO] [stderr]   9 |         $crate::matrix::Matrix::empty(4);
[INFO] [stderr]     |                                         ^
[INFO] [stderr] ...
[INFO] [stderr] 283 |         let m = matrix![];
[INFO] [stderr]     |                 --------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:12:52
[INFO] [stderr]     |
[INFO] [stderr]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]     |                                                      ^
[INFO] [stderr] ...
[INFO] [stderr] 287 |           let m = matrix![
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 288 | |             8., 2., 2., 2.;
[INFO] [stderr] 289 | |             3., -1., 7., 0.;
[INFO] [stderr] 290 | |             7., 0., 5., 4.;
[INFO] [stderr] 291 | |             6., -2., 0., 5.];
[INFO] [stderr]     | |____________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:12:52
[INFO] [stderr]     |
[INFO] [stderr]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]     |                                                      ^
[INFO] [stderr] ...
[INFO] [stderr] 303 |           let m = matrix![
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 304 | |             1., 2., 3., 4.;
[INFO] [stderr] 305 | |             5.5, 6.5, 7.5, 8.5;
[INFO] [stderr] 306 | |             9., 10., 11., 12.;
[INFO] [stderr] 307 | |             13.5, 14.5, 15.5, 16.5
[INFO] [stderr] 308 | |         ];
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:12:52
[INFO] [stderr]     |
[INFO] [stderr]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]     |                                                      ^
[INFO] [stderr] ...
[INFO] [stderr] 309 |           let m2 = matrix![
[INFO] [stderr]     |  __________________-
[INFO] [stderr] 310 | |             1., 2., 3., 4.;
[INFO] [stderr] 311 | |             5.5, 6.5, 7.5, 8.5;
[INFO] [stderr] 312 | |             9., 10., 11., 12.;
[INFO] [stderr] 313 | |             13.5, 14.5, 15.5, 16.5
[INFO] [stderr] 314 | |         ];
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:12:52
[INFO] [stderr]     |
[INFO] [stderr]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]     |                                                      ^
[INFO] [stderr] ...
[INFO] [stderr] 315 |           let m3 = matrix![
[INFO] [stderr]     |  __________________-
[INFO] [stderr] 316 | |             0., 2., 3., 4.;
[INFO] [stderr] 317 | |             5.5, 6.5, 7.5, 8.5;
[INFO] [stderr] 318 | |             9., 10., 11., 12.;
[INFO] [stderr] 319 | |             13.5, 14.5, 15.5, 16.5
[INFO] [stderr] 320 | |         ];
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:12:52
[INFO] [stderr]     |
[INFO] [stderr]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]     |                                                      ^
[INFO] [stderr] ...
[INFO] [stderr] 327 |           let m = matrix![
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 328 | |             1., 2., 3., 4.;
[INFO] [stderr] 329 | |             5., 6., 7., 8.;
[INFO] [stderr] 330 | |             9., 8., 7., 6.;
[INFO] [stderr] 331 | |             5., 4., 3., 2.
[INFO] [stderr] 332 | |         ];
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:12:52
[INFO] [stderr]     |
[INFO] [stderr]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]     |                                                      ^
[INFO] [stderr] ...
[INFO] [stderr] 333 |           let m2 = matrix![
[INFO] [stderr]     |  __________________-
[INFO] [stderr] 334 | |             -2., 1., 2., 3.;
[INFO] [stderr] 335 | |             3., 2., 1., -1.;
[INFO] [stderr] 336 | |             4., 3., 6., 5.;
[INFO] [stderr] 337 | |             1., 2., 7., 8.
[INFO] [stderr] 338 | |         ];
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:12:52
[INFO] [stderr]     |
[INFO] [stderr]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]     |                                                      ^
[INFO] [stderr] ...
[INFO] [stderr] 339 |           let expected = matrix![
[INFO] [stderr]     |  ________________________-
[INFO] [stderr] 340 | |             20., 22., 50., 48.;
[INFO] [stderr] 341 | |             44., 54., 114., 108.;
[INFO] [stderr] 342 | |             40., 58., 110., 102.;
[INFO] [stderr] 343 | |             16., 26., 46., 42.
[INFO] [stderr] 344 | |         ];
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:12:52
[INFO] [stderr]     |
[INFO] [stderr]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]     |                                                      ^
[INFO] [stderr] ...
[INFO] [stderr] 350 |           let m = matrix![
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 351 | |             1., 2., 3., 4.;
[INFO] [stderr] 352 | |             2., 4., 4., 2.;
[INFO] [stderr] 353 | |             8., 6., 4., 1.;
[INFO] [stderr] 354 | |             0., 0., 0., 1.
[INFO] [stderr] 355 | |         ];
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:12:52
[INFO] [stderr]     |
[INFO] [stderr]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]     |                                                      ^
[INFO] [stderr] ...
[INFO] [stderr] 362 |           let m = matrix![
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 363 | |             1., 2., 3., 4.;
[INFO] [stderr] 364 | |             2., 4., 4., 2.;
[INFO] [stderr] 365 | |             8., 6., 4., 1.;
[INFO] [stderr] 366 | |             0., 0., 0., 1.
[INFO] [stderr] 367 | |         ];
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:12:52
[INFO] [stderr]     |
[INFO] [stderr]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]     |                                                      ^
[INFO] [stderr] ...
[INFO] [stderr] 373 |           let m = matrix![
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 374 | |             0., 9., 3., 0.;
[INFO] [stderr] 375 | |             9., 8., 0., 8.;
[INFO] [stderr] 376 | |             1., 8., 5., 3.;
[INFO] [stderr] 377 | |             0., 0., 5., 8.
[INFO] [stderr] 378 | |         ];
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:12:52
[INFO] [stderr]     |
[INFO] [stderr]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]     |                                                      ^
[INFO] [stderr] ...
[INFO] [stderr] 379 |           let expected = matrix![
[INFO] [stderr]     |  ________________________-
[INFO] [stderr] 380 | |             0., 9., 1., 0.;
[INFO] [stderr] 381 | |             9., 8., 8., 0.;
[INFO] [stderr] 382 | |             3., 0., 5., 5.;
[INFO] [stderr] 383 | |             0., 8., 3., 8.
[INFO] [stderr] 384 | |         ];
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:21:53
[INFO] [stderr]     |
[INFO] [stderr]  21 |           $crate::matrix::Matrix::new2($([$($x),*]),*);
[INFO] [stderr]     |                                                       ^
[INFO] [stderr] ...
[INFO] [stderr] 392 |           let m = matrix2![
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 393 | |             1., 5.;
[INFO] [stderr] 394 | |             -3., 2.];
[INFO] [stderr]     | |____________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix2` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:30:53
[INFO] [stderr]     |
[INFO] [stderr]  30 |           $crate::matrix::Matrix::new3($([$($x),*]),*);
[INFO] [stderr]     |                                                       ^
[INFO] [stderr] ...
[INFO] [stderr] 400 |           let m = matrix3![
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 401 | |             1., 5., 0.;
[INFO] [stderr] 402 | |             -3., 2., 7.;
[INFO] [stderr] 403 | |             0., 6., -3.];
[INFO] [stderr]     | |________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix3` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:21:53
[INFO] [stderr]     |
[INFO] [stderr]  21 |         $crate::matrix::Matrix::new2($([$($x),*]),*);
[INFO] [stderr]     |                                                     ^
[INFO] [stderr] ...
[INFO] [stderr] 404 |         let expected = matrix2![-3., 2.; 0., 6.];
[INFO] [stderr]     |                        ------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix2` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:12:52
[INFO] [stderr]     |
[INFO] [stderr]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]     |                                                      ^
[INFO] [stderr] ...
[INFO] [stderr] 406 |           let m = matrix![
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 407 | |             0., 9., 3., 0.;
[INFO] [stderr] 408 | |             9., 8., 0., 8.;
[INFO] [stderr] 409 | |             1., 8., 5., 3.;
[INFO] [stderr] 410 | |             0., 0., 5., 8.
[INFO] [stderr] 411 | |         ];
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:30:53
[INFO] [stderr]     |
[INFO] [stderr]  30 |         $crate::matrix::Matrix::new3($([$($x),*]),*);
[INFO] [stderr]     |                                                     ^
[INFO] [stderr] ...
[INFO] [stderr] 412 |         let expected = matrix3![0., 9., 3.; 1., 8., 5.; 0., 0., 5.];
[INFO] [stderr]     |                        -------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix3` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:30:53
[INFO] [stderr]     |
[INFO] [stderr]  30 |           $crate::matrix::Matrix::new3($([$($x),*]),*);
[INFO] [stderr]     |                                                       ^
[INFO] [stderr] ...
[INFO] [stderr] 418 |           let m = matrix3![
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 419 | |             3., 5., 0.;
[INFO] [stderr] 420 | |             2., -1., -7.;
[INFO] [stderr] 421 | |             6., -1., 5.];
[INFO] [stderr]     | |________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix3` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:30:53
[INFO] [stderr]     |
[INFO] [stderr]  30 |           $crate::matrix::Matrix::new3($([$($x),*]),*);
[INFO] [stderr]     |                                                       ^
[INFO] [stderr] ...
[INFO] [stderr] 427 |           let m = matrix3![
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 428 | |             3., 5., 0.;
[INFO] [stderr] 429 | |             2., -1., -7.;
[INFO] [stderr] 430 | |             6., -1., 5.];
[INFO] [stderr]     | |________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix3` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:30:53
[INFO] [stderr]     |
[INFO] [stderr]  30 |           $crate::matrix::Matrix::new3($([$($x),*]),*);
[INFO] [stderr]     |                                                       ^
[INFO] [stderr] ...
[INFO] [stderr] 439 |           let m = matrix3![
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 440 | |             1., 2., 6.;
[INFO] [stderr] 441 | |             -5., 8., -4.;
[INFO] [stderr] 442 | |             2., 6., 4.];
[INFO] [stderr]     | |_______________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix3` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:12:52
[INFO] [stderr]     |
[INFO] [stderr]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]     |                                                      ^
[INFO] [stderr] ...
[INFO] [stderr] 451 |           let m = matrix![
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 452 | |             -2., -8., 3., 5.;
[INFO] [stderr] 453 | |             -3., 1., 7., 3.;
[INFO] [stderr] 454 | |             1., 2., -9., 6.;
[INFO] [stderr] 455 | |             -6., 7., 7., -9.
[INFO] [stderr] 456 | |         ];
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:12:52
[INFO] [stderr]     |
[INFO] [stderr]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]     |                                                      ^
[INFO] [stderr] ...
[INFO] [stderr] 466 |           let m = matrix![
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 467 | |             6., 4., 4., 4.;
[INFO] [stderr] 468 | |             5., 5., 7., 6.;
[INFO] [stderr] 469 | |             4., -9., 3., -7.;
[INFO] [stderr] 470 | |             9., 1., 7., -6.
[INFO] [stderr] 471 | |         ];
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:12:52
[INFO] [stderr]     |
[INFO] [stderr]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]     |                                                      ^
[INFO] [stderr] ...
[INFO] [stderr] 474 |           let m = matrix![
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 475 | |             -4., 2., -2., -3.;
[INFO] [stderr] 476 | |             9., 6., 2., 6.;
[INFO] [stderr] 477 | |             0., -5., 1., -5.;
[INFO] [stderr] 478 | |             0., 0., 0., 0.
[INFO] [stderr] 479 | |         ];
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:12:52
[INFO] [stderr]     |
[INFO] [stderr]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]     |                                                      ^
[INFO] [stderr] ...
[INFO] [stderr] 486 |           let m = matrix![
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 487 | |             -5., 2., 6., -8.;
[INFO] [stderr] 488 | |             1., -5., 1., 8.;
[INFO] [stderr] 489 | |             7., 7., -6., -7.;
[INFO] [stderr] 490 | |             1., -3., 7., 4.
[INFO] [stderr] 491 | |         ];
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:12:52
[INFO] [stderr]     |
[INFO] [stderr]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]     |                                                      ^
[INFO] [stderr] ...
[INFO] [stderr] 501 |           let expected = matrix![
[INFO] [stderr]     |  ________________________-
[INFO] [stderr] 502 | |             0.21805, 0.45113, 0.24060, -0.04511;
[INFO] [stderr] 503 | |             -0.80827, -1.45677, -0.44361, 0.52068;
[INFO] [stderr] 504 | |             -0.07895, -0.22368, -0.05263, 0.19737;
[INFO] [stderr] 505 | |             -0.52256, -0.81391, -0.30075, 0.30639
[INFO] [stderr] 506 | |         ];
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:12:52
[INFO] [stderr]     |
[INFO] [stderr]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]     |                                                      ^
[INFO] [stderr] ...
[INFO] [stderr] 513 |           let m = matrix![
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 514 | |             3., -9., 7., 3.;
[INFO] [stderr] 515 | |             3., -8., 2., -9.;
[INFO] [stderr] 516 | |             -4., 4., 4., 1.;
[INFO] [stderr] 517 | |             -6., 5., -1., 1.
[INFO] [stderr] 518 | |         ];
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:12:52
[INFO] [stderr]     |
[INFO] [stderr]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]     |                                                      ^
[INFO] [stderr] ...
[INFO] [stderr] 519 |           let m2 = matrix![
[INFO] [stderr]     |  __________________-
[INFO] [stderr] 520 | |             8., 2., 2., 2.;
[INFO] [stderr] 521 | |             3., -1., 7., 0.;
[INFO] [stderr] 522 | |             7., 0., 5., 4.;
[INFO] [stderr] 523 | |             6., -2., 0., 5.
[INFO] [stderr] 524 | |         ];
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `sphere`
[INFO] [stderr]    --> src/shapes/mod.rs:251:76
[INFO] [stderr]     |
[INFO] [stderr] 251 |     use crate::{material::MaterialBuilder, matrix::IDENTITY_MATRIX, point, sphere, vector};
[INFO] [stderr]     |                                                                            ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]   --> src/matrix.rs:12:52
[INFO] [stderr]    |
[INFO] [stderr] 12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]    |                                                      ^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/transformations.rs:74:9
[INFO] [stderr]    |
[INFO] [stderr] 74 | /         matrix![
[INFO] [stderr] 75 | |             1., 0., 0., x.into();
[INFO] [stderr] 76 | |             0., 1., 0., y.into();
[INFO] [stderr] 77 | |             0., 0., 1., z.into();
[INFO] [stderr] 78 | |             0., 0., 0., 1.]
[INFO] [stderr]    | |___________________________- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `matrix`
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]    = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/matrix.rs:12:52
[INFO] [stderr]     |
[INFO] [stderr]  12 |           $crate::matrix::Matrix::new($([$($x),*]),*);
[INFO] [stderr]     |                                                      ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/transformations.rs:337:13
[INFO] [stderr]     |
[INFO] [stderr] 337 | /             matrix![-0.50709, 0.50709, 0.67612, -2.36643;
[INFO] [stderr] 338 | |                     0.76772, 0.60609,  0.12122, -2.82843;
[INFO] [stderr] 339 | |                     -0.35857, 0.59761, -0.71714,  0.00000;
[INFO] [stderr] 340 | |                     0.00000, 0.00000,  0.00000,  1.00000],
[INFO] [stderr]     | |_________________________________________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `matrix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `rust-tracer` (lib) generated 13 warnings (run `cargo fix --lib -p rust-tracer` to apply 5 suggestions)
[INFO] [stderr] warning: `rust-tracer` (lib test) generated 46 warnings (12 duplicates) (run `cargo fix --lib -p rust-tracer --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rust-tracer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rust_tracer-93e18831516a7142)
[INFO] [stdout] 
[INFO] [stdout] running 183 tests
[INFO] [stdout] test arena::tests::change_something ... ok
[INFO] [stdout] test bounds::tests::add_points ... ok
[INFO] [stdout] test bounds::tests::contains_point ... ok
[INFO] [stdout] test bounds::tests::contains_box ... ok
[INFO] [stdout] test bounds::tests::intersecting_with_a_bounding_box_at_the_origin ... ok
[INFO] [stdout] test bounds::tests::intersecting_with_a_non_cubic_bounding_box ... ok
[INFO] [stdout] test bounds::tests::split_perfect_cube ... ok
[INFO] [stdout] test bounds::tests::split_x_wide_box ... ok
[INFO] [stdout] test bounds::tests::split_y_wide_box ... ok
[INFO] [stdout] test bounds::tests::split_z_wide_box ... ok
[INFO] [stdout] test bounds::tests::transform ... ok
[INFO] [stdout] test camera::tests::pixel_size ... ok
[INFO] [stdout] test camera::tests::ray_trough_center_of_canvas ... ok
[INFO] [stdout] test camera::tests::ctor ... ok
[INFO] [stdout] test camera::tests::ray_trough_corner_of_canvas ... ok
[INFO] [stdout] test camera::tests::ray_when_camera_is_transformed ... ok
[INFO] [stdout] test canvas::tests::ctor ... ok
[INFO] [stdout] test canvas::tests::save ... ok
[INFO] [stdout] test bounds::tests::add_box ... ok
[INFO] [stdout] test canvas::tests::write ... ok
[INFO] [stdout] test color::tests::add ... ok
[INFO] [stdout] test color::tests::ctor ... ok
[INFO] [stdout] test color::tests::eq ... ok
[INFO] [stdout] test color::tests::mul ... ok
[INFO] [stdout] test color::tests::ne ... ok
[INFO] [stdout] test color::tests::sub ... ok
[INFO] [stdout] test intersection::tests::ctor ... ok
[INFO] [stdout] test intersection::tests::hit_lowest_non_negative ... ok
[INFO] [stdout] test intersection::tests::hit_negative ... ok
[INFO] [stdout] test intersection::tests::hit_should_offset_point ... ok
[INFO] [stdout] test intersection::tests::hit_positive ... ok
[INFO] [stdout] test intersection::tests::inside ... ok
[INFO] [stdout] test intersection::tests::outside ... ok
[INFO] [stdout] test intersection::tests::finding_n1_and_n2 ... ok
[INFO] [stdout] test intersection::tests::precompute ... ok
[INFO] [stdout] test material::tests::lightning_eye_opposite_surface_light_offset_45_deg ... ok
[INFO] [stdout] test intersection::tests::schlick_approximation_under_total_internal_reflection ... ok
[INFO] [stdout] test intersection::tests::under_point_is_below_surface ... ok
[INFO] [stdout] test material::tests::builder ... ok
[INFO] [stdout] test material::tests::lightning_with_pattern_applied ... ok
[INFO] [stdout] test material::tests::default ... ok
[INFO] [stdout] test material::tests::lightning_light_behind_surface ... ok
[INFO] [stdout] test material::tests::lightning_eye_between_light_and_surface ... ok
[INFO] [stdout] test material::tests::lightning_eye_in_path_of_reflecting_vector ... ok
[INFO] [stdout] test intersection::tests::schlick_approximation_with_perpendicular_viewing_angle ... ok
[INFO] [stdout] test matrix::tests::cofactor ... ok
[INFO] [stdout] test material::tests::precomputing_reflection_vector ... ok
[INFO] [stdout] test material::tests::lightning_eye_between_light_and_surface_eye_offset_45_deg ... ok
[INFO] [stdout] test light::tests::point_light_has_position_and_intensity ... ok
[INFO] [stdout] test material::tests::lightning_with_surface_in_shadow ... ok
[INFO] [stdout] test matrix::tests::determinant_2x2 ... ok
[INFO] [stdout] test matrix::tests::determinant_3x3 ... ok
[INFO] [stdout] test matrix::tests::determinant_4x4 ... ok
[INFO] [stdout] test matrix::tests::eq ... ok
[INFO] [stdout] test matrix::tests::inverse ... ok
[INFO] [stdout] test matrix::tests::identity ... ok
[INFO] [stdout] test intersection::tests::schlick_approximation_with_small_angle_and_n2_gt_n1 ... ok
[INFO] [stdout] test matrix::tests::minor ... ok
[INFO] [stdout] test matrix::tests::submatrix ... ok
[INFO] [stdout] test patterns::tests::checkers_should_repeat_in_y ... ok
[INFO] [stdout] test patterns::tests::checkers_should_repeat_in_z ... ok
[INFO] [stdout] test patterns::tests::gradient_linearly_interpolates_between_colors ... ok
[INFO] [stdout] test patterns::tests::stripe_pattern ... ok
[INFO] [stdout] test patterns::tests::stripes_alternates_in_x ... ok
[INFO] [stdout] test matrix::tests::macros ... ok
[INFO] [stdout] test matrix::tests::mul ... ok
[INFO] [stdout] test matrix::tests::transpose ... ok
[INFO] [stdout] test matrix::tests::tuple_mul ... ok
[INFO] [stdout] test patterns::tests::checkers_should_repeat_in_x ... ok
[INFO] [stdout] test patterns::tests::ring_should_extend_in_both_x_and_z ... ok
[INFO] [stdout] test patterns::tests::stripes_is_constant_in_y ... ok
[INFO] [stdout] test matrix::tests::ctor ... ok
[INFO] [stdout] test matrix::tests::is_invertible ... ok
[INFO] [stdout] test patterns::tests::stripes_is_constant_in_z ... ok
[INFO] [stdout] test patterns::tests::stripes_with_object_and_pattern_transformations ... ok
[INFO] [stdout] test patterns::tests::stripes_with_object_transformation ... ok
[INFO] [stdout] test ray::tests::compute_point_from_distance ... ok
[INFO] [stdout] test shapes::cone::tests::bounds ... ok
[INFO] [stdout] test ray::tests::ctor ... ok
[INFO] [stdout] test shapes::cube::tests::normal_on_surface_of_cube ... ok
[INFO] [stdout] test shapes::cube::tests::ray_intersects_cube ... ok
[INFO] [stdout] test shapes::cube::tests::ray_misses_cube ... ok
[INFO] [stdout] test shapes::cylinder::tests::intersecting_caps_closed_cylinder ... ok
[INFO] [stdout] test shapes::cylinder::tests::bounds ... ok
[INFO] [stdout] test shapes::cone::tests::normal ... ok
[INFO] [stdout] test shapes::cylinder::tests::intersecting_constrained_cylinder ... ok
[INFO] [stdout] test shapes::cylinder::tests::normal_vector_on_cylinders_end_caps ... ok
[INFO] [stdout] test shapes::cylinder::tests::normal_vector_on_cylinder ... ok
[INFO] [stdout] test patterns::tests::stripes_with_pattern_transformation ... ok
[INFO] [stdout] test shapes::cone::tests::intersecting_cone ... ok
[INFO] [stdout] test shapes::cone::tests::intersecting_ray_with_ray_parallel_to_halves ... ok
[INFO] [stdout] test shapes::cylinder::tests::ray_misses_cylinder ... ok
[INFO] [stdout] test shapes::cylinder::tests::ray_strikes_cylinder ... ok
[INFO] [stdout] test shapes::cone::tests::intersecting_caps_closed_cone ... ok
[INFO] [stdout] test shapes::group::tests::create_subgroup_from_children ... ok
[INFO] [stdout] test intersection::tests::hit_all_negative ... ok
[INFO] [stdout] test shapes::group::tests::group ... ok
[INFO] [stdout] test shapes::group::tests::divide ... ok
[INFO] [stdout] test shapes::group::tests::intersect_transformed_group ... ok
[INFO] [stdout] test shapes::group::tests::intersect_non_empty_group ... ok
[INFO] [stdout] test shapes::plane::tests::intersect_with_coplanar_ray ... ok
[INFO] [stdout] test shapes::group::tests::partitioning_groups_children ... ok
[INFO] [stdout] test matrix::tests::multiplying_a_product_by_its_inverse ... ok
[INFO] [stdout] test shapes::plane::tests::normal_of_plane_is_constant_everywhere ... ok
[INFO] [stdout] test shapes::plane::tests::ray_intersecting_plane_from_above ... ok
[INFO] [stdout] test shapes::plane::tests::ray_intersecting_plane_from_below ... ok
[INFO] [stdout] test shapes::sphere::tests::sphere_has_a_default_material ... ok
[INFO] [stdout] test shapes::sphere::tests::sphere_normal_is_normalized_vector ... ok
[INFO] [stdout] test shapes::sphere::tests::sphere_normal_nonaxial ... ok
[INFO] [stdout] test shapes::sphere::tests::sphere_normal_transformed ... ok
[INFO] [stdout] test shapes::sphere::tests::sphere_normal_translated ... ok
[INFO] [stdout] test shapes::sphere::tests::sphere_normal_x_axis ... ok
[INFO] [stdout] test shapes::sphere::tests::sphere_normal_y_axis ... ok
[INFO] [stdout] test shapes::sphere::tests::sphere_normal_z_axis ... ok
[INFO] [stdout] test shapes::plane::tests::intersect_with_ray_parallel_to_plane ... ok
[INFO] [stdout] test shapes::sphere::tests::sphere_ray_behind ... ok
[INFO] [stdout] test shapes::sphere::tests::sphere_ray_intersects_at_two_pts ... ok
[INFO] [stdout] test shapes::sphere::tests::sphere_ray_intersects_tangent ... ok
[INFO] [stdout] test shapes::sphere::tests::sphere_ray_within ... ok
[INFO] [stdout] test shapes::sphere::tests::sphere_set_transform_translated_intersect ... ok
[INFO] [stdout] test shapes::tests::group_has_bb_that_contains_its_children ... ok
[INFO] [stdout] test shapes::tests::shape_assign_material ... ok
[INFO] [stdout] test transformations::tests::chaining ... ok
[INFO] [stdout] test shapes::tests::shape_default_transformation ... ok
[INFO] [stdout] test shapes::sphere::tests::sphere_set_transform ... ok
[INFO] [stdout] test shapes::sphere::tests::sphere_ray_misses ... ok
[INFO] [stdout] test transformations::tests::matrix_for_default_orientation ... ok
[INFO] [stdout] test shapes::sphere::tests::sphere_set_transform_scaled_intersect ... ok
[INFO] [stdout] test shapes::tests::converting_normal_from_object_to_world_space ... ok
[INFO] [stdout] test shapes::tests::finding_normal_on_child_object ... ok
[INFO] [stdout] test shapes::sphere::tests::sphere_set_material ... ok
[INFO] [stdout] test transformations::tests::ray_scaling ... ok
[INFO] [stdout] test shapes::tests::querying_bounding_box_in_parents_space ... ok
[INFO] [stdout] test shapes::tests::converting_point_from_world_to_object_space ... ok
[INFO] [stdout] test shapes::tests::shape_assign_transformation ... ok
[INFO] [stdout] test shapes::tests::shape_default_material ... ok
[INFO] [stdout] test camera::tests::render_world_with_a_camera ... ok
[INFO] [stdout] test transformations::tests::ray_translation ... ok
[INFO] [stdout] test transformations::tests::rotation_x ... ok
[INFO] [stdout] test transformations::tests::rotation_y ... ok
[INFO] [stdout] test transformations::tests::rotation_z ... ok
[INFO] [stdout] test transformations::tests::scaling ... ok
[INFO] [stdout] test transformations::tests::translation ... ok
[INFO] [stdout] test transformations::tests::view_transformation_looking_positive_z_direction ... ok
[INFO] [stdout] test transformations::tests::shearing ... ok
[INFO] [stdout] test transformations::tests::view_transformation_moves_the_world ... ok
[INFO] [stdout] test tuple::tests::add ... ok
[INFO] [stdout] test tuple::tests::cross_product ... ok
[INFO] [stdout] test tuple::tests::eq ... ok
[INFO] [stdout] test tuple::tests::is_point ... ok
[INFO] [stdout] test tuple::tests::div ... ok
[INFO] [stdout] test tuple::tests::ne ... ok
[INFO] [stdout] test tuple::tests::neg ... ok
[INFO] [stdout] test tuple::tests::normalize ... ok
[INFO] [stdout] test tuple::tests::dot_product ... ok
[INFO] [stdout] test tuple::tests::point_ctor ... ok
[INFO] [stdout] test tuple::tests::is_vector ... ok
[INFO] [stdout] test tuple::tests::reflecting_vector_approaching_at_45_deg ... ok
[INFO] [stdout] test tuple::tests::reflecting_vector_off_slanted_surface ... ok
[INFO] [stdout] test tuple::tests::magnitude ... ok
[INFO] [stdout] test tuple::tests::sub ... ok
[INFO] [stdout] test world::tests::find_refracted_color_opaque_object ... ok
[INFO] [stdout] test tuple::tests::vector_ctor ... ok
[INFO] [stdout] test world::tests::intersect_with_ray ... ok
[INFO] [stdout] test world::tests::no_shadow_when_nothing_is_collinear_with_point_and_light ... ok
[INFO] [stdout] test world::tests::no_shadow_when_object_behind_point ... ok
[INFO] [stdout] test world::tests::no_shadow_when_object_behind_light ... ok
[INFO] [stdout] test world::tests::refracted_color_max_recursion ... ok
[INFO] [stdout] test world::tests::shade_hit_intersection_in_shadow ... ok
[INFO] [stdout] test world::tests::reflected_color_reflective_material ... ok
[INFO] [stdout] test world::tests::reflected_color_at_max_recursive_depth ... ok
[INFO] [stdout] test world::tests::reflected_color_non_reflective_material ... ok
[INFO] [stdout] test world::tests::refracted_color_under_total_internal_reflection ... ok
[INFO] [stdout] test world::tests::shade_hit_reflective_material ... ok
[INFO] [stdout] test world::tests::shading_an_intersection ... ok
[INFO] [stdout] test world::tests::shade_hit_with_transparent_material ... ok
[INFO] [stdout] test world::tests::shadow_when_object_between_point_and_light ... ok
[INFO] [stdout] test world::tests::shade_hit_with_reflective_transparent_material ... ok
[INFO] [stdout] test world::tests::color_at_with_mutually_reflective_surfaces_doesnt_cause_infinite_recursion ... ok
[INFO] [stdout] test world::tests::color_intersection_behind_ray ... ok
[INFO] [stdout] test world::tests::refracted_color_refracted_ray ... ok
[INFO] [stdout] test transformations::tests::arbitrary_view_transformation ... ok
[INFO] [stdout] test tuple::tests::mul ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 183 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/chapter02_projectile.rs (/opt/rustwide/target/debug/deps/chapter02_projectile-247a0e82f1f01e6e)
[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] [stderr]      Running unittests src/bin/chapter04_clock.rs (/opt/rustwide/target/debug/deps/chapter04_clock-05dc604e5ab9c8cb)
[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] [stderr]      Running unittests src/bin/chapter05_sphere.rs (/opt/rustwide/target/debug/deps/chapter05_sphere-b58d45792dee93b0)
[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] [stderr]      Running unittests src/bin/chapter06_sphere.rs (/opt/rustwide/target/debug/deps/chapter06_sphere-275aac8fb7919032)
[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] [stderr]      Running unittests src/bin/chapter07_scene.rs (/opt/rustwide/target/debug/deps/chapter07_scene-61a018ca6bcd4b49)
[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] [stderr]      Running unittests src/bin/chapter09_plane.rs (/opt/rustwide/target/debug/deps/chapter09_plane-eadb54ae4f9d229e)
[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] [stderr]      Running unittests src/bin/chapter10_patterns.rs (/opt/rustwide/target/debug/deps/chapter10_patterns-682b6613a5f22668)
[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] [stderr]      Running unittests src/bin/chapter11a_reflection.rs (/opt/rustwide/target/debug/deps/chapter11a_reflection-6e3ce83dc28ba7af)
[INFO] [stderr]      Running unittests src/bin/chapter11b_refraction.rs (/opt/rustwide/target/debug/deps/chapter11b_refraction-02354cd0d9ff8839)
[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] [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] [stderr]      Running unittests src/bin/chapter12_cube.rs (/opt/rustwide/target/debug/deps/chapter12_cube-af0e33105a9dc5eb)
[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] [stderr]      Running unittests src/bin/chapter13_cylinder.rs (/opt/rustwide/target/debug/deps/chapter13_cylinder-a8c435105792c68b)
[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" "8fc7ef19c4df2e0a0f3738963a68fce69244478ffecf3332e3c36339ebd591b7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8fc7ef19c4df2e0a0f3738963a68fce69244478ffecf3332e3c36339ebd591b7", kill_on_drop: false }`
[INFO] [stdout] 8fc7ef19c4df2e0a0f3738963a68fce69244478ffecf3332e3c36339ebd591b7
