[INFO] cloning repository https://github.com/gmalmquist/meshproc
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gmalmquist/meshproc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgmalmquist%2Fmeshproc", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgmalmquist%2Fmeshproc'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e734218f7dcec00165d07daaa820ed4a0f12246f
[INFO] checking gmalmquist/meshproc against try#3a4cb0edb4040379c037e06efeb5409e44be7b77 for pr-146377
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgmalmquist%2Fmeshproc" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/gmalmquist/meshproc
[INFO] finished tweaking git repo https://github.com/gmalmquist/meshproc
[INFO] tweaked toml for git repo https://github.com/gmalmquist/meshproc written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/gmalmquist/meshproc on toolchain 3a4cb0edb4040379c037e06efeb5409e44be7b77
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3a4cb0edb4040379c037e06efeb5409e44be7b77" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/gmalmquist/meshproc 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" "+3a4cb0edb4040379c037e06efeb5409e44be7b77" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking gmalmquist/meshproc against try#3a4cb0edb4040379c037e06efeb5409e44be7b77 for pr-146377
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgmalmquist%2Fmeshproc" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/gmalmquist/meshproc
[INFO] finished tweaking git repo https://github.com/gmalmquist/meshproc
[INFO] tweaked toml for git repo https://github.com/gmalmquist/meshproc written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/gmalmquist/meshproc on toolchain 3a4cb0edb4040379c037e06efeb5409e44be7b77
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3a4cb0edb4040379c037e06efeb5409e44be7b77" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/gmalmquist/meshproc 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" "+3a4cb0edb4040379c037e06efeb5409e44be7b77" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded c2-chacha v0.2.3
[INFO] [stderr]   Downloaded redox_syscall v0.1.56
[INFO] [stderr]   Downloaded rand_chacha v0.2.1
[INFO] [stderr]   Downloaded proc-macro-nested v0.1.3
[INFO] [stderr]   Downloaded ppv-lite86 v0.2.6
[INFO] [stderr]   Downloaded futures-executor v0.3.4
[INFO] [stderr]   Downloaded uuid v0.8.1
[INFO] [stderr]   Downloaded hermit-abi v0.1.7
[INFO] [stderr]   Downloaded pin-utils v0.1.0-alpha.4
[INFO] [stderr]   Downloaded futures-sink v0.3.4
[INFO] [stderr]   Downloaded futures-channel v0.3.4
[INFO] [stderr]   Downloaded num_cpus v1.12.0
[INFO] [stderr]   Downloaded futures-core v0.3.4
[INFO] [stderr]   Downloaded proc-macro2 v1.0.8
[INFO] [stderr]   Downloaded futures v0.3.4
[INFO] [stderr]   Downloaded stl_io v0.4.2
[INFO] [stderr]   Downloaded futures-io v0.3.4
[INFO] [stderr]   Downloaded futures-macro v0.3.4
[INFO] [stderr]   Downloaded futures-util v0.3.4
[INFO] [stderr]   Downloaded unicode-xid v0.2.0
[INFO] [stderr]   Downloaded memchr v2.3.2
[INFO] [stderr]   Downloaded quote v1.0.2
[INFO] [stderr]   Downloaded futures-task v0.3.4
[INFO] [stderr]   Downloaded proc-macro-hack v0.5.11
[INFO] [stderr]   Downloaded tempfile v3.1.0
[INFO] [stderr]   Downloaded libc v0.2.66
[INFO] [stderr]   Downloaded syn v1.0.14
[INFO] [stderr]   Downloaded winapi v0.3.8
[INFO] [stderr]   Downloaded remove_dir_all v0.5.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+3a4cb0edb4040379c037e06efeb5409e44be7b77" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 69857e689183ec0c6e553def5794a0f8f4b699edcecb5556ad59a47e5a20d2ba
[INFO] running `Command { std: "docker" "start" "-a" "69857e689183ec0c6e553def5794a0f8f4b699edcecb5556ad59a47e5a20d2ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "69857e689183ec0c6e553def5794a0f8f4b699edcecb5556ad59a47e5a20d2ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "69857e689183ec0c6e553def5794a0f8f4b699edcecb5556ad59a47e5a20d2ba", kill_on_drop: false }`
[INFO] [stdout] 69857e689183ec0c6e553def5794a0f8f4b699edcecb5556ad59a47e5a20d2ba
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+3a4cb0edb4040379c037e06efeb5409e44be7b77" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b8da3add296e5878a649683f73911f95a7b9ffb38cc32386a707e5a71646f045
[INFO] running `Command { std: "docker" "start" "-a" "b8da3add296e5878a649683f73911f95a7b9ffb38cc32386a707e5a71646f045", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.66
[INFO] [stderr]    Compiling proc-macro2 v1.0.8
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling syn v1.0.14
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]     Checking ppv-lite86 v0.2.6
[INFO] [stderr]    Compiling proc-macro-nested v0.1.3
[INFO] [stderr]    Compiling memchr v2.3.2
[INFO] [stderr]     Checking futures-core v0.3.4
[INFO] [stderr]     Checking futures-sink v0.3.4
[INFO] [stderr]     Checking futures-io v0.3.4
[INFO] [stderr]     Checking futures-task v0.3.4
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]     Checking pin-utils v0.1.0-alpha.4
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]     Checking remove_dir_all v0.5.2
[INFO] [stderr]     Checking futures-channel v0.3.4
[INFO] [stderr]     Checking c2-chacha v0.2.3
[INFO] [stderr]     Checking stl_io v0.4.2
[INFO] [stderr]     Checking num_cpus v1.12.0
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking rand_chacha v0.2.1
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking tempfile v3.1.0
[INFO] [stderr]     Checking uuid v0.8.1
[INFO] [stderr]    Compiling proc-macro-hack v0.5.11
[INFO] [stderr]    Compiling futures-macro v0.3.4
[INFO] [stderr]     Checking futures-util v0.3.4
[INFO] [stderr]     Checking futures-executor v0.3.4
[INFO] [stderr]     Checking futures v0.3.4
[INFO] [stderr]     Checking meshproc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `byteorder::WriteBytesExt`
[INFO] [stdout]   --> src/csg.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use byteorder::WriteBytesExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::INFINITY`
[INFO] [stdout]  --> src/geom.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f64::INFINITY;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Div`
[INFO] [stdout]  --> src/geom.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::Div;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::panic::resume_unwind`
[INFO] [stdout]  --> src/geom.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::panic::resume_unwind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MeshFace`
[INFO] [stdout]  --> src/geom.rs:5:38
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::mesh::{Mesh, MeshBuilder, MeshFace, MeshFaceIter};
[INFO] [stdout]   |                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/mesh.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/mesh.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::scalar::FloatRange`
[INFO] [stdout]   --> src/mesh.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::scalar::FloatRange;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Basis3` and `Frame3`
[INFO] [stdout]   --> src/mesh.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::threed::{Basis3, Frame3, Pt3, Ray3, Vec3};
[INFO] [stdout]    |                     ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Polygon`
[INFO] [stdout]   --> src/lib.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::geom::{Polygon, FaceLike};
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `byteorder::WriteBytesExt`
[INFO] [stdout]   --> src/csg.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use byteorder::WriteBytesExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::INFINITY`
[INFO] [stdout]  --> src/geom.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f64::INFINITY;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Div`
[INFO] [stdout]  --> src/geom.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::Div;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::panic::resume_unwind`
[INFO] [stdout]  --> src/geom.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::panic::resume_unwind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MeshFace`
[INFO] [stdout]  --> src/geom.rs:5:38
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::mesh::{Mesh, MeshBuilder, MeshFace, MeshFaceIter};
[INFO] [stdout]   |                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/mesh.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/mesh.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::scalar::FloatRange`
[INFO] [stdout]   --> src/mesh.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::scalar::FloatRange;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Basis3` and `Frame3`
[INFO] [stdout]   --> src/mesh.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::threed::{Basis3, Frame3, Pt3, Ray3, Vec3};
[INFO] [stdout]    |                     ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Polygon`
[INFO] [stdout]   --> src/lib.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::geom::{Polygon, FaceLike};
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/mesh.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/mesh.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/geom.rs:455:13
[INFO] [stdout]     |
[INFO] [stdout] 455 |         let mut axis = self.vector().cross(&edge.vector()).normalized();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/geom.rs:455:13
[INFO] [stdout]     |
[INFO] [stdout] 455 |         let mut axis = self.vector().cross(&edge.vector()).normalized();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/geom.rs:66:17
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn vertices(&self) -> FaceVertexIter<T> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn vertices(&self) -> FaceVertexIter<'_, T> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/geom.rs:114:14
[INFO] [stdout]     |
[INFO] [stdout] 114 |     fn edges(&self) -> FaceEdgeIter<T> {
[INFO] [stdout]     |              ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |     fn edges(&self) -> FaceEdgeIter<'_, T> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/geom.rs:118:15
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn points(&self, resolution: f64) -> FacePointIter<T> {
[INFO] [stdout]     |               ^^^^^                      ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn points(&self, resolution: f64) -> FacePointIter<'_, T> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/geom.rs:566:18
[INFO] [stdout]     |
[INFO] [stdout] 566 |     pub fn faces(&self) -> MeshFaceIter {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 566 |     pub fn faces(&self) -> MeshFaceIter<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/threed.rs:369:20
[INFO] [stdout]     |
[INFO] [stdout] 369 |     pub fn project(&self, v: &Vec3) -> LocalVec {
[INFO] [stdout]     |                    ^^^^^               ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 369 |     pub fn project(&self, v: &Vec3) -> LocalVec<'_> {
[INFO] [stdout]     |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/threed.rs:394:20
[INFO] [stdout]     |
[INFO] [stdout] 394 |     pub fn project(&self, pt: &Pt3) -> LocalPoint {
[INFO] [stdout]     |                    ^^^^^               ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 394 |     pub fn project(&self, pt: &Pt3) -> LocalPoint<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/threed.rs:411:18
[INFO] [stdout]     |
[INFO] [stdout] 411 |     pub fn local(&self, i: f64, j: f64, k: f64) -> LocalPoint {
[INFO] [stdout]     |                  ^^^^^ the lifetime is elided here ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 411 |     pub fn local(&self, i: f64, j: f64, k: f64) -> LocalPoint<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/mesh.rs:78:17
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn face(&self, index: usize) -> Option<MeshFace> {
[INFO] [stdout]    |                 ^^^^^                          ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn face(&self, index: usize) -> Option<MeshFace<'_>> {
[INFO] [stdout]    |                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/mesh.rs:92:18
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn faces(&self) -> MeshFaceIter {
[INFO] [stdout]    |                  ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn faces(&self) -> MeshFaceIter<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/mesh.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn corner(&self, index: usize) -> Corner {
[INFO] [stdout]     |                   ^^^^^                   ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn corner(&self, index: usize) -> Corner<'_> {
[INFO] [stdout]     |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/mesh.rs:113:23
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn corner_for(&self, face_index: usize, face_corner: usize) -> Corner {
[INFO] [stdout]     |                       ^^^^^ the lifetime is elided here                ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn corner_for(&self, face_index: usize, face_corner: usize) -> Corner<'_> {
[INFO] [stdout]     |                                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mesh.rs:306:9
[INFO] [stdout]     |
[INFO] [stdout] 306 |         writer.write_all(&header);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 306 |         let _ = writer.write_all(&header);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mesh.rs:307:9
[INFO] [stdout]     |
[INFO] [stdout] 307 |         writer.write_u32::<LittleEndian>(triangle_count as u32);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 307 |         let _ = writer.write_u32::<LittleEndian>(triangle_count as u32);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mesh.rs:310:13
[INFO] [stdout]     |
[INFO] [stdout] 310 |             writer.write_f32::<LittleEndian>(normal.x as f32);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 310 |             let _ = writer.write_f32::<LittleEndian>(normal.x as f32);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mesh.rs:311:13
[INFO] [stdout]     |
[INFO] [stdout] 311 |             writer.write_f32::<LittleEndian>(normal.y as f32);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 311 |             let _ = writer.write_f32::<LittleEndian>(normal.y as f32);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mesh.rs:312:13
[INFO] [stdout]     |
[INFO] [stdout] 312 |             writer.write_f32::<LittleEndian>(normal.z as f32);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 312 |             let _ = writer.write_f32::<LittleEndian>(normal.z as f32);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mesh.rs:317:17
[INFO] [stdout]     |
[INFO] [stdout] 317 |                 writer.write_f32::<LittleEndian>((0.0_f64).max(offset.x + point.x) as f32);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 317 |                 let _ = writer.write_f32::<LittleEndian>((0.0_f64).max(offset.x + point.x) as f32);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mesh.rs:318:17
[INFO] [stdout]     |
[INFO] [stdout] 318 |                 writer.write_f32::<LittleEndian>((0.0_f64).max(offset.y + point.y) as f32);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 318 |                 let _ = writer.write_f32::<LittleEndian>((0.0_f64).max(offset.y + point.y) as f32);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mesh.rs:319:17
[INFO] [stdout]     |
[INFO] [stdout] 319 |                 writer.write_f32::<LittleEndian>((0.0_f64).max(offset.z + point.z) as f32);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 319 |                 let _ = writer.write_f32::<LittleEndian>((0.0_f64).max(offset.z + point.z) as f32);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mesh.rs:322:13
[INFO] [stdout]     |
[INFO] [stdout] 322 |             writer.write_u16::<LittleEndian>(0); // Attribute count, which most tools expect to be 0.
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 322 |             let _ = writer.write_u16::<LittleEndian>(0); // Attribute count, which most tools expect to be 0.
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/mesh.rs:487:17
[INFO] [stdout]     |
[INFO] [stdout] 487 |     pub fn face(&self) -> MeshFace {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 487 |     pub fn face(&self) -> MeshFace<'_> {
[INFO] [stdout]     |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/mesh.rs:522:19
[INFO] [stdout]     |
[INFO] [stdout] 522 |     pub fn corner(&self, index: usize) -> Corner {
[INFO] [stdout]     |                   ^^^^^                   ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 522 |     pub fn corner(&self, index: usize) -> Corner<'_> {
[INFO] [stdout]     |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `v123` is never used
[INFO] [stdout]    --> src/threed.rs:954:8
[INFO] [stdout]     |
[INFO] [stdout] 954 |     fn v123() -> Vec3 {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `v345` is never used
[INFO] [stdout]    --> src/threed.rs:962:8
[INFO] [stdout]     |
[INFO] [stdout] 962 |     fn v345() -> Vec3 {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `p111` is never used
[INFO] [stdout]    --> src/threed.rs:970:8
[INFO] [stdout]     |
[INFO] [stdout] 970 |     fn p111() -> Pt3 {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `p123` is never used
[INFO] [stdout]    --> src/threed.rs:974:8
[INFO] [stdout]     |
[INFO] [stdout] 974 |     fn p123() -> Pt3 {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `p234` is never used
[INFO] [stdout]    --> src/threed.rs:978:8
[INFO] [stdout]     |
[INFO] [stdout] 978 |     fn p234() -> Pt3 {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/geom.rs:66:17
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn vertices(&self) -> FaceVertexIter<T> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn vertices(&self) -> FaceVertexIter<'_, T> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/geom.rs:114:14
[INFO] [stdout]     |
[INFO] [stdout] 114 |     fn edges(&self) -> FaceEdgeIter<T> {
[INFO] [stdout]     |              ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |     fn edges(&self) -> FaceEdgeIter<'_, T> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/geom.rs:118:15
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn points(&self, resolution: f64) -> FacePointIter<T> {
[INFO] [stdout]     |               ^^^^^                      ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn points(&self, resolution: f64) -> FacePointIter<'_, T> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/geom.rs:566:18
[INFO] [stdout]     |
[INFO] [stdout] 566 |     pub fn faces(&self) -> MeshFaceIter {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 566 |     pub fn faces(&self) -> MeshFaceIter<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/threed.rs:369:20
[INFO] [stdout]     |
[INFO] [stdout] 369 |     pub fn project(&self, v: &Vec3) -> LocalVec {
[INFO] [stdout]     |                    ^^^^^               ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 369 |     pub fn project(&self, v: &Vec3) -> LocalVec<'_> {
[INFO] [stdout]     |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/threed.rs:394:20
[INFO] [stdout]     |
[INFO] [stdout] 394 |     pub fn project(&self, pt: &Pt3) -> LocalPoint {
[INFO] [stdout]     |                    ^^^^^               ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 394 |     pub fn project(&self, pt: &Pt3) -> LocalPoint<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/threed.rs:411:18
[INFO] [stdout]     |
[INFO] [stdout] 411 |     pub fn local(&self, i: f64, j: f64, k: f64) -> LocalPoint {
[INFO] [stdout]     |                  ^^^^^ the lifetime is elided here ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 411 |     pub fn local(&self, i: f64, j: f64, k: f64) -> LocalPoint<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/mesh.rs:78:17
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn face(&self, index: usize) -> Option<MeshFace> {
[INFO] [stdout]    |                 ^^^^^                          ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn face(&self, index: usize) -> Option<MeshFace<'_>> {
[INFO] [stdout]    |                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/mesh.rs:92:18
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn faces(&self) -> MeshFaceIter {
[INFO] [stdout]    |                  ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn faces(&self) -> MeshFaceIter<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/mesh.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn corner(&self, index: usize) -> Corner {
[INFO] [stdout]     |                   ^^^^^                   ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn corner(&self, index: usize) -> Corner<'_> {
[INFO] [stdout]     |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/mesh.rs:113:23
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn corner_for(&self, face_index: usize, face_corner: usize) -> Corner {
[INFO] [stdout]     |                       ^^^^^ the lifetime is elided here                ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn corner_for(&self, face_index: usize, face_corner: usize) -> Corner<'_> {
[INFO] [stdout]     |                                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mesh.rs:306:9
[INFO] [stdout]     |
[INFO] [stdout] 306 |         writer.write_all(&header);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 306 |         let _ = writer.write_all(&header);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mesh.rs:307:9
[INFO] [stdout]     |
[INFO] [stdout] 307 |         writer.write_u32::<LittleEndian>(triangle_count as u32);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 307 |         let _ = writer.write_u32::<LittleEndian>(triangle_count as u32);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mesh.rs:310:13
[INFO] [stdout]     |
[INFO] [stdout] 310 |             writer.write_f32::<LittleEndian>(normal.x as f32);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 310 |             let _ = writer.write_f32::<LittleEndian>(normal.x as f32);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mesh.rs:311:13
[INFO] [stdout]     |
[INFO] [stdout] 311 |             writer.write_f32::<LittleEndian>(normal.y as f32);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 311 |             let _ = writer.write_f32::<LittleEndian>(normal.y as f32);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mesh.rs:312:13
[INFO] [stdout]     |
[INFO] [stdout] 312 |             writer.write_f32::<LittleEndian>(normal.z as f32);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 312 |             let _ = writer.write_f32::<LittleEndian>(normal.z as f32);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mesh.rs:317:17
[INFO] [stdout]     |
[INFO] [stdout] 317 |                 writer.write_f32::<LittleEndian>((0.0_f64).max(offset.x + point.x) as f32);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 317 |                 let _ = writer.write_f32::<LittleEndian>((0.0_f64).max(offset.x + point.x) as f32);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mesh.rs:318:17
[INFO] [stdout]     |
[INFO] [stdout] 318 |                 writer.write_f32::<LittleEndian>((0.0_f64).max(offset.y + point.y) as f32);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 318 |                 let _ = writer.write_f32::<LittleEndian>((0.0_f64).max(offset.y + point.y) as f32);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mesh.rs:319:17
[INFO] [stdout]     |
[INFO] [stdout] 319 |                 writer.write_f32::<LittleEndian>((0.0_f64).max(offset.z + point.z) as f32);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 319 |                 let _ = writer.write_f32::<LittleEndian>((0.0_f64).max(offset.z + point.z) as f32);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/mesh.rs:322:13
[INFO] [stdout]     |
[INFO] [stdout] 322 |             writer.write_u16::<LittleEndian>(0); // Attribute count, which most tools expect to be 0.
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 322 |             let _ = writer.write_u16::<LittleEndian>(0); // Attribute count, which most tools expect to be 0.
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/mesh.rs:487:17
[INFO] [stdout]     |
[INFO] [stdout] 487 |     pub fn face(&self) -> MeshFace {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 487 |     pub fn face(&self) -> MeshFace<'_> {
[INFO] [stdout]     |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/mesh.rs:522:19
[INFO] [stdout]     |
[INFO] [stdout] 522 |     pub fn corner(&self, index: usize) -> Corner {
[INFO] [stdout]     |                   ^^^^^                   ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 522 |     pub fn corner(&self, index: usize) -> Corner<'_> {
[INFO] [stdout]     |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/mesh.rs:752:16
[INFO] [stdout]     |
[INFO] [stdout] 752 |         fn c_a(&self) -> Corner {
[INFO] [stdout]     |                ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                |
[INFO] [stdout]     |                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 752 |         fn c_a(&self) -> Corner<'_> {
[INFO] [stdout]     |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/mesh.rs:756:18
[INFO] [stdout]     |
[INFO] [stdout] 756 |         fn c_abd(&self) -> Corner {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 756 |         fn c_abd(&self) -> Corner<'_> {
[INFO] [stdout]     |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/mesh.rs:760:18
[INFO] [stdout]     |
[INFO] [stdout] 760 |         fn c_adb(&self) -> Corner {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 760 |         fn c_adb(&self) -> Corner<'_> {
[INFO] [stdout]     |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/mesh.rs:764:16
[INFO] [stdout]     |
[INFO] [stdout] 764 |         fn c_c(&self) -> Corner {
[INFO] [stdout]     |                ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                |
[INFO] [stdout]     |                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 764 |         fn c_c(&self) -> Corner<'_> {
[INFO] [stdout]     |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/mesh.rs:768:18
[INFO] [stdout]     |
[INFO] [stdout] 768 |         fn c_bdc(&self) -> Corner {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 768 |         fn c_bdc(&self) -> Corner<'_> {
[INFO] [stdout]     |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/mesh.rs:772:18
[INFO] [stdout]     |
[INFO] [stdout] 772 |         fn c_cbd(&self) -> Corner {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 772 |         fn c_cbd(&self) -> Corner<'_> {
[INFO] [stdout]     |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stop`
[INFO] [stdout]   --> src/main.rs:20:45
[INFO] [stdout]    |
[INFO] [stdout] 20 | use meshproc::VisitResult::{Continue, Skip, Stop};
[INFO] [stdout]    |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stop`
[INFO] [stdout]   --> src/main.rs:20:45
[INFO] [stdout]    |
[INFO] [stdout] 20 | use meshproc::VisitResult::{Continue, Skip, Stop};
[INFO] [stdout]    |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `{float}` by `{integer}`
[INFO] [stdout]    --> src/main.rs:120:41
[INFO] [stdout]     |
[INFO] [stdout] 120 |             if face.area() < (clearance * 2) * (clearance * 2) {
[INFO] [stdout]     |                                         ^ no implementation for `{float} * {integer}`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<{integer}>` is not implemented for `{float}`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               `&f128` implements `Mul<f128>`
[INFO] [stdout]               `&f128` implements `Mul`
[INFO] [stdout]               `&f16` implements `Mul<f16>`
[INFO] [stdout]               `&f16` implements `Mul`
[INFO] [stdout]               `&f32` implements `Mul<f32>`
[INFO] [stdout]               `&f32` implements `Mul`
[INFO] [stdout]               `&f64` implements `Mul<f64>`
[INFO] [stdout]               `&f64` implements `Mul`
[INFO] [stdout]             and 59 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `{float}` by `{integer}`
[INFO] [stdout]    --> src/main.rs:120:41
[INFO] [stdout]     |
[INFO] [stdout] 120 |             if face.area() < (clearance * 2) * (clearance * 2) {
[INFO] [stdout]     |                                         ^ no implementation for `{float} * {integer}`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<{integer}>` is not implemented for `{float}`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               `&f128` implements `Mul<f128>`
[INFO] [stdout]               `&f128` implements `Mul`
[INFO] [stdout]               `&f16` implements `Mul<f16>`
[INFO] [stdout]               `&f16` implements `Mul`
[INFO] [stdout]               `&f32` implements `Mul<f32>`
[INFO] [stdout]               `&f32` implements `Mul`
[INFO] [stdout]               `&f64` implements `Mul<f64>`
[INFO] [stdout]               `&f64` implements `Mul`
[INFO] [stdout]             and 59 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `{float}` by `{integer}`
[INFO] [stdout]    --> src/main.rs:120:59
[INFO] [stdout]     |
[INFO] [stdout] 120 |             if face.area() < (clearance * 2) * (clearance * 2) {
[INFO] [stdout]     |                                                           ^ no implementation for `{float} * {integer}`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<{integer}>` is not implemented for `{float}`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               `&f128` implements `Mul<f128>`
[INFO] [stdout]               `&f128` implements `Mul`
[INFO] [stdout]               `&f16` implements `Mul<f16>`
[INFO] [stdout]               `&f16` implements `Mul`
[INFO] [stdout]               `&f32` implements `Mul<f32>`
[INFO] [stdout]               `&f32` implements `Mul`
[INFO] [stdout]               `&f64` implements `Mul<f64>`
[INFO] [stdout]               `&f64` implements `Mul`
[INFO] [stdout]             and 59 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `{float}` by `{integer}`
[INFO] [stdout]    --> src/main.rs:120:59
[INFO] [stdout]     |
[INFO] [stdout] 120 |             if face.area() < (clearance * 2) * (clearance * 2) {
[INFO] [stdout]     |                                                           ^ no implementation for `{float} * {integer}`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Mul<{integer}>` is not implemented for `{float}`
[INFO] [stdout]     = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]               `&f128` implements `Mul<f128>`
[INFO] [stdout]               `&f128` implements `Mul`
[INFO] [stdout]               `&f16` implements `Mul<f16>`
[INFO] [stdout]               `&f16` implements `Mul`
[INFO] [stdout]               `&f32` implements `Mul<f32>`
[INFO] [stdout]               `&f32` implements `Mul`
[INFO] [stdout]               `&f64` implements `Mul<f64>`
[INFO] [stdout]               `&f64` implements `Mul`
[INFO] [stdout]             and 59 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `meshproc` (bin "meshproc") due to 2 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `meshproc` (bin "meshproc" test) due to 2 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "b8da3add296e5878a649683f73911f95a7b9ffb38cc32386a707e5a71646f045", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b8da3add296e5878a649683f73911f95a7b9ffb38cc32386a707e5a71646f045", kill_on_drop: false }`
[INFO] [stdout] b8da3add296e5878a649683f73911f95a7b9ffb38cc32386a707e5a71646f045
