[INFO] cloning repository https://github.com/mwalczyk/kami
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mwalczyk/kami" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmwalczyk%2Fkami", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmwalczyk%2Fkami'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0620d15ff7e85168d8289514dc7a02491efe0bb2
[INFO] checking mwalczyk/kami against master#8f21a5c92ea55c348c275a1bc4fedbdf181e0d64 for pr-143011
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmwalczyk%2Fkami" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mwalczyk/kami
[INFO] finished tweaking git repo https://github.com/mwalczyk/kami
[INFO] tweaked toml for git repo https://github.com/mwalczyk/kami written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mwalczyk/kami on toolchain 8f21a5c92ea55c348c275a1bc4fedbdf181e0d64
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mwalczyk/kami 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" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded nalgebra-glm v0.7.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f0cae44ff3e518f89086124e311ed57b26ec91f43f3e5dc4a3b9c460cb579045
[INFO] running `Command { std: "docker" "start" "-a" "f0cae44ff3e518f89086124e311ed57b26ec91f43f3e5dc4a3b9c460cb579045", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f0cae44ff3e518f89086124e311ed57b26ec91f43f3e5dc4a3b9c460cb579045", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f0cae44ff3e518f89086124e311ed57b26ec91f43f3e5dc4a3b9c460cb579045", kill_on_drop: false }`
[INFO] [stdout] f0cae44ff3e518f89086124e311ed57b26ec91f43f3e5dc4a3b9c460cb579045
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c0218f6402f43281658d92721b90ab631ec0a0ee7f249c86b3cc3018a6204333
[INFO] running `Command { std: "docker" "start" "-a" "c0218f6402f43281658d92721b90ab631ec0a0ee7f249c86b3cc3018a6204333", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling libm v0.2.1
[INFO] [stderr]    Compiling libc v0.2.72
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]    Compiling proc-macro2 v1.0.19
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.8
[INFO] [stderr]    Compiling proc-macro-hack v0.5.16
[INFO] [stderr]    Compiling typenum v1.12.0
[INFO] [stderr]    Compiling syn v1.0.35
[INFO] [stderr]    Compiling serde_derive v1.0.114
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling num-integer v0.1.43
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling serde v1.0.114
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]     Checking matrixmultiply v0.2.3
[INFO] [stderr]    Compiling serde_json v1.0.56
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]    Compiling paste-impl v0.1.18
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking itoa v0.4.6
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking generic-array v0.13.2
[INFO] [stderr]     Checking paste v0.1.18
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking simba v0.1.5
[INFO] [stderr]     Checking rand_distr v0.2.2
[INFO] [stderr]     Checking nalgebra v0.21.1
[INFO] [stderr]     Checking nalgebra-glm v0.7.0
[INFO] [stderr]     Checking kami v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `scale`
[INFO] [stdout]  --> src/geometry/polygon.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use nalgebra_glm::{scale, Vec2};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::current`
[INFO] [stdout]  --> src/geometry/polygon.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::thread::current;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/geometry/utils.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let denom = (-delta_x1 * delta_y0 + delta_x0 * delta_y1);
[INFO] [stdout]    |                 ^                                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 71 -     let denom = (-delta_x1 * delta_y0 + delta_x0 * delta_y1);
[INFO] [stdout] 71 +     let denom = -delta_x1 * delta_y0 + delta_x0 * delta_y1;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph::planar_graph::PlanarGraphError::NoSuchVertex`
[INFO] [stdout]  --> src/graph/planar_graph.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::graph::planar_graph::PlanarGraphError::NoSuchVertex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `scale`
[INFO] [stdout]  --> src/geometry/polygon.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use nalgebra_glm::{scale, Vec2};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::current`
[INFO] [stdout]  --> src/geometry/polygon.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::thread::current;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/geometry/utils.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let denom = (-delta_x1 * delta_y0 + delta_x0 * delta_y1);
[INFO] [stdout]    |                 ^                                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 71 -     let denom = (-delta_x1 * delta_y0 + delta_x0 * delta_y1);
[INFO] [stdout] 71 +     let denom = -delta_x1 * delta_y0 + delta_x0 * delta_y1;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph::planar_graph::PlanarGraphError::NoSuchVertex`
[INFO] [stdout]  --> src/graph/planar_graph.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::graph::planar_graph::PlanarGraphError::NoSuchVertex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/geometry/line.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let a = 1.0;
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/geometry/line.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let b = 1.0;
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]   --> src/geometry/line.rs:34:29
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn intersect(&self, rhs: &Line) -> Option<Vector3<f32>> {
[INFO] [stdout]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_endpoints`
[INFO] [stdout]    --> src/geometry/utils.rs:121:57
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn is_on_line_segment(a: &Vec2, b: &Vec2, p: &Vec2, include_endpoints: bool) -> bool {
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_endpoints`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/geometry/utils.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |     let mut distances = points
[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: unused variable: `node`
[INFO] [stdout]    --> src/graph/planar_graph.rs:161:21
[INFO] [stdout]     |
[INFO] [stdout] 161 |         if let Some(node) = self.get_vertex(id) {
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]   --> src/math/trivector.rs:63:20
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn wedge(self, rhs: Self) -> Self::Output {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trivector`
[INFO] [stdout]    --> src/math/vector.rs:170:22
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let (vector, trivector) = rotor * rhs;
[INFO] [stdout]     |                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trivector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LineSegment` is never constructed
[INFO] [stdout]   --> src/geometry/line.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | struct LineSegment {}
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `are_neighbors` is never used
[INFO] [stdout]    --> src/geometry/polygon.rs:196:8
[INFO] [stdout]     |
[INFO] [stdout] 94  | impl Polygon {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 196 |     fn are_neighbors(&self, i: usize, j: usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `data` and `label` are never read
[INFO] [stdout]   --> src/graph/planar_graph.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Node<T> {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 20 |     data: T,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     label: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Node` 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 functions `dihedral_angle`, `fold_angle`, and `fold_direction_angle` are never used
[INFO] [stdout]   --> src/origami/crease.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Crease {
[INFO] [stdout]    | ----------- associated functions in this implementation
[INFO] [stdout] 11 |     fn dihedral_angle() -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn fold_angle() -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn fold_direction_angle() -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Vertex` is never constructed
[INFO] [stdout]   --> src/origami/vertex.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct Vertex {}
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `degree`, `is_developable`, `sector_angles`, `majority_type`, `vertex_type`, and `is_interior` are never used
[INFO] [stdout]   --> src/origami/vertex.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Vertex {
[INFO] [stdout]    | ----------- associated functions in this implementation
[INFO] [stdout] 14 |     /// The degree of a vertex is the number of creases incident.
[INFO] [stdout] 15 |     fn degree() -> usize {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     fn is_developable() -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn sector_angles() -> Vec<f32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     fn majority_type() -> Option<MajorityType> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn vertex_type() -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn is_interior() -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/geometry/line.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let a = 1.0;
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/geometry/line.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let b = 1.0;
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]   --> src/geometry/line.rs:34:29
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn intersect(&self, rhs: &Line) -> Option<Vector3<f32>> {
[INFO] [stdout]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_endpoints`
[INFO] [stdout]    --> src/geometry/utils.rs:121:57
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn is_on_line_segment(a: &Vec2, b: &Vec2, p: &Vec2, include_endpoints: bool) -> bool {
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_endpoints`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/geometry/utils.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |     let mut distances = points
[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: unused variable: `node`
[INFO] [stdout]    --> src/graph/planar_graph.rs:161:21
[INFO] [stdout]     |
[INFO] [stdout] 161 |         if let Some(node) = self.get_vertex(id) {
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]   --> src/math/trivector.rs:63:20
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn wedge(self, rhs: Self) -> Self::Output {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trivector`
[INFO] [stdout]    --> src/math/vector.rs:170:22
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let (vector, trivector) = rotor * rhs;
[INFO] [stdout]     |                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trivector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LineSegment` is never constructed
[INFO] [stdout]   --> src/geometry/line.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | struct LineSegment {}
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `are_neighbors` is never used
[INFO] [stdout]    --> src/geometry/polygon.rs:196:8
[INFO] [stdout]     |
[INFO] [stdout] 94  | impl Polygon {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 196 |     fn are_neighbors(&self, i: usize, j: usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `data` and `label` are never read
[INFO] [stdout]   --> src/graph/planar_graph.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Node<T> {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 20 |     data: T,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     label: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Node` 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 functions `dihedral_angle`, `fold_angle`, and `fold_direction_angle` are never used
[INFO] [stdout]   --> src/origami/crease.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Crease {
[INFO] [stdout]    | ----------- associated functions in this implementation
[INFO] [stdout] 11 |     fn dihedral_angle() -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn fold_angle() -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn fold_direction_angle() -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Vertex` is never constructed
[INFO] [stdout]   --> src/origami/vertex.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct Vertex {}
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `degree`, `is_developable`, `sector_angles`, `majority_type`, `vertex_type`, and `is_interior` are never used
[INFO] [stdout]   --> src/origami/vertex.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Vertex {
[INFO] [stdout]    | ----------- associated functions in this implementation
[INFO] [stdout] 14 |     /// The degree of a vertex is the number of creases incident.
[INFO] [stdout] 15 |     fn degree() -> usize {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     fn is_developable() -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn sector_angles() -> Vec<f32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     fn majority_type() -> Option<MajorityType> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn vertex_type() -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn is_interior() -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/graph/planar_graph.rs:529:9
[INFO] [stdout]     |
[INFO] [stdout] 529 |         graph.add_edge(0, 1, ());
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 529 |         let _ = graph.add_edge(0, 1, ());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/graph/planar_graph.rs:530:9
[INFO] [stdout]     |
[INFO] [stdout] 530 |         graph.add_edge(2, 3, ());
[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] 530 |         let _ = graph.add_edge(2, 3, ());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.79s
[INFO] running `Command { std: "docker" "inspect" "c0218f6402f43281658d92721b90ab631ec0a0ee7f249c86b3cc3018a6204333", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c0218f6402f43281658d92721b90ab631ec0a0ee7f249c86b3cc3018a6204333", kill_on_drop: false }`
[INFO] [stdout] c0218f6402f43281658d92721b90ab631ec0a0ee7f249c86b3cc3018a6204333
