[INFO] cloning repository https://github.com/craigfay/geom2d
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/craigfay/geom2d" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcraigfay%2Fgeom2d", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcraigfay%2Fgeom2d'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4317e3ecc138df9283147ada8e50c64abdb0ae60
[INFO] testing craigfay/geom2d against 1.69.0 for beta-1.70-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcraigfay%2Fgeom2d" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/craigfay/geom2d on toolchain 1.69.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/craigfay/geom2d
[INFO] finished tweaking git repo https://github.com/craigfay/geom2d
[INFO] tweaked toml for git repo https://github.com/craigfay/geom2d written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/craigfay/geom2d 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" "+1.69.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d6e52fc72ee7de9e1cc87b64db1e28fdc59f247b78078f7a8a98d19fc696fdb0
[INFO] running `Command { std: "docker" "start" "-a" "d6e52fc72ee7de9e1cc87b64db1e28fdc59f247b78078f7a8a98d19fc696fdb0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d6e52fc72ee7de9e1cc87b64db1e28fdc59f247b78078f7a8a98d19fc696fdb0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d6e52fc72ee7de9e1cc87b64db1e28fdc59f247b78078f7a8a98d19fc696fdb0", kill_on_drop: false }`
[INFO] [stdout] d6e52fc72ee7de9e1cc87b64db1e28fdc59f247b78078f7a8a98d19fc696fdb0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ac8b0b71b3a6bd3de8eead979703b4d536e7e9c85f7f75cb83b71f4762aa8663
[INFO] running `Command { std: "docker" "start" "-a" "ac8b0b71b3a6bd3de8eead979703b4d536e7e9c85f7f75cb83b71f4762aa8663", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling performesh v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `super::primitives::Vector2D`
[INFO] [stdout]  --> src/time_of_impact.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::primitives::Vector2D;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::primitives::Point2D`
[INFO] [stdout]  --> src/time_of_impact.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::primitives::Point2D;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::primitives::ConvexPolygon`
[INFO] [stdout]  --> src/time_of_impact.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::primitives::ConvexPolygon;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::distance::Distance2D`
[INFO] [stdout]  --> src/time_of_impact.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::distance::Distance2D;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::rigid_body::RigidBody2D`
[INFO] [stdout]  --> src/time_of_impact.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use super::rigid_body::RigidBody2D;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/distance.rs:393:17
[INFO] [stdout]     |
[INFO] [stdout] 393 |             let mut support_a = GJK::support(&a, d);
[INFO] [stdout]     |                 ----^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/distance.rs:394:17
[INFO] [stdout]     |
[INFO] [stdout] 394 |             let mut support_b = GJK::support(&b, d.reverse());
[INFO] [stdout]     |                 ----^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/distance.rs:395:17
[INFO] [stdout]     |
[INFO] [stdout] 395 |             let mut support_z = support_a.minus(&support_b);
[INFO] [stdout]     |                 ----^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SupportFn` is never used
[INFO] [stdout]    --> src/distance.rs:320:6
[INFO] [stdout]     |
[INFO] [stdout] 320 | type SupportFn = dyn Fn(&Vector2D) -> Point2D;
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.36s
[INFO] running `Command { std: "docker" "inspect" "ac8b0b71b3a6bd3de8eead979703b4d536e7e9c85f7f75cb83b71f4762aa8663", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ac8b0b71b3a6bd3de8eead979703b4d536e7e9c85f7f75cb83b71f4762aa8663", kill_on_drop: false }`
[INFO] [stdout] ac8b0b71b3a6bd3de8eead979703b4d536e7e9c85f7f75cb83b71f4762aa8663
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5742f612d25b281c7652a71b1b1e022f742b2a117be6301f9895089f1fc08ac7
[INFO] running `Command { std: "docker" "start" "-a" "5742f612d25b281c7652a71b1b1e022f742b2a117be6301f9895089f1fc08ac7", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stdout] warning: unused import: `super::primitives::Vector2D`
[INFO] [stdout]  --> src/time_of_impact.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::primitives::Vector2D;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::primitives::Point2D`
[INFO] [stdout]  --> src/time_of_impact.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::primitives::Point2D;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::primitives::ConvexPolygon`
[INFO] [stdout]  --> src/time_of_impact.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::primitives::ConvexPolygon;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::distance::Distance2D`
[INFO] [stdout]  --> src/time_of_impact.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::distance::Distance2D;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling performesh v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `super::rigid_body::RigidBody2D`
[INFO] [stdout]  --> src/time_of_impact.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use super::rigid_body::RigidBody2D;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/distance.rs:393:17
[INFO] [stdout]     |
[INFO] [stdout] 393 |             let mut support_a = GJK::support(&a, d);
[INFO] [stdout]     |                 ----^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/distance.rs:394:17
[INFO] [stdout]     |
[INFO] [stdout] 394 |             let mut support_b = GJK::support(&b, d.reverse());
[INFO] [stdout]     |                 ----^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/distance.rs:395:17
[INFO] [stdout]     |
[INFO] [stdout] 395 |             let mut support_z = support_a.minus(&support_b);
[INFO] [stdout]     |                 ----^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SupportFn` is never used
[INFO] [stdout]    --> src/distance.rs:320:6
[INFO] [stdout]     |
[INFO] [stdout] 320 | type SupportFn = dyn Fn(&Vector2D) -> Point2D;
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::primitives::Vector2D`
[INFO] [stdout]  --> src/time_of_impact.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::primitives::Vector2D;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::primitives::Point2D`
[INFO] [stdout]  --> src/time_of_impact.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::primitives::Point2D;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::primitives::ConvexPolygon`
[INFO] [stdout]  --> src/time_of_impact.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::primitives::ConvexPolygon;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::distance::Distance2D`
[INFO] [stdout]  --> src/time_of_impact.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::distance::Distance2D;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::rigid_body::RigidBody2D`
[INFO] [stdout]  --> src/time_of_impact.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use super::rigid_body::RigidBody2D;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> src/primitives.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let p = ConvexPolygon::default()
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rb`
[INFO] [stdout]   --> src/rigid_body.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let rb = RigidBody2D::new()
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_rb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/distance.rs:393:17
[INFO] [stdout]     |
[INFO] [stdout] 393 |             let mut support_a = GJK::support(&a, d);
[INFO] [stdout]     |                 ----^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/distance.rs:394:17
[INFO] [stdout]     |
[INFO] [stdout] 394 |             let mut support_b = GJK::support(&b, d.reverse());
[INFO] [stdout]     |                 ----^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/distance.rs:395:17
[INFO] [stdout]     |
[INFO] [stdout] 395 |             let mut support_z = support_a.minus(&support_b);
[INFO] [stdout]     |                 ----^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SupportFn` is never used
[INFO] [stdout]    --> src/distance.rs:320:6
[INFO] [stdout]     |
[INFO] [stdout] 320 | type SupportFn = dyn Fn(&Vector2D) -> Point2D;
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.44s
[INFO] running `Command { std: "docker" "inspect" "5742f612d25b281c7652a71b1b1e022f742b2a117be6301f9895089f1fc08ac7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5742f612d25b281c7652a71b1b1e022f742b2a117be6301f9895089f1fc08ac7", kill_on_drop: false }`
[INFO] [stdout] 5742f612d25b281c7652a71b1b1e022f742b2a117be6301f9895089f1fc08ac7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c8b53555d49cfc75e68109ec8c4e6430131a93725bb1aace7502d726d7d20e15
[INFO] running `Command { std: "docker" "start" "-a" "c8b53555d49cfc75e68109ec8c4e6430131a93725bb1aace7502d726d7d20e15", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr] warning: unused import: `super::primitives::Vector2D`
[INFO] [stderr]  --> src/time_of_impact.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use super::primitives::Vector2D;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::primitives::Point2D`
[INFO] [stderr]  --> src/time_of_impact.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use super::primitives::Point2D;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::primitives::ConvexPolygon`
[INFO] [stderr]  --> src/time_of_impact.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use super::primitives::ConvexPolygon;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::distance::Distance2D`
[INFO] [stderr]  --> src/time_of_impact.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use super::distance::Distance2D;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::rigid_body::RigidBody2D`
[INFO] [stderr]  --> src/time_of_impact.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use super::rigid_body::RigidBody2D;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/distance.rs:393:17
[INFO] [stderr]     |
[INFO] [stderr] 393 |             let mut support_a = GJK::support(&a, d);
[INFO] [stderr]     |                 ----^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/distance.rs:394:17
[INFO] [stderr]     |
[INFO] [stderr] 394 |             let mut support_b = GJK::support(&b, d.reverse());
[INFO] [stderr]     |                 ----^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/distance.rs:395:17
[INFO] [stderr]     |
[INFO] [stderr] 395 |             let mut support_z = support_a.minus(&support_b);
[INFO] [stderr]     |                 ----^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `SupportFn` is never used
[INFO] [stderr]    --> src/distance.rs:320:6
[INFO] [stderr]     |
[INFO] [stderr] 320 | type SupportFn = dyn Fn(&Vector2D) -> Point2D;
[INFO] [stderr]     |      ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `performesh` (lib) generated 9 warnings (run `cargo fix --lib -p performesh` to apply 8 suggestions)
[INFO] [stderr] warning: unused variable: `p`
[INFO] [stderr]    --> src/primitives.rs:120:9
[INFO] [stderr]     |
[INFO] [stderr] 120 |     let p = ConvexPolygon::default()
[INFO] [stderr]     |         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rb`
[INFO] [stderr]   --> src/rigid_body.rs:44:9
[INFO] [stderr]    |
[INFO] [stderr] 44 |     let rb = RigidBody2D::new()
[INFO] [stderr]    |         ^^ help: if this is intentional, prefix it with an underscore: `_rb`
[INFO] [stderr] 
[INFO] [stderr] warning: `performesh` (lib test) generated 11 warnings (9 duplicates) (run `cargo fix --lib -p performesh --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/performesh-34afe3f2630d843b)
[INFO] [stdout] 
[INFO] [stdout] running 28 tests
[INFO] [stdout] test distance::all_negative_polygon_edge_point_distance ... ok
[INFO] [stdout] test distance::all_negative_polygon_almost_vertex_point_distance ... ok
[INFO] [stdout] test distance::all_negative_polygon_vertex_point_distance ... ok
[INFO] [stdout] test distance::all_positive_polygon_exterior_point_distance ... ok
[INFO] [stdout] test distance::area_of_right_triangle ... ok
[INFO] [stdout] test distance::area_of_scalene_triangle ... ok
[INFO] [stdout] test distance::gjk_search_direction_2_point_simplex_2 ... ok
[INFO] [stdout] test distance::gjk_search_direction_2_point_simplex ... ok
[INFO] [stdout] test distance::gjk_search_direction_2_point_simplex_3 ... ok
[INFO] [stdout] test distance::gjk_support_point_square ... ok
[INFO] [stdout] test distance::half_positive_polygon_interior_point_distance ... ok
[INFO] [stdout] test distance::polygon_point_negative_distance ... ok
[INFO] [stdout] test distance::polygon_point_negative_distance_interior_edge ... ok
[INFO] [stdout] test distance::polygon_point_penetration ... ok
[INFO] [stdout] test distance::polygon_to_point_distance ... ok
[INFO] [stdout] test distance::polygon_to_polygon_distance ... ok
[INFO] [stdout] test distance::segment_barycentric ... ok
[INFO] [stdout] test distance::segment_barycentric_outside ... ok
[INFO] [stdout] test distance::segment_barycentric_outside_reversed ... ok
[INFO] [stdout] test distance::segment_closest_point ... ok
[INFO] [stdout] test distance::segment_barycentric_reversed ... ok
[INFO] [stdout] test distance::segment_voronoi_analysis_inside ... ok
[INFO] [stdout] test distance::triangle_voronoi_closest_points ... ok
[INFO] [stdout] test primitives::convex_polygon_construction ... ok
[INFO] [stdout] test distance::triangle_voronoi_regions ... ok
[INFO] [stdout] test primitives::vector_orthagonal_facing ... ok
[INFO] [stdout] test rigid_body::construct_rigid_body_2d ... ok
[INFO] [stdout] test primitives::point2d_midpoint ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests performesh
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c8b53555d49cfc75e68109ec8c4e6430131a93725bb1aace7502d726d7d20e15", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c8b53555d49cfc75e68109ec8c4e6430131a93725bb1aace7502d726d7d20e15", kill_on_drop: false }`
[INFO] [stdout] c8b53555d49cfc75e68109ec8c4e6430131a93725bb1aace7502d726d7d20e15
