[INFO] fetching crate mtl 0.1.5...
[INFO] checking mtl-0.1.5 against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] extracting crate mtl 0.1.5 into /workspace/builds/worker-4-tc1/source
[INFO] validating manifest of crates.io crate mtl 0.1.5 on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate mtl 0.1.5
[INFO] finished tweaking crates.io crate mtl 0.1.5
[INFO] tweaked toml for crates.io crate mtl 0.1.5 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 465a964e2ef82000a335c15368da31dc87b61940a8b0001febd5d866abf26056
[INFO] running `Command { std: "docker" "start" "-a" "465a964e2ef82000a335c15368da31dc87b61940a8b0001febd5d866abf26056", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "465a964e2ef82000a335c15368da31dc87b61940a8b0001febd5d866abf26056", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "465a964e2ef82000a335c15368da31dc87b61940a8b0001febd5d866abf26056", kill_on_drop: false }`
[INFO] [stdout] 465a964e2ef82000a335c15368da31dc87b61940a8b0001febd5d866abf26056
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a858e688fb7ece672c3c98743760266ce7ff624e11c1859e8886918deb797f11
[INFO] running `Command { std: "docker" "start" "-a" "a858e688fb7ece672c3c98743760266ce7ff624e11c1859e8886918deb797f11", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking rustc-serialize v0.3.25
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.1.43
[INFO] [stderr]     Checking num-bigint v0.1.44
[INFO] [stderr]     Checking num-iter v0.1.44
[INFO] [stderr]     Checking num-rational v0.1.42
[INFO] [stderr]     Checking num v0.1.42
[INFO] [stderr]     Checking mtl v0.1.5 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `core::array::FixedSizeArray`
[INFO] [stdout]  --> src/matrix/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::array::FixedSizeArray;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `FixedSizeArray` in `array`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `core::array::FixedSizeArray`
[INFO] [stdout]  --> src/matrix/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::array::FixedSizeArray;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `FixedSizeArray` in `array`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `ix`
[INFO] [stdout]    --> src/ndarray/mod.rs:158:14
[INFO] [stdout]     |
[INFO] [stdout] 158 | macro_rules! ix {
[INFO] [stdout]     |              ^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:2:20
[INFO] [stdout]     |
[INFO] [stdout] 2   | #![warn(bad_style, unused, unused_import_braces,
[INFO] [stdout]     |                    ^^^^^^
[INFO] [stdout]     = note: `#[warn(unused_macros)]` implied by `#[warn(unused)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matrix/view.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         try!(write!(f, "<MatrixSubView dim={:?}, {:?}>", self.dim, view));
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matrix/view.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         try!(writeln!(f, ""));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matrix/view.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |                 try!(write!(f, "[["));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matrix/view.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |                 try!(write!(f, " ["));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matrix/view.rs:96:17
[INFO] [stdout]    |
[INFO] [stdout] 96 |                 try!(write!(f, "{:-4.}", self[j][i]));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matrix/view.rs:98:21
[INFO] [stdout]    |
[INFO] [stdout] 98 |                     try!(write!(f, "]"));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/view.rs:100:21
[INFO] [stdout]     |
[INFO] [stdout] 100 |                     try!(write!(f, ", "));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/view.rs:104:17
[INFO] [stdout]     |
[INFO] [stdout] 104 |                 try!(write!(f, "]"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/view.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 |                 try!(writeln!(f, ""));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/sparse/mod.rs:752:21
[INFO] [stdout]     |
[INFO] [stdout] 752 |                     try!(writeln!(f, "  {:?}\t{}", (rows[i], cols[i]), data[i]));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/sparse/mod.rs:759:25
[INFO] [stdout]     |
[INFO] [stdout] 759 |                         try!(writeln!(f, "  {:?}\t{}", (i, j), val));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/sparse/mod.rs:767:25
[INFO] [stdout]     |
[INFO] [stdout] 767 |                         try!(writeln!(f, "  {:?}\t{}", (i, j), val));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/sparse/mod.rs:774:25
[INFO] [stdout]     |
[INFO] [stdout] 774 |                         try!(writeln!(f, "  {:?}\t{}", (i, j), data[i][pos]));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/sparse/mod.rs:780:21
[INFO] [stdout]     |
[INFO] [stdout] 780 |                     try!(writeln!(f, "  {:?}\t{}", key, value));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/sparse/mod.rs:784:17
[INFO] [stdout]     |
[INFO] [stdout] 784 |                 try!(write!(f, "{}", this.to_coo()));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/matrix/mod.rs:47:42
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn iter_indices<'a>(&'a self) -> ::std::vec::IntoIter<(usize, usize)> {
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:3:9
[INFO] [stdout]    |
[INFO] [stdout] 3  |         unused_qualifications, unused_results)]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 47 -     pub fn iter_indices<'a>(&'a self) -> ::std::vec::IntoIter<(usize, usize)> {
[INFO] [stdout] 47 +     pub fn iter_indices<'a>(&'a self) -> std::vec::IntoIter<(usize, usize)> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/matrix/mod.rs:387:57
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum + Copy> ops::Mul<Matrix<T>> for Matrix<T> {
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 387 - impl<T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum + Copy> ops::Mul<Matrix<T>> for Matrix<T> {
[INFO] [stdout] 387 + impl<T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + core::iter::Sum + Copy> ops::Mul<Matrix<T>> for Matrix<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/matrix/mod.rs:395:61
[INFO] [stdout]     |
[INFO] [stdout] 395 | impl<'a, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum + Copy> ops::Mul<Matrix<T>> for &'a Matrix<T> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 395 - impl<'a, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum + Copy> ops::Mul<Matrix<T>> for &'a Matrix<T> {
[INFO] [stdout] 395 + impl<'a, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + core::iter::Sum + Copy> ops::Mul<Matrix<T>> for &'a Matrix<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/matrix/mod.rs:403:61
[INFO] [stdout]     |
[INFO] [stdout] 403 | impl<'a, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum + Copy> ops::Mul<&'a Matrix<T>> for Matrix<T> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 403 - impl<'a, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum + Copy> ops::Mul<&'a Matrix<T>> for Matrix<T> {
[INFO] [stdout] 403 + impl<'a, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + core::iter::Sum + Copy> ops::Mul<&'a Matrix<T>> for Matrix<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/matrix/mod.rs:411:65
[INFO] [stdout]     |
[INFO] [stdout] 411 | impl<'a, 'b, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum +  Copy> ops::Mul<&'a Matrix<T>> for &'b Matrix<T> {
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 411 - impl<'a, 'b, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum +  Copy> ops::Mul<&'a Matrix<T>> for &'b Matrix<T> {
[INFO] [stdout] 411 + impl<'a, 'b, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + core::iter::Sum +  Copy> ops::Mul<&'a Matrix<T>> for &'b Matrix<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:482:9
[INFO] [stdout]     |
[INFO] [stdout] 482 |         try!(write!(f, "<Matrix dim={:?}, {:?}>", self.dim, self.data));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:489:9
[INFO] [stdout]     |
[INFO] [stdout] 489 |         try!(writeln!(f, ""));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:492:17
[INFO] [stdout]     |
[INFO] [stdout] 492 |                 try!(write!(f, "[["));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:494:17
[INFO] [stdout]     |
[INFO] [stdout] 494 |                 try!(write!(f, " ["));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:497:17
[INFO] [stdout]     |
[INFO] [stdout] 497 |                 try!(write!(f, "{:-4.}", self[j][i]));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:499:21
[INFO] [stdout]     |
[INFO] [stdout] 499 |                     try!(write!(f, "]"));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:501:21
[INFO] [stdout]     |
[INFO] [stdout] 501 |                     try!(write!(f, ", "));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:505:17
[INFO] [stdout]     |
[INFO] [stdout] 505 |                 try!(write!(f, "]"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:507:17
[INFO] [stdout]     |
[INFO] [stdout] 507 |                 try!(writeln!(f, ""));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matrix/view.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         try!(write!(f, "<MatrixSubView dim={:?}, {:?}>", self.dim, view));
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matrix/view.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         try!(writeln!(f, ""));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matrix/view.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |                 try!(write!(f, "[["));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matrix/view.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |                 try!(write!(f, " ["));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matrix/view.rs:96:17
[INFO] [stdout]    |
[INFO] [stdout] 96 |                 try!(write!(f, "{:-4.}", self[j][i]));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matrix/view.rs:98:21
[INFO] [stdout]    |
[INFO] [stdout] 98 |                     try!(write!(f, "]"));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/view.rs:100:21
[INFO] [stdout]     |
[INFO] [stdout] 100 |                     try!(write!(f, ", "));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/view.rs:104:17
[INFO] [stdout]     |
[INFO] [stdout] 104 |                 try!(write!(f, "]"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/view.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 |                 try!(writeln!(f, ""));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/sparse/mod.rs:752:21
[INFO] [stdout]     |
[INFO] [stdout] 752 |                     try!(writeln!(f, "  {:?}\t{}", (rows[i], cols[i]), data[i]));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/sparse/mod.rs:759:25
[INFO] [stdout]     |
[INFO] [stdout] 759 |                         try!(writeln!(f, "  {:?}\t{}", (i, j), val));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/sparse/mod.rs:767:25
[INFO] [stdout]     |
[INFO] [stdout] 767 |                         try!(writeln!(f, "  {:?}\t{}", (i, j), val));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/sparse/mod.rs:774:25
[INFO] [stdout]     |
[INFO] [stdout] 774 |                         try!(writeln!(f, "  {:?}\t{}", (i, j), data[i][pos]));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/sparse/mod.rs:780:21
[INFO] [stdout]     |
[INFO] [stdout] 780 |                     try!(writeln!(f, "  {:?}\t{}", key, value));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/sparse/mod.rs:784:17
[INFO] [stdout]     |
[INFO] [stdout] 784 |                 try!(write!(f, "{}", this.to_coo()));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/matrix/mod.rs:47:42
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn iter_indices<'a>(&'a self) -> ::std::vec::IntoIter<(usize, usize)> {
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:3:9
[INFO] [stdout]    |
[INFO] [stdout] 3  |         unused_qualifications, unused_results)]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 47 -     pub fn iter_indices<'a>(&'a self) -> ::std::vec::IntoIter<(usize, usize)> {
[INFO] [stdout] 47 +     pub fn iter_indices<'a>(&'a self) -> std::vec::IntoIter<(usize, usize)> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/matrix/mod.rs:387:57
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum + Copy> ops::Mul<Matrix<T>> for Matrix<T> {
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 387 - impl<T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum + Copy> ops::Mul<Matrix<T>> for Matrix<T> {
[INFO] [stdout] 387 + impl<T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + core::iter::Sum + Copy> ops::Mul<Matrix<T>> for Matrix<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/matrix/mod.rs:395:61
[INFO] [stdout]     |
[INFO] [stdout] 395 | impl<'a, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum + Copy> ops::Mul<Matrix<T>> for &'a Matrix<T> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 395 - impl<'a, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum + Copy> ops::Mul<Matrix<T>> for &'a Matrix<T> {
[INFO] [stdout] 395 + impl<'a, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + core::iter::Sum + Copy> ops::Mul<Matrix<T>> for &'a Matrix<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/matrix/mod.rs:403:61
[INFO] [stdout]     |
[INFO] [stdout] 403 | impl<'a, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum + Copy> ops::Mul<&'a Matrix<T>> for Matrix<T> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 403 - impl<'a, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum + Copy> ops::Mul<&'a Matrix<T>> for Matrix<T> {
[INFO] [stdout] 403 + impl<'a, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + core::iter::Sum + Copy> ops::Mul<&'a Matrix<T>> for Matrix<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/matrix/mod.rs:411:65
[INFO] [stdout]     |
[INFO] [stdout] 411 | impl<'a, 'b, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum +  Copy> ops::Mul<&'a Matrix<T>> for &'b Matrix<T> {
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 411 - impl<'a, 'b, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum +  Copy> ops::Mul<&'a Matrix<T>> for &'b Matrix<T> {
[INFO] [stdout] 411 + impl<'a, 'b, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + core::iter::Sum +  Copy> ops::Mul<&'a Matrix<T>> for &'b Matrix<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:482:9
[INFO] [stdout]     |
[INFO] [stdout] 482 |         try!(write!(f, "<Matrix dim={:?}, {:?}>", self.dim, self.data));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:489:9
[INFO] [stdout]     |
[INFO] [stdout] 489 |         try!(writeln!(f, ""));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:492:17
[INFO] [stdout]     |
[INFO] [stdout] 492 |                 try!(write!(f, "[["));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:494:17
[INFO] [stdout]     |
[INFO] [stdout] 494 |                 try!(write!(f, " ["));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:497:17
[INFO] [stdout]     |
[INFO] [stdout] 497 |                 try!(write!(f, "{:-4.}", self[j][i]));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:499:21
[INFO] [stdout]     |
[INFO] [stdout] 499 |                     try!(write!(f, "]"));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:501:21
[INFO] [stdout]     |
[INFO] [stdout] 501 |                     try!(write!(f, ", "));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:505:17
[INFO] [stdout]     |
[INFO] [stdout] 505 |                 try!(write!(f, "]"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:507:17
[INFO] [stdout]     |
[INFO] [stdout] 507 |                 try!(writeln!(f, ""));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/matrix/mod.rs:517:72
[INFO] [stdout]     |
[INFO] [stdout] 517 |     let mut m1 = Matrix::from_vec_and_dim(vec![1i32, 2, 3, 4], (2, 2));;
[INFO] [stdout]     |                                                                        ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:2:20
[INFO] [stdout]     |
[INFO] [stdout] 2   | #![warn(bad_style, unused, unused_import_braces,
[INFO] [stdout]     |                    ^^^^^^
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` implied by `#[warn(unused)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `fixed_size_array`
[INFO] [stdout]  --> src/lib.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(unboxed_closures, fixed_size_array)]
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ndarray/subref.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 |     open_mesh: Vec<Box<ArrayIx + 'a>>
[INFO] [stdout]    |                        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     open_mesh: Vec<Box<dyn ArrayIx + 'a>>
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ndarray/subref.rs:118:24
[INFO] [stdout]     |
[INFO] [stdout] 118 |     open_mesh: Vec<Box<ArrayIx + 'a>>
[INFO] [stdout]     |                        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 118 |     open_mesh: Vec<Box<dyn ArrayIx + 'a>>
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `fixed_size_array`
[INFO] [stdout]  --> src/lib.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(unboxed_closures, fixed_size_array)]
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ndarray/subref.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 |     open_mesh: Vec<Box<ArrayIx + 'a>>
[INFO] [stdout]    |                        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     open_mesh: Vec<Box<dyn ArrayIx + 'a>>
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ndarray/subref.rs:118:24
[INFO] [stdout]     |
[INFO] [stdout] 118 |     open_mesh: Vec<Box<ArrayIx + 'a>>
[INFO] [stdout]     |                        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 118 |     open_mesh: Vec<Box<dyn ArrayIx + 'a>>
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ndarray/subref.rs:17:54
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn new<'b>(arr: &'b Array<T>, open_mesh: Vec<Box<ArrayIx + 'b>>) -> RefArray<'b, T> {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn new<'b>(arr: &'b Array<T>, open_mesh: Vec<Box<dyn ArrayIx + 'b>>) -> RefArray<'b, T> {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ndarray/subref.rs:122:58
[INFO] [stdout]     |
[INFO] [stdout] 122 |     fn new<'b>(arr: &'b mut Array<T>, open_mesh: Vec<Box<ArrayIx + 'b>>) -> RefMutArray<'b, T> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 122 |     fn new<'b>(arr: &'b mut Array<T>, open_mesh: Vec<Box<dyn ArrayIx + 'b>>) -> RefMutArray<'b, T> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ndarray/subref.rs:193:44
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub fn slice<'a>(&'a self, ix: Vec<Box<ArrayIx>>) -> RefArray<'a, T> {
[INFO] [stdout]     |                                            ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub fn slice<'a>(&'a self, ix: Vec<Box<dyn ArrayIx>>) -> RefArray<'a, T> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ndarray/subref.rs:197:52
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn slice_mut<'a>(&'a mut self, ix: Vec<Box<ArrayIx>>) -> RefMutArray<'a, T> {
[INFO] [stdout]     |                                                    ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn slice_mut<'a>(&'a mut self, ix: Vec<Box<dyn ArrayIx>>) -> RefMutArray<'a, T> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ndarray/subref.rs:17:54
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn new<'b>(arr: &'b Array<T>, open_mesh: Vec<Box<ArrayIx + 'b>>) -> RefArray<'b, T> {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn new<'b>(arr: &'b Array<T>, open_mesh: Vec<Box<dyn ArrayIx + 'b>>) -> RefArray<'b, T> {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ndarray/subref.rs:122:58
[INFO] [stdout]     |
[INFO] [stdout] 122 |     fn new<'b>(arr: &'b mut Array<T>, open_mesh: Vec<Box<ArrayIx + 'b>>) -> RefMutArray<'b, T> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 122 |     fn new<'b>(arr: &'b mut Array<T>, open_mesh: Vec<Box<dyn ArrayIx + 'b>>) -> RefMutArray<'b, T> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ndarray/subref.rs:193:44
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub fn slice<'a>(&'a self, ix: Vec<Box<ArrayIx>>) -> RefArray<'a, T> {
[INFO] [stdout]     |                                            ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub fn slice<'a>(&'a self, ix: Vec<Box<dyn ArrayIx>>) -> RefArray<'a, T> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ndarray/subref.rs:197:52
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn slice_mut<'a>(&'a mut self, ix: Vec<Box<ArrayIx>>) -> RefMutArray<'a, T> {
[INFO] [stdout]     |                                                    ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn slice_mut<'a>(&'a mut self, ix: Vec<Box<dyn ArrayIx>>) -> RefMutArray<'a, T> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ndarray/mod.rs:160:39
[INFO] [stdout]     |
[INFO] [stdout] 160 |         vec![$( Box::new($arg) as Box<ArrayIx> ),*]
[INFO] [stdout]     |                                       ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 687 |     let v2 = ix!([1, 2, 3], [2, 0]);
[INFO] [stdout]     |              ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `ix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ndarray/mod.rs:160:39
[INFO] [stdout]     |
[INFO] [stdout] 160 |         vec![$( Box::new($arg) as Box<ArrayIx> ),*]
[INFO] [stdout]     |                                       ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 693 |     println!("SUB => \n{}", v.slice(ix!(3.., [2,0])));
[INFO] [stdout]     |                                     --------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `ix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 36 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mtl` (lib) due to 3 previous errors; 36 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 2 previous errors; 38 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mtl` (lib test) due to 3 previous errors; 38 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "a858e688fb7ece672c3c98743760266ce7ff624e11c1859e8886918deb797f11", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a858e688fb7ece672c3c98743760266ce7ff624e11c1859e8886918deb797f11", kill_on_drop: false }`
[INFO] [stdout] a858e688fb7ece672c3c98743760266ce7ff624e11c1859e8886918deb797f11
[INFO] checking mtl-0.1.5 against try#72eda894eb3548c7ba774079ce0afab42958d4ee for pr-121848-1
[INFO] extracting crate mtl 0.1.5 into /workspace/builds/worker-4-tc2/source
[INFO] validating manifest of crates.io crate mtl 0.1.5 on toolchain 72eda894eb3548c7ba774079ce0afab42958d4ee
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate mtl 0.1.5
[INFO] finished tweaking crates.io crate mtl 0.1.5
[INFO] tweaked toml for crates.io crate mtl 0.1.5 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7330af0153c6da392251cd49a81acab72d9faaf27d36e212c2c894686ab4e525
[INFO] running `Command { std: "docker" "start" "-a" "7330af0153c6da392251cd49a81acab72d9faaf27d36e212c2c894686ab4e525", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7330af0153c6da392251cd49a81acab72d9faaf27d36e212c2c894686ab4e525", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7330af0153c6da392251cd49a81acab72d9faaf27d36e212c2c894686ab4e525", kill_on_drop: false }`
[INFO] [stdout] 7330af0153c6da392251cd49a81acab72d9faaf27d36e212c2c894686ab4e525
[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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6bbace56bdd57ee7716e982976ec9fb5e67c0981c929380519ddf417d012aa41
[INFO] running `Command { std: "docker" "start" "-a" "6bbace56bdd57ee7716e982976ec9fb5e67c0981c929380519ddf417d012aa41", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking rustc-serialize v0.3.25
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.1.43
[INFO] [stderr]     Checking num-bigint v0.1.44
[INFO] [stderr]     Checking num-iter v0.1.44
[INFO] [stderr]     Checking num-rational v0.1.42
[INFO] [stderr]     Checking num v0.1.42
[INFO] [stderr]     Checking mtl v0.1.5 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `core::array::FixedSizeArray`
[INFO] [stdout]  --> src/matrix/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::array::FixedSizeArray;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `FixedSizeArray` in `array`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `core::array::FixedSizeArray`
[INFO] [stdout]  --> src/matrix/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::array::FixedSizeArray;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `FixedSizeArray` in `array`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `ix`
[INFO] [stdout]    --> src/ndarray/mod.rs:158:14
[INFO] [stdout]     |
[INFO] [stdout] 158 | macro_rules! ix {
[INFO] [stdout]     |              ^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:2:20
[INFO] [stdout]     |
[INFO] [stdout] 2   | #![warn(bad_style, unused, unused_import_braces,
[INFO] [stdout]     |                    ^^^^^^
[INFO] [stdout]     = note: `#[warn(unused_macros)]` implied by `#[warn(unused)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matrix/view.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         try!(write!(f, "<MatrixSubView dim={:?}, {:?}>", self.dim, view));
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matrix/view.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         try!(writeln!(f, ""));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matrix/view.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |                 try!(write!(f, "[["));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matrix/view.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |                 try!(write!(f, " ["));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matrix/view.rs:96:17
[INFO] [stdout]    |
[INFO] [stdout] 96 |                 try!(write!(f, "{:-4.}", self[j][i]));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matrix/view.rs:98:21
[INFO] [stdout]    |
[INFO] [stdout] 98 |                     try!(write!(f, "]"));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/view.rs:100:21
[INFO] [stdout]     |
[INFO] [stdout] 100 |                     try!(write!(f, ", "));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/view.rs:104:17
[INFO] [stdout]     |
[INFO] [stdout] 104 |                 try!(write!(f, "]"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/view.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 |                 try!(writeln!(f, ""));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/sparse/mod.rs:752:21
[INFO] [stdout]     |
[INFO] [stdout] 752 |                     try!(writeln!(f, "  {:?}\t{}", (rows[i], cols[i]), data[i]));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/sparse/mod.rs:759:25
[INFO] [stdout]     |
[INFO] [stdout] 759 |                         try!(writeln!(f, "  {:?}\t{}", (i, j), val));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/sparse/mod.rs:767:25
[INFO] [stdout]     |
[INFO] [stdout] 767 |                         try!(writeln!(f, "  {:?}\t{}", (i, j), val));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/sparse/mod.rs:774:25
[INFO] [stdout]     |
[INFO] [stdout] 774 |                         try!(writeln!(f, "  {:?}\t{}", (i, j), data[i][pos]));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/sparse/mod.rs:780:21
[INFO] [stdout]     |
[INFO] [stdout] 780 |                     try!(writeln!(f, "  {:?}\t{}", key, value));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/sparse/mod.rs:784:17
[INFO] [stdout]     |
[INFO] [stdout] 784 |                 try!(write!(f, "{}", this.to_coo()));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/matrix/mod.rs:47:42
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn iter_indices<'a>(&'a self) -> ::std::vec::IntoIter<(usize, usize)> {
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:3:9
[INFO] [stdout]    |
[INFO] [stdout] 3  |         unused_qualifications, unused_results)]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 47 -     pub fn iter_indices<'a>(&'a self) -> ::std::vec::IntoIter<(usize, usize)> {
[INFO] [stdout] 47 +     pub fn iter_indices<'a>(&'a self) -> std::vec::IntoIter<(usize, usize)> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/matrix/mod.rs:387:57
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum + Copy> ops::Mul<Matrix<T>> for Matrix<T> {
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 387 - impl<T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum + Copy> ops::Mul<Matrix<T>> for Matrix<T> {
[INFO] [stdout] 387 + impl<T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + core::iter::Sum + Copy> ops::Mul<Matrix<T>> for Matrix<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/matrix/mod.rs:395:61
[INFO] [stdout]     |
[INFO] [stdout] 395 | impl<'a, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum + Copy> ops::Mul<Matrix<T>> for &'a Matrix<T> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 395 - impl<'a, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum + Copy> ops::Mul<Matrix<T>> for &'a Matrix<T> {
[INFO] [stdout] 395 + impl<'a, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + core::iter::Sum + Copy> ops::Mul<Matrix<T>> for &'a Matrix<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/matrix/mod.rs:403:61
[INFO] [stdout]     |
[INFO] [stdout] 403 | impl<'a, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum + Copy> ops::Mul<&'a Matrix<T>> for Matrix<T> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 403 - impl<'a, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum + Copy> ops::Mul<&'a Matrix<T>> for Matrix<T> {
[INFO] [stdout] 403 + impl<'a, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + core::iter::Sum + Copy> ops::Mul<&'a Matrix<T>> for Matrix<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/matrix/mod.rs:411:65
[INFO] [stdout]     |
[INFO] [stdout] 411 | impl<'a, 'b, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum +  Copy> ops::Mul<&'a Matrix<T>> for &'b Matrix<T> {
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 411 - impl<'a, 'b, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum +  Copy> ops::Mul<&'a Matrix<T>> for &'b Matrix<T> {
[INFO] [stdout] 411 + impl<'a, 'b, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + core::iter::Sum +  Copy> ops::Mul<&'a Matrix<T>> for &'b Matrix<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:482:9
[INFO] [stdout]     |
[INFO] [stdout] 482 |         try!(write!(f, "<Matrix dim={:?}, {:?}>", self.dim, self.data));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:489:9
[INFO] [stdout]     |
[INFO] [stdout] 489 |         try!(writeln!(f, ""));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:492:17
[INFO] [stdout]     |
[INFO] [stdout] 492 |                 try!(write!(f, "[["));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:494:17
[INFO] [stdout]     |
[INFO] [stdout] 494 |                 try!(write!(f, " ["));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:497:17
[INFO] [stdout]     |
[INFO] [stdout] 497 |                 try!(write!(f, "{:-4.}", self[j][i]));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:499:21
[INFO] [stdout]     |
[INFO] [stdout] 499 |                     try!(write!(f, "]"));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:501:21
[INFO] [stdout]     |
[INFO] [stdout] 501 |                     try!(write!(f, ", "));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:505:17
[INFO] [stdout]     |
[INFO] [stdout] 505 |                 try!(write!(f, "]"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:507:17
[INFO] [stdout]     |
[INFO] [stdout] 507 |                 try!(writeln!(f, ""));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matrix/view.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         try!(write!(f, "<MatrixSubView dim={:?}, {:?}>", self.dim, view));
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matrix/view.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         try!(writeln!(f, ""));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matrix/view.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |                 try!(write!(f, "[["));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matrix/view.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |                 try!(write!(f, " ["));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matrix/view.rs:96:17
[INFO] [stdout]    |
[INFO] [stdout] 96 |                 try!(write!(f, "{:-4.}", self[j][i]));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matrix/view.rs:98:21
[INFO] [stdout]    |
[INFO] [stdout] 98 |                     try!(write!(f, "]"));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/view.rs:100:21
[INFO] [stdout]     |
[INFO] [stdout] 100 |                     try!(write!(f, ", "));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/view.rs:104:17
[INFO] [stdout]     |
[INFO] [stdout] 104 |                 try!(write!(f, "]"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/view.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 |                 try!(writeln!(f, ""));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/sparse/mod.rs:752:21
[INFO] [stdout]     |
[INFO] [stdout] 752 |                     try!(writeln!(f, "  {:?}\t{}", (rows[i], cols[i]), data[i]));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/sparse/mod.rs:759:25
[INFO] [stdout]     |
[INFO] [stdout] 759 |                         try!(writeln!(f, "  {:?}\t{}", (i, j), val));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/sparse/mod.rs:767:25
[INFO] [stdout]     |
[INFO] [stdout] 767 |                         try!(writeln!(f, "  {:?}\t{}", (i, j), val));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/sparse/mod.rs:774:25
[INFO] [stdout]     |
[INFO] [stdout] 774 |                         try!(writeln!(f, "  {:?}\t{}", (i, j), data[i][pos]));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/sparse/mod.rs:780:21
[INFO] [stdout]     |
[INFO] [stdout] 780 |                     try!(writeln!(f, "  {:?}\t{}", key, value));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/sparse/mod.rs:784:17
[INFO] [stdout]     |
[INFO] [stdout] 784 |                 try!(write!(f, "{}", this.to_coo()));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]   --> src/matrix/mod.rs:47:42
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn iter_indices<'a>(&'a self) -> ::std::vec::IntoIter<(usize, usize)> {
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:3:9
[INFO] [stdout]    |
[INFO] [stdout] 3  |         unused_qualifications, unused_results)]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 47 -     pub fn iter_indices<'a>(&'a self) -> ::std::vec::IntoIter<(usize, usize)> {
[INFO] [stdout] 47 +     pub fn iter_indices<'a>(&'a self) -> std::vec::IntoIter<(usize, usize)> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/matrix/mod.rs:387:57
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum + Copy> ops::Mul<Matrix<T>> for Matrix<T> {
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 387 - impl<T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum + Copy> ops::Mul<Matrix<T>> for Matrix<T> {
[INFO] [stdout] 387 + impl<T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + core::iter::Sum + Copy> ops::Mul<Matrix<T>> for Matrix<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/matrix/mod.rs:395:61
[INFO] [stdout]     |
[INFO] [stdout] 395 | impl<'a, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum + Copy> ops::Mul<Matrix<T>> for &'a Matrix<T> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 395 - impl<'a, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum + Copy> ops::Mul<Matrix<T>> for &'a Matrix<T> {
[INFO] [stdout] 395 + impl<'a, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + core::iter::Sum + Copy> ops::Mul<Matrix<T>> for &'a Matrix<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/matrix/mod.rs:403:61
[INFO] [stdout]     |
[INFO] [stdout] 403 | impl<'a, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum + Copy> ops::Mul<&'a Matrix<T>> for Matrix<T> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 403 - impl<'a, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum + Copy> ops::Mul<&'a Matrix<T>> for Matrix<T> {
[INFO] [stdout] 403 + impl<'a, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + core::iter::Sum + Copy> ops::Mul<&'a Matrix<T>> for Matrix<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/matrix/mod.rs:411:65
[INFO] [stdout]     |
[INFO] [stdout] 411 | impl<'a, 'b, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum +  Copy> ops::Mul<&'a Matrix<T>> for &'b Matrix<T> {
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 411 - impl<'a, 'b, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + ::core::iter::Sum +  Copy> ops::Mul<&'a Matrix<T>> for &'b Matrix<T> {
[INFO] [stdout] 411 + impl<'a, 'b, T: ops::Mul<T, Output=T> + ops::Add<T, Output=T> + core::iter::Sum +  Copy> ops::Mul<&'a Matrix<T>> for &'b Matrix<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:482:9
[INFO] [stdout]     |
[INFO] [stdout] 482 |         try!(write!(f, "<Matrix dim={:?}, {:?}>", self.dim, self.data));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:489:9
[INFO] [stdout]     |
[INFO] [stdout] 489 |         try!(writeln!(f, ""));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:492:17
[INFO] [stdout]     |
[INFO] [stdout] 492 |                 try!(write!(f, "[["));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:494:17
[INFO] [stdout]     |
[INFO] [stdout] 494 |                 try!(write!(f, " ["));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:497:17
[INFO] [stdout]     |
[INFO] [stdout] 497 |                 try!(write!(f, "{:-4.}", self[j][i]));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:499:21
[INFO] [stdout]     |
[INFO] [stdout] 499 |                     try!(write!(f, "]"));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:501:21
[INFO] [stdout]     |
[INFO] [stdout] 501 |                     try!(write!(f, ", "));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:505:17
[INFO] [stdout]     |
[INFO] [stdout] 505 |                 try!(write!(f, "]"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/matrix/mod.rs:507:17
[INFO] [stdout]     |
[INFO] [stdout] 507 |                 try!(writeln!(f, ""));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/matrix/mod.rs:517:72
[INFO] [stdout]     |
[INFO] [stdout] 517 |     let mut m1 = Matrix::from_vec_and_dim(vec![1i32, 2, 3, 4], (2, 2));;
[INFO] [stdout]     |                                                                        ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:2:20
[INFO] [stdout]     |
[INFO] [stdout] 2   | #![warn(bad_style, unused, unused_import_braces,
[INFO] [stdout]     |                    ^^^^^^
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` implied by `#[warn(unused)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `fixed_size_array`
[INFO] [stdout]  --> src/lib.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(unboxed_closures, fixed_size_array)]
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ndarray/subref.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 |     open_mesh: Vec<Box<ArrayIx + 'a>>
[INFO] [stdout]    |                        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     open_mesh: Vec<Box<dyn ArrayIx + 'a>>
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ndarray/subref.rs:118:24
[INFO] [stdout]     |
[INFO] [stdout] 118 |     open_mesh: Vec<Box<ArrayIx + 'a>>
[INFO] [stdout]     |                        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 118 |     open_mesh: Vec<Box<dyn ArrayIx + 'a>>
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `fixed_size_array`
[INFO] [stdout]  --> src/lib.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(unboxed_closures, fixed_size_array)]
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ndarray/subref.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 |     open_mesh: Vec<Box<ArrayIx + 'a>>
[INFO] [stdout]    |                        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     open_mesh: Vec<Box<dyn ArrayIx + 'a>>
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ndarray/subref.rs:118:24
[INFO] [stdout]     |
[INFO] [stdout] 118 |     open_mesh: Vec<Box<ArrayIx + 'a>>
[INFO] [stdout]     |                        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 118 |     open_mesh: Vec<Box<dyn ArrayIx + 'a>>
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ndarray/subref.rs:17:54
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn new<'b>(arr: &'b Array<T>, open_mesh: Vec<Box<ArrayIx + 'b>>) -> RefArray<'b, T> {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn new<'b>(arr: &'b Array<T>, open_mesh: Vec<Box<dyn ArrayIx + 'b>>) -> RefArray<'b, T> {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ndarray/subref.rs:122:58
[INFO] [stdout]     |
[INFO] [stdout] 122 |     fn new<'b>(arr: &'b mut Array<T>, open_mesh: Vec<Box<ArrayIx + 'b>>) -> RefMutArray<'b, T> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 122 |     fn new<'b>(arr: &'b mut Array<T>, open_mesh: Vec<Box<dyn ArrayIx + 'b>>) -> RefMutArray<'b, T> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ndarray/subref.rs:193:44
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub fn slice<'a>(&'a self, ix: Vec<Box<ArrayIx>>) -> RefArray<'a, T> {
[INFO] [stdout]     |                                            ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub fn slice<'a>(&'a self, ix: Vec<Box<dyn ArrayIx>>) -> RefArray<'a, T> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ndarray/subref.rs:197:52
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn slice_mut<'a>(&'a mut self, ix: Vec<Box<ArrayIx>>) -> RefMutArray<'a, T> {
[INFO] [stdout]     |                                                    ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn slice_mut<'a>(&'a mut self, ix: Vec<Box<dyn ArrayIx>>) -> RefMutArray<'a, T> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ndarray/subref.rs:17:54
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn new<'b>(arr: &'b Array<T>, open_mesh: Vec<Box<ArrayIx + 'b>>) -> RefArray<'b, T> {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn new<'b>(arr: &'b Array<T>, open_mesh: Vec<Box<dyn ArrayIx + 'b>>) -> RefArray<'b, T> {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ndarray/subref.rs:122:58
[INFO] [stdout]     |
[INFO] [stdout] 122 |     fn new<'b>(arr: &'b mut Array<T>, open_mesh: Vec<Box<ArrayIx + 'b>>) -> RefMutArray<'b, T> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 122 |     fn new<'b>(arr: &'b mut Array<T>, open_mesh: Vec<Box<dyn ArrayIx + 'b>>) -> RefMutArray<'b, T> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ndarray/subref.rs:193:44
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub fn slice<'a>(&'a self, ix: Vec<Box<ArrayIx>>) -> RefArray<'a, T> {
[INFO] [stdout]     |                                            ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub fn slice<'a>(&'a self, ix: Vec<Box<dyn ArrayIx>>) -> RefArray<'a, T> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ndarray/subref.rs:197:52
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn slice_mut<'a>(&'a mut self, ix: Vec<Box<ArrayIx>>) -> RefMutArray<'a, T> {
[INFO] [stdout]     |                                                    ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn slice_mut<'a>(&'a mut self, ix: Vec<Box<dyn ArrayIx>>) -> RefMutArray<'a, T> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ndarray/mod.rs:160:39
[INFO] [stdout]     |
[INFO] [stdout] 160 |         vec![$( Box::new($arg) as Box<ArrayIx> ),*]
[INFO] [stdout]     |                                       ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 687 |     let v2 = ix!([1, 2, 3], [2, 0]);
[INFO] [stdout]     |              ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `ix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ndarray/mod.rs:160:39
[INFO] [stdout]     |
[INFO] [stdout] 160 |         vec![$( Box::new($arg) as Box<ArrayIx> ),*]
[INFO] [stdout]     |                                       ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 693 |     println!("SUB => \n{}", v.slice(ix!(3.., [2,0])));
[INFO] [stdout]     |                                     --------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `ix` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 36 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mtl` (lib) due to 3 previous errors; 36 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 2 previous errors; 38 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mtl` (lib test) due to 3 previous errors; 38 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "6bbace56bdd57ee7716e982976ec9fb5e67c0981c929380519ddf417d012aa41", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6bbace56bdd57ee7716e982976ec9fb5e67c0981c929380519ddf417d012aa41", kill_on_drop: false }`
[INFO] [stdout] 6bbace56bdd57ee7716e982976ec9fb5e67c0981c929380519ddf417d012aa41
