[INFO] cloning repository https://github.com/brownian-motion/table-top-down
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/brownian-motion/table-top-down" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrownian-motion%2Ftable-top-down", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrownian-motion%2Ftable-top-down'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8bc5d4df6fabfd989398999810ba310acdd1ff6a
[INFO] testing brownian-motion/table-top-down/8bc5d4df6fabfd989398999810ba310acdd1ff6a against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrownian-motion%2Ftable-top-down" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/brownian-motion/table-top-down on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/brownian-motion/table-top-down
[INFO] finished tweaking git repo https://github.com/brownian-motion/table-top-down
[INFO] tweaked toml for git repo https://github.com/brownian-motion/table-top-down written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/brownian-motion/table-top-down 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" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded quircs v0.10.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9a0b16d07415d22d82d5ed4fcea26ef1490fc06a3674e7281a960ca1806fb11b
[INFO] running `Command { std: "docker" "start" "-a" "9a0b16d07415d22d82d5ed4fcea26ef1490fc06a3674e7281a960ca1806fb11b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9a0b16d07415d22d82d5ed4fcea26ef1490fc06a3674e7281a960ca1806fb11b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9a0b16d07415d22d82d5ed4fcea26ef1490fc06a3674e7281a960ca1806fb11b", kill_on_drop: false }`
[INFO] [stdout] 9a0b16d07415d22d82d5ed4fcea26ef1490fc06a3674e7281a960ca1806fb11b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d02bb429d9e871f75103e815beac40e36e62923f65c4bb7eb7f8f074da9b6b36
[INFO] running `Command { std: "docker" "start" "-a" "d02bb429d9e871f75103e815beac40e36e62923f65c4bb7eb7f8f074da9b6b36", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.42
[INFO] [stderr]    Compiling unicode-ident v1.0.2
[INFO] [stderr]    Compiling quote v1.0.20
[INFO] [stderr]    Compiling syn v1.0.98
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.11
[INFO] [stderr]    Compiling once_cell v1.13.0
[INFO] [stderr]    Compiling num_cpus v1.13.1
[INFO] [stderr]    Compiling rayon-core v1.9.3
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling adler32 v1.2.0
[INFO] [stderr]    Compiling futures-core v0.3.21
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.10
[INFO] [stderr]    Compiling lock_api v0.4.7
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling rayon v1.5.3
[INFO] [stderr]    Compiling crossbeam-channel v0.5.6
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling miniz_oxide v0.5.3
[INFO] [stderr]    Compiling crossbeam-deque v0.8.2
[INFO] [stderr]    Compiling getrandom v0.2.7
[INFO] [stderr]    Compiling either v1.7.0
[INFO] [stderr]    Compiling nanorand v0.7.0
[INFO] [stderr]    Compiling spin v0.9.4
[INFO] [stderr]    Compiling deflate v1.0.0
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling weezl v0.1.7
[INFO] [stderr]    Compiling futures-sink v0.3.21
[INFO] [stderr]    Compiling flate2 v1.0.24
[INFO] [stderr]    Compiling inflate v0.4.5
[INFO] [stderr]    Compiling threadpool v1.8.1
[INFO] [stderr]    Compiling smallvec v1.9.0
[INFO] [stderr]    Compiling bit_field v0.10.1
[INFO] [stderr]    Compiling lebe v0.5.1
[INFO] [stderr]    Compiling color_quant v1.1.0
[INFO] [stderr]    Compiling half v1.8.2
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling matrixmultiply v0.3.2
[INFO] [stderr]    Compiling gif v0.11.4
[INFO] [stderr]    Compiling png v0.17.5
[INFO] [stderr]    Compiling num-complex v0.4.2
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling bytemuck v1.11.0
[INFO] [stderr]    Compiling ndarray v0.15.6
[INFO] [stderr]    Compiling jpeg-decoder v0.2.6
[INFO] [stderr]    Compiling pin-project-internal v1.0.11
[INFO] [stderr]    Compiling thiserror-impl v1.0.31
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling tiff v0.7.3
[INFO] [stderr]    Compiling pin-project v1.0.11
[INFO] [stderr]    Compiling thiserror v1.0.31
[INFO] [stderr]    Compiling flume v0.10.14
[INFO] [stderr]    Compiling quircs v0.10.0
[INFO] [stderr]    Compiling exr v1.4.2
[INFO] [stderr]    Compiling image v0.24.3
[INFO] [stderr]    Compiling table-top-down-map v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::clone::Clone`
[INFO] [stdout]  --> src/coord/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::clone::Clone;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::default::Default`
[INFO] [stdout]  --> src/coord/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::default::Default;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Display`
[INFO] [stdout]  --> src/coord/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::Display;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Div`
[INFO] [stdout]  --> src/coord/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::Div;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::Pixel`
[INFO] [stdout]  --> src/coord/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::Pixel;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::Array1`
[INFO] [stdout]  --> src/coord/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ndarray::Array1;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unit_square`
[INFO] [stdout]   --> src/coord/mod.rs:38:24
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn from_pixels(unit_square: [PixelCoordinate; 4]) -> Result<Self, &'static str> {
[INFO] [stdout]    |                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unit_square`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `PixelCoordinate` is never used
[INFO] [stdout]   --> src/coord/mod.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub type PixelCoordinate = PlanarCoordinate<f64>;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `RealWorldCoordinate2D` is never used
[INFO] [stdout]   --> src/coord/mod.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub type RealWorldCoordinate2D = PlanarCoordinate<f64>;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `RectGridCoordinate` is never used
[INFO] [stdout]   --> src/coord/mod.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type RectGridCoordinate = PlanarCoordinate<i32>;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ScreenToRealWorldTransform` is never used
[INFO] [stdout]   --> src/coord/mod.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub type ScreenToRealWorldTransform = BidirectionalTransform<MatrixTransform<f64, 3, 3>, MatrixTransform<f64, 3, 3>, PlanarCoordinate<f64...
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_matrices`, `from_pixels`, `pixel_to_real`, and `real_to_pixel` are never used
[INFO] [stdout]   --> src/coord/mod.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl ScreenToRealWorldTransform {
[INFO] [stdout]    | ------------------------------- associated items in this implementation
[INFO] [stdout] 26 |     pub fn from_matrices(transformation_to_pixel: ndarray::Array2<f64>, transformation_to_real: ndarray::Array2<f64>) -> Result<Self, Inv...
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn from_pixels(unit_square: [PixelCoordinate; 4]) -> Result<Self, &'static str> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn pixel_to_real(&self, coord: PixelCoordinate) -> RealWorldCoordinate2D {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn real_to_pixel(&self, coord: RealWorldCoordinate2D) -> PixelCoordinate {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `compose_after` is never used
[INFO] [stdout]  --> src/coord/traits.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait Transformation<A, B> {
[INFO] [stdout]   |           -------------- method in this trait
[INFO] [stdout] 4 |     fn transform(&self, in_coord: A) -> B;
[INFO] [stdout] 5 |     fn compose_after<C, T: Transformation<B, C>>(self, next_transform: T) -> CompositeTransformation<Self, T, B> where Self: Sized {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BidirectionalTransform` is never constructed
[INFO] [stdout]   --> src/coord/traits.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct BidirectionalTransform<T1, T2, A, B> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BidirectionalTransform` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/coord/traits.rs:40:19
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl<A, B, T1, T2> BidirectionalTransform<T1, T2, A, B> where T1: Transformation<A, B>, T2: Transformation<B, A> {
[INFO] [stdout]    | ---------------------------------------------------------------------------------------------------------------- associated function in this implementation
[INFO] [stdout] 40 |     pub(crate) fn new(forward: T1, backward: T2) -> Self {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `transform_forward` is never used
[INFO] [stdout]   --> src/coord/traits.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl<A, B, T1, T2> BidirectionalTransform<T1, T2, A, B> where T1: Transformation<A, B> {
[INFO] [stdout]    | -------------------------------------------------------------------------------------- method in this implementation
[INFO] [stdout] 46 |     fn transform_forward(&self, in_coord: A) -> B {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `transform_backward` is never used
[INFO] [stdout]   --> src/coord/traits.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl<A, B, T1, T2> BidirectionalTransform<T1, T2, A, B> where T2: Transformation<B, A> {
[INFO] [stdout]    | -------------------------------------------------------------------------------------- method in this implementation
[INFO] [stdout] 52 |     fn transform_backward(&self, in_coord: B) -> A {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 17 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.47s
[INFO] running `Command { std: "docker" "inspect" "d02bb429d9e871f75103e815beac40e36e62923f65c4bb7eb7f8f074da9b6b36", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d02bb429d9e871f75103e815beac40e36e62923f65c4bb7eb7f8f074da9b6b36", kill_on_drop: false }`
[INFO] [stdout] d02bb429d9e871f75103e815beac40e36e62923f65c4bb7eb7f8f074da9b6b36
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f31795c5d0d05168f05a6bc91555e1681c2cf6c186425ffb8faf40264db839e2
[INFO] running `Command { std: "docker" "start" "-a" "f31795c5d0d05168f05a6bc91555e1681c2cf6c186425ffb8faf40264db839e2", kill_on_drop: false }`
[INFO] [stderr]    Compiling table-top-down-map v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::clone::Clone`
[INFO] [stdout]  --> src/coord/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::clone::Clone;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::default::Default`
[INFO] [stdout]  --> src/coord/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::default::Default;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Display`
[INFO] [stdout]  --> src/coord/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::Display;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Div`
[INFO] [stdout]  --> src/coord/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::Div;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::Pixel`
[INFO] [stdout]  --> src/coord/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::Pixel;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::Array1`
[INFO] [stdout]  --> src/coord/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ndarray::Array1;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unit_square`
[INFO] [stdout]   --> src/coord/mod.rs:38:24
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn from_pixels(unit_square: [PixelCoordinate; 4]) -> Result<Self, &'static str> {
[INFO] [stdout]    |                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unit_square`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transform_real_to_pixel`
[INFO] [stdout]    --> src/coord/mod.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let transform_real_to_pixel = array![
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transform_real_to_pixel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `RectGridCoordinate` is never used
[INFO] [stdout]   --> src/coord/mod.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type RectGridCoordinate = PlanarCoordinate<i32>;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_pixels` is never used
[INFO] [stdout]   --> src/coord/mod.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl ScreenToRealWorldTransform {
[INFO] [stdout]    | ------------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn from_pixels(unit_square: [PixelCoordinate; 4]) -> Result<Self, &'static str> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `compose_after` is never used
[INFO] [stdout]  --> src/coord/traits.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait Transformation<A, B> {
[INFO] [stdout]   |           -------------- method in this trait
[INFO] [stdout] 4 |     fn transform(&self, in_coord: A) -> B;
[INFO] [stdout] 5 |     fn compose_after<C, T: Transformation<B, C>>(self, next_transform: T) -> CompositeTransformation<Self, T, B> where Self: Sized {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `transform_forward` is never used
[INFO] [stdout]   --> src/coord/traits.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl<A, B, T1, T2> BidirectionalTransform<T1, T2, A, B> where T1: Transformation<A, B> {
[INFO] [stdout]    | -------------------------------------------------------------------------------------- method in this implementation
[INFO] [stdout] 46 |     fn transform_forward(&self, in_coord: A) -> B {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `transform_backward` is never used
[INFO] [stdout]   --> src/coord/traits.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl<A, B, T1, T2> BidirectionalTransform<T1, T2, A, B> where T2: Transformation<B, A> {
[INFO] [stdout]    | -------------------------------------------------------------------------------------- method in this implementation
[INFO] [stdout] 52 |     fn transform_backward(&self, in_coord: B) -> A {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_float_approximately_eq` is never used
[INFO] [stdout]   --> src/coord/mod.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn assert_float_approximately_eq(f1: f64, f2: f64, threshold: f64) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 14 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.66s
[INFO] running `Command { std: "docker" "inspect" "f31795c5d0d05168f05a6bc91555e1681c2cf6c186425ffb8faf40264db839e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f31795c5d0d05168f05a6bc91555e1681c2cf6c186425ffb8faf40264db839e2", kill_on_drop: false }`
[INFO] [stdout] f31795c5d0d05168f05a6bc91555e1681c2cf6c186425ffb8faf40264db839e2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] aabfcff1db157f5976f275bb6aa7f369696af44396830b26702554d535c012b2
[INFO] running `Command { std: "docker" "start" "-a" "aabfcff1db157f5976f275bb6aa7f369696af44396830b26702554d535c012b2", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::clone::Clone`
[INFO] [stderr]  --> src/coord/mod.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::clone::Clone;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::default::Default`
[INFO] [stderr]  --> src/coord/mod.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::default::Default;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Display`
[INFO] [stderr]  --> src/coord/mod.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::fmt::Display;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Div`
[INFO] [stderr]  --> src/coord/mod.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::ops::Div;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `image::Pixel`
[INFO] [stderr]  --> src/coord/mod.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use image::Pixel;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ndarray::Array1`
[INFO] [stderr]  --> src/coord/mod.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use ndarray::Array1;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `unit_square`
[INFO] [stderr]   --> src/coord/mod.rs:38:24
[INFO] [stderr]    |
[INFO] [stderr] 38 |     pub fn from_pixels(unit_square: [PixelCoordinate; 4]) -> Result<Self, &'static str> {
[INFO] [stderr]    |                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unit_square`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `transform_real_to_pixel`
[INFO] [stderr]    --> src/coord/mod.rs:122:13
[INFO] [stderr]     |
[INFO] [stderr] 122 |         let transform_real_to_pixel = array![
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transform_real_to_pixel`
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `RectGridCoordinate` is never used
[INFO] [stderr]   --> src/coord/mod.rs:20:10
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub type RectGridCoordinate = PlanarCoordinate<i32>;
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `from_pixels` is never used
[INFO] [stderr]   --> src/coord/mod.rs:38:12
[INFO] [stderr]    |
[INFO] [stderr] 25 | impl ScreenToRealWorldTransform {
[INFO] [stderr]    | ------------------------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 38 |     pub fn from_pixels(unit_square: [PixelCoordinate; 4]) -> Result<Self, &'static str> {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `compose_after` is never used
[INFO] [stderr]  --> src/coord/traits.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub trait Transformation<A, B> {
[INFO] [stderr]   |           -------------- method in this trait
[INFO] [stderr] 4 |     fn transform(&self, in_coord: A) -> B;
[INFO] [stderr] 5 |     fn compose_after<C, T: Transformation<B, C>>(self, next_transform: T) -> CompositeTransformation<Self, T, B> where Self: Sized {
[INFO] [stderr]   |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `transform_forward` is never used
[INFO] [stderr]   --> src/coord/traits.rs:46:8
[INFO] [stderr]    |
[INFO] [stderr] 45 | impl<A, B, T1, T2> BidirectionalTransform<T1, T2, A, B> where T1: Transformation<A, B> {
[INFO] [stderr]    | -------------------------------------------------------------------------------------- method in this implementation
[INFO] [stderr] 46 |     fn transform_forward(&self, in_coord: A) -> B {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `transform_backward` is never used
[INFO] [stderr]   --> src/coord/traits.rs:52:8
[INFO] [stderr]    |
[INFO] [stderr] 51 | impl<A, B, T1, T2> BidirectionalTransform<T1, T2, A, B> where T2: Transformation<B, A> {
[INFO] [stderr]    | -------------------------------------------------------------------------------------- method in this implementation
[INFO] [stderr] 52 |     fn transform_backward(&self, in_coord: B) -> A {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `assert_float_approximately_eq` is never used
[INFO] [stderr]   --> src/coord/mod.rs:68:8
[INFO] [stderr]    |
[INFO] [stderr] 68 |     fn assert_float_approximately_eq(f1: f64, f2: f64, threshold: f64) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `table-top-down-map` (bin "table-top-down-map" test) generated 14 warnings (run `cargo fix --bin "table-top-down-map" --tests` to apply 6 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/table_top_down_map-a249eb9655692ca3)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test coord::test::practice_real_to_pixel ... ok
[INFO] [stdout] test qr::test::can_load_test_files ... ok
[INFO] [stdout] test coord::test::practice_pixel_to_real_using_matrix_inversion ... ok
[INFO] [stdout] test coord::basic_coords::test::homog_convert_to_planar ... ok
[INFO] [stdout] test qr::test::can_read_qr_code_orientation_from_rotated_generated_image ... ok
[INFO] [stdout] test qr::test::can_read_qr_code_orientation_from_generated_image ... ok
[INFO] [stdout] test qr::test::can_read_qr_code_contents_from_generated_image ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "aabfcff1db157f5976f275bb6aa7f369696af44396830b26702554d535c012b2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aabfcff1db157f5976f275bb6aa7f369696af44396830b26702554d535c012b2", kill_on_drop: false }`
[INFO] [stdout] aabfcff1db157f5976f275bb6aa7f369696af44396830b26702554d535c012b2
