[INFO] cloning repository https://github.com/withoz/axia3d
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/withoz/axia3d" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwithoz%2Faxia3d", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwithoz%2Faxia3d'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 83ecaf72a4981a9dfa0404fb4776fbfc400fb514
[INFO] checking withoz/axia3d against 5c543b0b8c73c7b72bc8284ced4fb22ead15734d for pr-160186
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwithoz%2Faxia3d" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-6-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/withoz/axia3d
[INFO] finished tweaking git repo https://github.com/withoz/axia3d
[INFO] tweaked toml for git repo https://github.com/withoz/axia3d written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/withoz/axia3d on toolchain 5c543b0b8c73c7b72bc8284ced4fb22ead15734d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/withoz/axia3d 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" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: unused workspace dependency `bytemuck`
[INFO] [stderr]   --> Cargo.toml:41:25
[INFO] [stderr]    |
[INFO] [stderr] 41 | [workspace.dependencies.bytemuck]
[INFO] [stderr]    |                         ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_workspace_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the workspace dependency `bytemuck`
[INFO] [stderr] warning: unused workspace dependency `getrandom`
[INFO] [stderr]   --> Cargo.toml:45:25
[INFO] [stderr]    |
[INFO] [stderr] 45 | [workspace.dependencies.getrandom]
[INFO] [stderr]    |                         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the workspace dependency `getrandom`
[INFO] [stderr] warning: workspace (manifest) generated 2 warnings
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded xmltree v0.9.0
[INFO] [stderr]   Downloaded dxf v0.6.1
[INFO] [stderr]   Downloaded earcutr v0.5.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 75957717c6acc2ef6973467ab6aa59c24d50656d33df08d29481e8032db88b9b
[INFO] running `Command { std: "docker" "start" "75957717c6acc2ef6973467ab6aa59c24d50656d33df08d29481e8032db88b9b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "75957717c6acc2ef6973467ab6aa59c24d50656d33df08d29481e8032db88b9b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "75957717c6acc2ef6973467ab6aa59c24d50656d33df08d29481e8032db88b9b" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "75957717c6acc2ef6973467ab6aa59c24d50656d33df08d29481e8032db88b9b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "75957717c6acc2ef6973467ab6aa59c24d50656d33df08d29481e8032db88b9b" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: unused workspace dependency `bytemuck`
[INFO] [stderr]   --> Cargo.toml:41:25
[INFO] [stderr]    |
[INFO] [stderr] 41 | [workspace.dependencies.bytemuck]
[INFO] [stderr]    |                         ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_workspace_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the workspace dependency `bytemuck`
[INFO] [stderr] warning: unused workspace dependency `getrandom`
[INFO] [stderr]   --> Cargo.toml:45:25
[INFO] [stderr]    |
[INFO] [stderr] 45 | [workspace.dependencies.getrandom]
[INFO] [stderr]    |                         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the workspace dependency `getrandom`
[INFO] [stderr] warning: workspace (manifest) generated 2 warnings
[INFO] [stderr]     Checking rustc-hash v2.1.2
[INFO] [stderr]     Checking robust v1.2.0
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]     Checking pxfm v0.1.28
[INFO] [stderr]    Compiling xmltree v0.9.0
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.118
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]     Checking earcutr v0.5.0
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking enum_primitive v0.1.1
[INFO] [stderr]     Checking axia-transaction v0.1.0 (/opt/rustwide/workdir/crates/axia-transaction)
[INFO] [stderr]    Compiling wasm-bindgen v0.2.118
[INFO] [stderr]    Compiling dxf v0.6.1
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.118
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking glam v0.30.10
[INFO] [stderr]     Checking getrandom v0.4.2
[INFO] [stderr]     Checking uuid v1.23.0
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.118
[INFO] [stderr]     Checking js-sys v0.3.95
[INFO] [stderr]     Checking console_error_panic_hook v0.1.7
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking axia-geo v0.1.0 (/opt/rustwide/workdir/crates/axia-geo)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> crates/axia-geo/src/operations/fillet.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use std::collections::HashMap;
[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: `EdgeId`
[INFO] [stdout]   --> crates/axia-geo/src/operations/cleave.rs:52:39
[INFO] [stdout]    |
[INFO] [stdout] 52 | use crate::entities::{FaceId, VertId, EdgeId};
[INFO] [stdout]    |                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking web-sys v0.3.95
[INFO] [stdout] warning: unused import: `VertId`
[INFO] [stdout]    --> crates/axia-geo/src/entities/face.rs:347:37
[INFO] [stdout]     |
[INFO] [stdout] 347 |     use crate::entities::id::{HeId, VertId};
[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: `crate::surfaces::AnalyticSurface`
[INFO] [stdout]      --> crates/axia-geo/src/mesh.rs:19933:13
[INFO] [stdout]       |
[INFO] [stdout] 19933 |         use crate::surfaces::AnalyticSurface;
[INFO] [stdout]       |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::surfaces::AnalyticSurface`
[INFO] [stdout]      --> crates/axia-geo/src/mesh.rs:19967:13
[INFO] [stdout]       |
[INFO] [stdout] 19967 |         use crate::surfaces::AnalyticSurface;
[INFO] [stdout]       |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::surfaces::AnalyticSurface`
[INFO] [stdout]      --> crates/axia-geo/src/mesh.rs:20093:13
[INFO] [stdout]       |
[INFO] [stdout] 20093 |         use crate::surfaces::AnalyticSurface;
[INFO] [stdout]       |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AnalyticSurface`
[INFO] [stdout]      --> crates/axia-geo/src/mesh.rs:20960:37
[INFO] [stdout]       |
[INFO] [stdout] 20960 |         use crate::surfaces::{cone, AnalyticSurface};
[INFO] [stdout]       |                                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::surfaces::cone`
[INFO] [stdout]      --> crates/axia-geo/src/mesh.rs:21039:13
[INFO] [stdout]       |
[INFO] [stdout] 21039 |         use crate::surfaces::cone;
[INFO] [stdout]       |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AnalyticSurface`
[INFO] [stdout]      --> crates/axia-geo/src/mesh.rs:21082:38
[INFO] [stdout]       |
[INFO] [stdout] 21082 |         use crate::surfaces::{torus, AnalyticSurface};
[INFO] [stdout]       |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::surfaces::AnalyticSurface as S`
[INFO] [stdout]      --> crates/axia-geo/src/operations/boolean.rs:17641:13
[INFO] [stdout]       |
[INFO] [stdout] 17641 |         use crate::surfaces::AnalyticSurface as S;
[INFO] [stdout]       |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> crates/axia-geo/src/operations/fillet.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]     --> crates/axia-geo/src/operations/geometric_merge.rs:1638:9
[INFO] [stdout]      |
[INFO] [stdout] 1638 |     use super::*;
[INFO] [stdout]      |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> crates/axia-geo/src/operations/erase_resynth.rs:283:9
[INFO] [stdout]     |
[INFO] [stdout] 283 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EdgeId`
[INFO] [stdout]   --> crates/axia-geo/src/operations/cleave.rs:52:39
[INFO] [stdout]    |
[INFO] [stdout] 52 | use crate::entities::{FaceId, VertId, EdgeId};
[INFO] [stdout]    |                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CurveOps`
[INFO] [stdout]    --> crates/axia-geo/src/curves/knot.rs:552:40
[INFO] [stdout]     |
[INFO] [stdout] 552 |     use crate::curves::{bspline as bs, CurveOps};
[INFO] [stdout]     |                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SurfaceOps`
[INFO] [stdout]    --> crates/axia-geo/src/surfaces/knot.rs:302:50
[INFO] [stdout]     |
[INFO] [stdout] 302 |     use crate::surfaces::{bspline_surface as bs, SurfaceOps};
[INFO] [stdout]     |                                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> crates/axia-geo/src/mesh_invariants.rs:966:9
[INFO] [stdout]     |
[INFO] [stdout] 966 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]     --> crates/axia-geo/src/mesh.rs:2920:9
[INFO] [stdout]      |
[INFO] [stdout] 2917 |                 return shifted_emit;
[INFO] [stdout]      |                 ------------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 2920 |         None
[INFO] [stdout]      |         ^^^^ unreachable expression
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]     --> crates/axia-geo/src/mesh.rs:3262:9
[INFO] [stdout]      |
[INFO] [stdout] 3259 |                 return shifted_emit;
[INFO] [stdout]      |                 ------------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 3262 |         None
[INFO] [stdout]      |         ^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]     --> crates/axia-geo/src/mesh.rs:3556:9
[INFO] [stdout]      |
[INFO] [stdout] 3553 |                 return emit(&outer_uv, &hole_uv, u_seam, v_seam);
[INFO] [stdout]      |                 ------------------------------------------------ any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 3556 |         None
[INFO] [stdout]      |         ^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `surfaces::ssi::boolean::nurbs_boolean`: Use nurbs_boolean_v2 for production. MVP preserved for back-compat; lacks containment tree + robustness.
[INFO] [stdout]    --> crates/axia-geo/src/surfaces/ssi/boolean.rs:294:22
[INFO] [stdout]     |
[INFO] [stdout] 294 |         let result = nurbs_boolean(
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `surfaces::ssi::boolean::nurbs_boolean`: Use nurbs_boolean_v2 for production. MVP preserved for back-compat; lacks containment tree + robustness.
[INFO] [stdout]    --> crates/axia-geo/src/surfaces/ssi/boolean.rs:316:22
[INFO] [stdout]     |
[INFO] [stdout] 316 |         let result = nurbs_boolean(
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]     --> crates/axia-geo/src/mesh.rs:2920:9
[INFO] [stdout]      |
[INFO] [stdout] 2917 |                 return shifted_emit;
[INFO] [stdout]      |                 ------------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 2920 |         None
[INFO] [stdout]      |         ^^^^ unreachable expression
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]     --> crates/axia-geo/src/mesh.rs:3262:9
[INFO] [stdout]      |
[INFO] [stdout] 3259 |                 return shifted_emit;
[INFO] [stdout]      |                 ------------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 3262 |         None
[INFO] [stdout]      |         ^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]     --> crates/axia-geo/src/mesh.rs:3556:9
[INFO] [stdout]      |
[INFO] [stdout] 3553 |                 return emit(&outer_uv, &hole_uv, u_seam, v_seam);
[INFO] [stdout]      |                 ------------------------------------------------ any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 3556 |         None
[INFO] [stdout]      |         ^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/axia-geo/src/mesh.rs:2030:13
[INFO] [stdout]      |
[INFO] [stdout] 2030 |         let mut push = |u: f64, v: f64, verts: &mut Vec<DVec3>, uvs: &mut Vec<[f64; 2]>| -> usize {
[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]     --> crates/axia-geo/src/mesh.rs:2158:13
[INFO] [stdout]      |
[INFO] [stdout] 2158 |         let mut push = |u: f64, v: f64, verts: &mut Vec<DVec3>, uvs: &mut Vec<[f64; 2]>| -> usize {
[INFO] [stdout]      |             ----^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fid`
[INFO] [stdout]      --> crates/axia-geo/src/mesh.rs:16067:15
[INFO] [stdout]       |
[INFO] [stdout] 16067 |         for (&fid, vs) in &face_verts {
[INFO] [stdout]       |               ^^^ help: if this is intentional, prefix it with an underscore: `_fid`
[INFO] [stdout]       |
[INFO] [stdout]       = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/axia-geo/src/operations/boolean.rs:8071:13
[INFO] [stdout]      |
[INFO] [stdout] 8071 |         let mut build_octagon = |mesh: &mut Mesh,
[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]    --> crates/axia-geo/src/operations/curved_arrange.rs:584:9
[INFO] [stdout]     |
[INFO] [stdout] 584 |     let mut cut_rim = |mesh: &mut Mesh, k: usize| -> Option<VertId> {
[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]    --> crates/axia-geo/src/operations/curved_arrange.rs:592:9
[INFO] [stdout]     |
[INFO] [stdout] 592 |     let mut chain_of = |mesh: &mut Mesh, pts: &[DVec3]| -> Vec<VertId> {
[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]    --> crates/axia-geo/src/operations/cross_bore.rs:350:9
[INFO] [stdout]     |
[INFO] [stdout] 350 |     let mut emit = |axis: DVec3, e1: DVec3, e2: DVec3, r_self: f64, r_other: f64,
[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]    --> crates/axia-geo/src/operations/cross_bore.rs:373:9
[INFO] [stdout]     |
[INFO] [stdout] 373 |     let mut pinch = |axis: DVec3, e1: DVec3, e2: DVec3, r_self: f64, r_other: f64,
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `radius`
[INFO] [stdout]    --> crates/axia-geo/src/mesh_export.rs:431:25
[INFO] [stdout]     |
[INFO] [stdout] 431 |                         radius,
[INFO] [stdout]     |                         ^^^^^^ help: try ignoring the field: `radius: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `basis_u`
[INFO] [stdout]    --> crates/axia-geo/src/mesh_export.rs:433:25
[INFO] [stdout]     |
[INFO] [stdout] 433 |                         basis_u,
[INFO] [stdout]     |                         ^^^^^^^ help: try ignoring the field: `basis_u: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `SolidData` is more private than the item `operations::boolean::<impl Mesh>::detect_general_intersections`
[INFO] [stdout]     --> crates/axia-geo/src/operations/boolean.rs:3374:5
[INFO] [stdout]      |
[INFO] [stdout] 3374 | /     pub(crate) fn detect_general_intersections(
[INFO] [stdout] 3375 | |         &self,
[INFO] [stdout] 3376 | |         solid_a: &SolidData,
[INFO] [stdout] 3377 | |         solid_b: &SolidData,
[INFO] [stdout] 3378 | |     ) -> Vec<IntersectionSegment> {
[INFO] [stdout]      | |_________________________________^ method `operations::boolean::<impl Mesh>::detect_general_intersections` is reachable at visibility `pub(crate)`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `SolidData` is only usable at visibility `pub(self)`
[INFO] [stdout]     --> crates/axia-geo/src/operations/boolean.rs:42:1
[INFO] [stdout]      |
[INFO] [stdout]   42 | struct SolidData {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `IntersectionSegment` is more private than the item `operations::boolean::<impl Mesh>::detect_general_intersections`
[INFO] [stdout]     --> crates/axia-geo/src/operations/boolean.rs:3374:5
[INFO] [stdout]      |
[INFO] [stdout] 3374 | /     pub(crate) fn detect_general_intersections(
[INFO] [stdout] 3375 | |         &self,
[INFO] [stdout] 3376 | |         solid_a: &SolidData,
[INFO] [stdout] 3377 | |         solid_b: &SolidData,
[INFO] [stdout] 3378 | |     ) -> Vec<IntersectionSegment> {
[INFO] [stdout]      | |_________________________________^ method `operations::boolean::<impl Mesh>::detect_general_intersections` is reachable at visibility `pub(crate)`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `IntersectionSegment` is only usable at visibility `pub(self)`
[INFO] [stdout]     --> crates/axia-geo/src/operations/boolean.rs:9606:1
[INFO] [stdout]      |
[INFO] [stdout] 9606 | struct IntersectionSegment {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `simplify_collinear_loop` is never used
[INFO] [stdout]      --> crates/axia-geo/src/mesh.rs:14833:19
[INFO] [stdout]       |
[INFO] [stdout]   612 | impl Mesh {
[INFO] [stdout]       | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 14833 |     pub(crate) fn simplify_collinear_loop(&self, verts: &[VertId]) -> Vec<VertId> {
[INFO] [stdout]       |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `detect_general_intersections`, `detect_curved_intersections`, and `solid_boolean` are never used
[INFO] [stdout]     --> crates/axia-geo/src/operations/boolean.rs:3374:19
[INFO] [stdout]      |
[INFO] [stdout]   55 | impl Mesh {
[INFO] [stdout]      | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 3374 |     pub(crate) fn detect_general_intersections(
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3426 |     pub(crate) fn detect_curved_intersections(
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 8158 |     pub(crate) fn solid_boolean(
[INFO] [stdout]      |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line_vs_segment_t` is never used
[INFO] [stdout]     --> crates/axia-geo/src/operations/boolean.rs:8788:4
[INFO] [stdout]      |
[INFO] [stdout] 8788 | fn line_vs_segment_t(l0: Pt2, ld: Pt2, c: Pt2, d: Pt2) -> Option<f64> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clip_line_to_convex_poly` is never used
[INFO] [stdout]     --> crates/axia-geo/src/operations/boolean.rs:8806:4
[INFO] [stdout]      |
[INFO] [stdout] 8806 | fn clip_line_to_convex_poly(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `polygon_normal` is never used
[INFO] [stdout]     --> crates/axia-geo/src/operations/boolean.rs:8839:4
[INFO] [stdout]      |
[INFO] [stdout] 8839 | fn polygon_normal(pts: &[DVec3]) -> DVec3 {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `region_material_point` is never used
[INFO] [stdout]     --> crates/axia-geo/src/operations/boolean.rs:8926:4
[INFO] [stdout]      |
[INFO] [stdout] 8926 | fn region_material_point(region: &Region2D) -> Pt2 {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `same_point_set` is never used
[INFO] [stdout]     --> crates/axia-geo/src/operations/boolean.rs:8948:4
[INFO] [stdout]      |
[INFO] [stdout] 8948 | fn same_point_set(a: &[DVec3], b: &[DVec3]) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VertexArrangement` is never constructed
[INFO] [stdout]     --> crates/axia-geo/src/operations/boolean.rs:9627:19
[INFO] [stdout]      |
[INFO] [stdout] 9627 | pub(crate) struct VertexArrangement {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `CELL`, `DEDUP`, `new`, `key`, `insert`, and `len` are never used
[INFO] [stdout]     --> crates/axia-geo/src/operations/boolean.rs:9634:11
[INFO] [stdout]      |
[INFO] [stdout] 9632 | impl VertexArrangement {
[INFO] [stdout]      | ---------------------- associated items in this implementation
[INFO] [stdout] 9633 |     /// Mirrors `mesh::SPATIAL_HASH_CELL` (0.1μm) and its ×1.5 dedup (0.15μm).
[INFO] [stdout] 9634 |     const CELL: f64 = 1e-4;
[INFO] [stdout]      |           ^^^^
[INFO] [stdout] 9635 |     const DEDUP: f64 = 1.5e-4;
[INFO] [stdout]      |           ^^^^^
[INFO] [stdout] 9636 |
[INFO] [stdout] 9637 |     pub(crate) fn new() -> Self {
[INFO] [stdout]      |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 9641 |     fn key(p: DVec3) -> (i64, i64, i64) {
[INFO] [stdout]      |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 9649 |     pub(crate) fn insert(&mut self, p: DVec3) -> usize {
[INFO] [stdout]      |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 9671 |     pub(crate) fn len(&self) -> usize {
[INFO] [stdout]      |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_intersection_arrangement` is never used
[INFO] [stdout]     --> crates/axia-geo/src/operations/boolean.rs:9759:4
[INFO] [stdout]      |
[INFO] [stdout] 9759 | fn build_intersection_arrangement(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CurvedIntersection` is never constructed
[INFO] [stdout]     --> crates/axia-geo/src/operations/boolean.rs:9772:19
[INFO] [stdout]      |
[INFO] [stdout] 9772 | pub(crate) struct CurvedIntersection {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_planar_surface` is never used
[INFO] [stdout]     --> crates/axia-geo/src/operations/boolean.rs:9778:4
[INFO] [stdout]      |
[INFO] [stdout] 9778 | fn is_planar_surface(s: &crate::surfaces::AnalyticSurface) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `uv_holes` is never read
[INFO] [stdout]     --> crates/axia-geo/src/operations/boolean.rs:9840:9
[INFO] [stdout]      |
[INFO] [stdout] 9837 | pub(crate) struct CurvedSubFace {
[INFO] [stdout]      |                   ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9840 |     pub uv_holes: Vec<Vec<(f64, f64)>>,
[INFO] [stdout]      |         ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `CurvedSubFace` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/axia-geo/src/operations/curved_arrange.rs:601:17
[INFO] [stdout]     |
[INFO] [stdout] 601 |                 mesh.add_edge(w[0], w[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]     |
[INFO] [stdout] 601 |                 let _unused = mesh.add_edge(w[0], w[1]);
[INFO] [stdout]     |                 +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/axia-geo/src/operations/carve.rs:698:9
[INFO] [stdout]     |
[INFO] [stdout] 698 |         self.remove_face(source_face);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]     |
[INFO] [stdout] 698 |         let _unused = self.remove_face(source_face);
[INFO] [stdout]     |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/axia-geo/src/operations/carve.rs:898:9
[INFO] [stdout]     |
[INFO] [stdout] 898 |         self.remove_face(cap_face);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]     |
[INFO] [stdout] 898 |         let _unused = self.remove_face(cap_face);
[INFO] [stdout]     |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> crates/axia-geo/src/operations/carve.rs:1448:9
[INFO] [stdout]      |
[INFO] [stdout] 1448 |         self.remove_face(cap_face);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 1448 |         let _unused = self.remove_face(cap_face);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> crates/axia-geo/src/operations/carve.rs:1449:9
[INFO] [stdout]      |
[INFO] [stdout] 1449 |         self.remove_face(exit_cap);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 1449 |         let _unused = self.remove_face(exit_cap);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> crates/axia-geo/src/operations/carve.rs:1527:9
[INFO] [stdout]      |
[INFO] [stdout] 1527 |         self.remove_face(source_face);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 1527 |         let _unused = self.remove_face(source_face);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> crates/axia-geo/src/operations/carve.rs:1971:9
[INFO] [stdout]      |
[INFO] [stdout] 1971 |         self.remove_face(door);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 1971 |         let _unused = self.remove_face(door);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> crates/axia-geo/src/operations/carve.rs:2143:9
[INFO] [stdout]      |
[INFO] [stdout] 2143 |         self.remove_face(door_strip);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 2143 |         let _unused = self.remove_face(door_strip);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking axia-core v0.1.0 (/opt/rustwide/workdir/crates/axia-core)
[INFO] [stderr]     Checking axia-foreign v0.1.0 (/opt/rustwide/workdir/crates/axia-foreign)
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/axia-geo/tests/an_inward_push_stops_inside_the_solid.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     m.create_box(DVec3::ZERO, 200.0, 100.0, 200.0, mat());
[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 _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let _unused = m.create_box(DVec3::ZERO, 200.0, 100.0, 200.0, mat());
[INFO] [stdout]     |     +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/axia-geo/tests/what_the_dcel_costs.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let mut m = Mesh::new();
[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: unused variable: `normal`
[INFO] [stdout]    --> crates/axia-geo/tests/a_hole_is_not_material.rs:361:9
[INFO] [stdout]     |
[INFO] [stdout] 361 |     let normal = DVec3::new(0.0, -1.0, 1.0).normalize();
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_normal`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/axia-geo/tests/which_face_the_chain_split_is_given.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |     let mut split_at = |mesh: &mut Mesh, k: usize| -> VertId {
[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]    --> crates/axia-geo/tests/which_face_the_chain_split_is_given.rs:207:9
[INFO] [stdout]     |
[INFO] [stdout] 207 |     let mut chain_of = |mesh: &mut Mesh, pts: &[DVec3], first: VertId, last: VertId| -> Vec<VertId> {
[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]    --> crates/axia-geo/tests/which_face_the_chain_split_is_given.rs:370:9
[INFO] [stdout]     |
[INFO] [stdout] 370 |     let mut split_at = |mesh: &mut Mesh, k: usize| -> VertId {
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> crates/axia-geo/tests/a_face_can_be_cut_across_its_hole.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         mesh.add_edge(w[0], w[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let _unused = mesh.add_edge(w[0], w[1]);
[INFO] [stdout]    |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/axia-geo/tests/a_face_can_be_cut_across_its_hole.rs:127:9
[INFO] [stdout]     |
[INFO] [stdout] 127 |         mesh.add_edge(w[0], w[1]);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let _unused = mesh.add_edge(w[0], w[1]);
[INFO] [stdout]     |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mat` is never used
[INFO] [stdout]   --> crates/axia-geo/tests/a_boundary_click_on_a_corner_has_no_region.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn mat() -> MaterialId {
[INFO] [stdout]    |    ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/axia-geo/tests/a_polygon_arc_solid_stands_anywhere.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |     let mut at = |z: f64| {
[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: unused import: `axia_geo::FaceId`
[INFO] [stdout]    --> crates/axia-geo/tests/slice_volume.rs:666:9
[INFO] [stdout]     |
[INFO] [stdout] 666 |     use axia_geo::FaceId;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/axia-geo/tests/two_overlapping_circles_resolve_on_a_wall.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mut split_at = |mesh: &mut Mesh, k: usize| -> VertId {
[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]   --> crates/axia-geo/tests/two_overlapping_circles_resolve_on_a_wall.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let mut chain_of = |mesh: &mut Mesh, pts: &[DVec3]| -> Vec<VertId> {
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/axia-geo/tests/two_overlapping_circles_resolve_on_a_wall.rs:103:17
[INFO] [stdout]     |
[INFO] [stdout] 103 |                 mesh.add_edge(w[0], w[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]     |
[INFO] [stdout] 103 |                 let _unused = mesh.add_edge(w[0], w[1]);
[INFO] [stdout]     |                 +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/axia-geo/tests/the_rim_is_drawn_at_the_same_detail_as_the_face.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut mesh = disks(3, 100.0);
[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: unused variable: `n_profile`
[INFO] [stdout]   --> crates/axia-foreign/src/sweep_converter.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let n_profile = profile_pts.len();
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_profile`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: duplicated attribute
[INFO] [stdout]      --> crates/axia-core/src/scene.rs:25548:5
[INFO] [stdout]       |
[INFO] [stdout] 25548 |     #[test]
[INFO] [stdout]       |     ^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `#[warn(duplicate_macro_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axia_geo::Mesh`
[INFO] [stdout]      --> crates/axia-core/src/scene.rs:16015:13
[INFO] [stdout]       |
[INFO] [stdout] 16015 |         use axia_geo::Mesh;
[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: `axia_geo::AnalyticSurface`
[INFO] [stdout]      --> crates/axia-core/src/scene.rs:23512:13
[INFO] [stdout]       |
[INFO] [stdout] 23512 |         use axia_geo::AnalyticSurface;
[INFO] [stdout]       |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AnalyticSurface`
[INFO] [stdout]      --> crates/axia-core/src/scene.rs:27037:40
[INFO] [stdout]       |
[INFO] [stdout] 27037 |         use axia_geo::surfaces::{cone, AnalyticSurface};
[INFO] [stdout]       |                                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_profile`
[INFO] [stdout]   --> crates/axia-foreign/src/sweep_converter.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let n_profile = profile_pts.len();
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_profile`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> crates/axia-foreign/src/promote_surface.rs:453:17
[INFO] [stdout]     |
[INFO] [stdout] 453 |             let s = std::f64::consts::FRAC_1_SQRT_2;
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking axia-ifc v0.1.0 (/opt/rustwide/workdir/crates/axia-ifc)
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> crates/axia-foreign/src/promote_surface.rs:453:17
[INFO] [stdout]     |
[INFO] [stdout] 453 |             let s = std::f64::consts::FRAC_1_SQRT_2;
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `knots_u`
[INFO] [stdout]    --> crates/axia-foreign/src/promote_surface.rs:814:28
[INFO] [stdout]     |
[INFO] [stdout] 814 |                 ctrl_grid, knots_u, knots_v, deg_u, deg_v, ..
[INFO] [stdout]     |                            ^^^^^^^ help: try ignoring the field: `knots_u: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/axia-ifc/src/ifc_geometry.rs:2935:9
[INFO] [stdout]      |
[INFO] [stdout] 2935 |     let mut sweep = if closed {
[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]     --> crates/axia-ifc/src/ifc_geometry.rs:2935:9
[INFO] [stdout]      |
[INFO] [stdout] 2935 |     let mut sweep = if closed {
[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: methods `volume_face_count` and `describe_overlap` are never used
[INFO] [stdout]     --> crates/axia-core/src/scene.rs:6133:8
[INFO] [stdout]      |
[INFO] [stdout]  622 | impl Scene {
[INFO] [stdout]      | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 6133 |     fn volume_face_count(&self) -> usize {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 6168 |     fn describe_overlap(&self, pairs: &[(FaceId, FaceId)]) -> String {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SurfaceOps`
[INFO] [stdout]      --> crates/axia-geo/src/mesh.rs:17676:44
[INFO] [stdout]       |
[INFO] [stdout] 17676 |     use crate::surfaces::{AnalyticSurface, SurfaceOps};
[INFO] [stdout]       |                                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CurveOps`
[INFO] [stdout]      --> crates/axia-geo/src/mesh.rs:17303:40
[INFO] [stdout]       |
[INFO] [stdout] 17303 |     use crate::curves::{AnalyticCurve, CurveOps};
[INFO] [stdout]       |                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking axia-wasm v0.1.0 (/opt/rustwide/workdir/crates/axia-wasm)
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/axia-core/tests/a_tilted_plane_is_not_a_special_case.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 | /         s.mesh
[INFO] [stdout] 248 | |             .create_box(DVec3::ZERO, 200.0, 200.0, 200.0, FORM_MATERIAL);
[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 _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let _unused = s.mesh
[INFO] [stdout]     |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `a_rect_lands_on_a_genuinely_TILTED_solid_face` should have a snake case name
[INFO] [stdout]    --> crates/axia-core/tests/a_tilted_plane_is_not_a_special_case.rs:271:4
[INFO] [stdout]     |
[INFO] [stdout] 271 | fn a_rect_lands_on_a_genuinely_TILTED_solid_face() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `a_rect_lands_on_a_genuinely_tilted_solid_face`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/axia-core/tests/a_tilted_plane_is_not_a_special_case.rs:282:5
[INFO] [stdout]     |
[INFO] [stdout] 282 | /     s.mesh
[INFO] [stdout] 283 | |         .create_box(DVec3::ZERO, 200.0, 200.0, 200.0, FORM_MATERIAL);
[INFO] [stdout]     | |____________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]     |
[INFO] [stdout] 282 |     let _unused = s.mesh
[INFO] [stdout]     |     +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/axia-core/tests/a_tilted_plane_is_not_a_special_case.rs:318:5
[INFO] [stdout]     |
[INFO] [stdout] 318 | /     ctl.mesh
[INFO] [stdout] 319 | |         .create_box(DVec3::ZERO, 200.0, 200.0, 200.0, FORM_MATERIAL);
[INFO] [stdout]     | |____________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]     |
[INFO] [stdout] 318 |     let _unused = ctl.mesh
[INFO] [stdout]     |     +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prod` is never used
[INFO] [stdout]   --> crates/axia-core/tests/what_counts_as_damage.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn prod() -> Scene {
[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 `nf` is never used
[INFO] [stdout]   --> crates/axia-core/tests/construction_history_blast_radius.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn nf(s:&Scene)->usize{s.mesh.faces.iter().filter(|(_,f)|f.is_active()).count()}
[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 `worst_sag` is never used
[INFO] [stdout]    --> crates/axia-core/tests/a_drawn_circle_does_not_add_surface.rs:147:4
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn worst_sag(s: &mut Scene, centre: DVec3, radius: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `box_faces`
[INFO] [stdout]   --> crates/axia-core/tests/a_ring_does_not_cover_its_own_hole.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let box_faces = scene
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_box_faces`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> crates/axia-core/tests/a_line_with_a_section.rs:220:23
[INFO] [stdout]     |
[INFO] [stdout] 220 |         .filter_map(|(id, e)| {
[INFO] [stdout]     |                       ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Ellipse`, `Polygon`, and `Punch` are never constructed
[INFO] [stdout]   --> crates/axia-core/tests/a_vertex_whose_outgoing_half_edge_is_gone.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 77 | enum Op {
[INFO] [stdout]    |      -- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 81 |     Ellipse { x: f64, y: f64, z: f64, w: f64 },
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 82 |     Polygon { x: f64, y: f64, z: f64, w: f64, n: u32 },
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     Punch { x: f64, y: f64, z: f64 },
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fid`
[INFO] [stdout]    --> crates/axia-core/tests/draw_freely_matrix.rs:496:16
[INFO] [stdout]     |
[INFO] [stdout] 496 |         .map(|(fid, f)| {
[INFO] [stdout]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_fid`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/axia-geo/src/mesh.rs:2030:13
[INFO] [stdout]      |
[INFO] [stdout] 2030 |         let mut push = |u: f64, v: f64, verts: &mut Vec<DVec3>, uvs: &mut Vec<[f64; 2]>| -> usize {
[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]     --> crates/axia-geo/src/mesh.rs:2158:13
[INFO] [stdout]      |
[INFO] [stdout] 2158 |         let mut push = |u: f64, v: f64, verts: &mut Vec<DVec3>, uvs: &mut Vec<[f64; 2]>| -> usize {
[INFO] [stdout]      |             ----^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shrink` is never used
[INFO] [stdout]    --> crates/axia-core/tests/pushing_in_leaves_faces_on_top_of_each_other.rs:182:4
[INFO] [stdout]     |
[INFO] [stdout] 182 | fn shrink(name: &str, full: Vec<Op>) -> Vec<Op> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axia_geo::operations::self_intersect::ContactKind`
[INFO] [stdout]    --> crates/axia-core/tests/what_repairs_a_damaged_file.rs:286:13
[INFO] [stdout]     |
[INFO] [stdout] 286 |         use axia_geo::operations::self_intersect::ContactKind;
[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 variable: `lo`
[INFO] [stdout]    --> crates/axia-core/tests/what_divides_on_a_solid_top.rs:233:17
[INFO] [stdout]     |
[INFO] [stdout] 233 |     let past = |lo: DVec3, hi: DVec3| hi.x > 100.0 + 1e-3 || hi.y > 100.0 + 1e-3;
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_lo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/axia-core/tests/a_face_that_crosses_its_own_boundary.rs:220:5
[INFO] [stdout]     |
[INFO] [stdout] 220 |     s.mesh.create_box(DVec3::new(400.0, 0.0, 100.0), 200.0, 200.0, 200.0, FORM_MATERIAL);
[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 _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]     |
[INFO] [stdout] 220 |     let _unused = s.mesh.create_box(DVec3::new(400.0, 0.0, 100.0), 200.0, 200.0, 200.0, FORM_MATERIAL);
[INFO] [stdout]     |     +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> crates/axia-core/tests/a_circle_straddling_a_box_rim_is_not_a_warning.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | /     s.mesh
[INFO] [stdout] 86 | |         .create_box(DVec3::new(0.0, 0.0, 100.0), 400.0, 200.0, 400.0, FORM_MATERIAL);
[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 _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let _unused = s.mesh
[INFO] [stdout]    |     +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/axia-core/tests/a_circle_straddling_a_box_rim_is_not_a_warning.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 140 | /     s.mesh
[INFO] [stdout] 141 | |         .create_box(DVec3::new(0.0, 0.0, 100.0), 200.0, 200.0, 200.0, FORM_MATERIAL);
[INFO] [stdout]     | |____________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]     |
[INFO] [stdout] 140 |     let _unused = s.mesh
[INFO] [stdout]     |     +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CommandResult`
[INFO] [stdout]    --> crates/axia-core/tests/the_fifty_operation_inventory.rs:128:26
[INFO] [stdout]     |
[INFO] [stdout] 128 | use axia_core::{Command, CommandResult, FORM_MATERIAL};
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `refusal` is never used
[INFO] [stdout]   --> crates/axia-core/tests/a_refusal_says_which_overlap_it_was.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn refusal(r: CommandResult) -> String {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Command`
[INFO] [stdout]   --> crates/axia-core/tests/a_face_id_is_never_handed_out_twice.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 | use axia_core::{Command, FORM_MATERIAL};
[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 variable: `fid`
[INFO] [stdout]      --> crates/axia-geo/src/mesh.rs:16067:15
[INFO] [stdout]       |
[INFO] [stdout] 16067 |         for (&fid, vs) in &face_verts {
[INFO] [stdout]       |               ^^^ help: if this is intentional, prefix it with an underscore: `_fid`
[INFO] [stdout]       |
[INFO] [stdout]       = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ha`
[INFO] [stdout]      --> crates/axia-geo/src/mesh.rs:21051:40
[INFO] [stdout]       |
[INFO] [stdout] 21051 |         let (mut mesh, side, apex, ad, ha, rd, vlo, vhi) = adr263_cone_fixture();
[INFO] [stdout]       |                                        ^^ help: if this is intentional, prefix it with an underscore: `_ha`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rd`
[INFO] [stdout]      --> crates/axia-geo/src/mesh.rs:21051:44
[INFO] [stdout]       |
[INFO] [stdout] 21051 |         let (mut mesh, side, apex, ad, ha, rd, vlo, vhi) = adr263_cone_fixture();
[INFO] [stdout]       |                                            ^^ help: if this is intentional, prefix it with an underscore: `_rd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]      --> crates/axia-wasm/src/lib.rs:16455:9
[INFO] [stdout]       |
[INFO] [stdout] 16455 |     use super::*;
[INFO] [stdout]       |         ^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]      --> crates/axia-core/src/scene.rs:16088:13
[INFO] [stdout]       |
[INFO] [stdout] 16088 |         let mut boundary_count = 0;
[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: unused variable: `result`
[INFO] [stdout]     --> crates/axia-geo/src/operations/create_solid.rs:5484:13
[INFO] [stdout]      |
[INFO] [stdout] 5484 |         let result = mesh
[INFO] [stdout]      |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]      --> crates/axia-core/src/scene.rs:23928:13
[INFO] [stdout]       |
[INFO] [stdout] 23928 |         let mut scene = Scene::new();
[INFO] [stdout]       |             ----^^^^^
[INFO] [stdout]       |             |
[INFO] [stdout]       |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `zc`
[INFO] [stdout]      --> crates/axia-core/src/scene.rs:26641:13
[INFO] [stdout]       |
[INFO] [stdout] 26641 |         let zc = DVec3::Z;
[INFO] [stdout]       |             ^^ help: if this is intentional, prefix it with an underscore: `_zc`
[INFO] [stdout]       |
[INFO] [stdout]       = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]      --> crates/axia-core/src/scene.rs:27221:17
[INFO] [stdout]       |
[INFO] [stdout] 27221 |             let mut add = |scene: &mut Scene, name: &str, faces: Vec<axia_geo::FaceId>| {
[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]     --> crates/axia-geo/src/operations/boolean.rs:8071:13
[INFO] [stdout]      |
[INFO] [stdout] 8071 |         let mut build_octagon = |mesh: &mut Mesh,
[INFO] [stdout]      |             ----^^^^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `describe_overlap` is never used
[INFO] [stdout]     --> crates/axia-core/src/scene.rs:6168:8
[INFO] [stdout]      |
[INFO] [stdout]  622 | impl Scene {
[INFO] [stdout]      | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 6168 |     fn describe_overlap(&self, pairs: &[(FaceId, FaceId)]) -> String {
[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 `test_phaseA_promote_keeps_outer_radial_manifold` should have a snake case name
[INFO] [stdout]      --> crates/axia-core/src/scene.rs:15468:8
[INFO] [stdout]       |
[INFO] [stdout] 15468 |     fn test_phaseA_promote_keeps_outer_radial_manifold() {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_phase_a_promote_keeps_outer_radial_manifold`
[INFO] [stdout]       |
[INFO] [stdout]       = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_adr021_phaseB_3level_nested_smallest_first` should have a snake case name
[INFO] [stdout]      --> crates/axia-core/src/scene.rs:15527:8
[INFO] [stdout]       |
[INFO] [stdout] 15527 |     fn test_adr021_phaseB_3level_nested_smallest_first() {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_adr021_phase_b_3level_nested_smallest_first`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_phaseA_isolated_4line_rect_no_promote` should have a snake case name
[INFO] [stdout]      --> crates/axia-core/src/scene.rs:15564:8
[INFO] [stdout]       |
[INFO] [stdout] 15564 |     fn test_phaseA_isolated_4line_rect_no_promote() {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_phase_a_isolated_4line_rect_no_promote`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_phaseA_postprocess_promote_path_radial` should have a snake case name
[INFO] [stdout]      --> crates/axia-core/src/scene.rs:15638:8
[INFO] [stdout]       |
[INFO] [stdout] 15638 |     fn test_phaseA_postprocess_promote_path_radial() {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_phase_a_postprocess_promote_path_radial`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_phaseA_3level_nested_radial_check_after_each_step` should have a snake case name
[INFO] [stdout]      --> crates/axia-core/src/scene.rs:15715:8
[INFO] [stdout]       |
[INFO] [stdout] 15715 |     fn test_phaseA_3level_nested_radial_check_after_each_step() {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_phase_a_3level_nested_radial_check_after_each_step`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `adr089_a_zeta_4_drawCircle_legacy_unchanged` should have a snake case name
[INFO] [stdout]      --> crates/axia-core/src/scene.rs:22973:8
[INFO] [stdout]       |
[INFO] [stdout] 22973 |     fn adr089_a_zeta_4_drawCircle_legacy_unchanged() {
[INFO] [stdout]       |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `adr089_a_zeta_4_draw_circle_legacy_unchanged`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `center`
[INFO] [stdout]      --> crates/axia-geo/src/operations/boolean.rs:20337:13
[INFO] [stdout]       |
[INFO] [stdout] 20337 |         let center = DVec3::ZERO;
[INFO] [stdout]       |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_center`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `initial_face_count`
[INFO] [stdout]      --> crates/axia-geo/src/operations/boolean.rs:21563:13
[INFO] [stdout]       |
[INFO] [stdout] 21563 |         let initial_face_count = mesh.face_count();
[INFO] [stdout]       |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_face_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/axia-geo/src/operations/curved_arrange.rs:584:9
[INFO] [stdout]     |
[INFO] [stdout] 584 |     let mut cut_rim = |mesh: &mut Mesh, k: usize| -> Option<VertId> {
[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]    --> crates/axia-geo/src/operations/curved_arrange.rs:592:9
[INFO] [stdout]     |
[INFO] [stdout] 592 |     let mut chain_of = |mesh: &mut Mesh, pts: &[DVec3]| -> Vec<VertId> {
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mat2`
[INFO] [stdout]    --> crates/axia-geo/src/operations/boolean_dispatch.rs:975:33
[INFO] [stdout]     |
[INFO] [stdout] 975 |         let (mut mesh2, a2, b2, mat2) = two_overlapping_boxes();
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_mat2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> crates/axia-geo/src/operations/primitives.rs:1481:20
[INFO] [stdout]      |
[INFO] [stdout] 1481 |         for (n, f, e, v) in &measurements {
[INFO] [stdout]      |                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fid`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:2272:14
[INFO] [stdout]      |
[INFO] [stdout] 2272 |         let (fid, [v0, v1, v2, v3]) = make_square(&mut m);
[INFO] [stdout]      |              ^^^ help: if this is intentional, prefix it with an underscore: `_fid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v2`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:2272:28
[INFO] [stdout]      |
[INFO] [stdout] 2272 |         let (fid, [v0, v1, v2, v3]) = make_square(&mut m);
[INFO] [stdout]      |                            ^^ help: if this is intentional, prefix it with an underscore: `_v2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v3`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:2272:32
[INFO] [stdout]      |
[INFO] [stdout] 2272 |         let (fid, [v0, v1, v2, v3]) = make_square(&mut m);
[INFO] [stdout]      |                                ^^ help: if this is intentional, prefix it with an underscore: `_v3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v2`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:2291:28
[INFO] [stdout]      |
[INFO] [stdout] 2291 |         let (fid, [v0, v1, v2, v3]) = make_square(&mut m);
[INFO] [stdout]      |                            ^^ help: if this is intentional, prefix it with an underscore: `_v2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v3`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:2291:32
[INFO] [stdout]      |
[INFO] [stdout] 2291 |         let (fid, [v0, v1, v2, v3]) = make_square(&mut m);
[INFO] [stdout]      |                                ^^ help: if this is intentional, prefix it with an underscore: `_v3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pp`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:2343:13
[INFO] [stdout]      |
[INFO] [stdout] 2343 |         let pp = m.push_pull(base, 3.0, mat).unwrap();
[INFO] [stdout]      |             ^^ help: if this is intentional, prefix it with an underscore: `_pp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vp`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:2349:14
[INFO] [stdout]      |
[INFO] [stdout] 2349 |         let (vp, _, _) = m.split_edge(eid, DVec3::new(2.0, 0.0, 0.0)).unwrap();
[INFO] [stdout]      |              ^^ help: if this is intentional, prefix it with an underscore: `_vp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v1`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:2446:24
[INFO] [stdout]      |
[INFO] [stdout] 2446 |         let (fid, [v0, v1, v2, v3]) = make_square(&mut m);
[INFO] [stdout]      |                        ^^ help: if this is intentional, prefix it with an underscore: `_v1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v3`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:2446:32
[INFO] [stdout]      |
[INFO] [stdout] 2446 |         let (fid, [v0, v1, v2, v3]) = make_square(&mut m);
[INFO] [stdout]      |                                ^^ help: if this is intentional, prefix it with an underscore: `_v3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v0`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:2461:20
[INFO] [stdout]      |
[INFO] [stdout] 2461 |         let (fid, [v0, v1, v2, v3]) = make_square(&mut m);
[INFO] [stdout]      |                    ^^ help: if this is intentional, prefix it with an underscore: `_v0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v2`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:2461:28
[INFO] [stdout]      |
[INFO] [stdout] 2461 |         let (fid, [v0, v1, v2, v3]) = make_square(&mut m);
[INFO] [stdout]      |                            ^^ help: if this is intentional, prefix it with an underscore: `_v2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v0`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:2731:20
[INFO] [stdout]      |
[INFO] [stdout] 2731 |         let (fid, [v0, v1, v2, v3]) = make_square(&mut m);
[INFO] [stdout]      |                    ^^ help: if this is intentional, prefix it with an underscore: `_v0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v1`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:2731:24
[INFO] [stdout]      |
[INFO] [stdout] 2731 |         let (fid, [v0, v1, v2, v3]) = make_square(&mut m);
[INFO] [stdout]      |                        ^^ help: if this is intentional, prefix it with an underscore: `_v1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v2`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:2731:28
[INFO] [stdout]      |
[INFO] [stdout] 2731 |         let (fid, [v0, v1, v2, v3]) = make_square(&mut m);
[INFO] [stdout]      |                            ^^ help: if this is intentional, prefix it with an underscore: `_v2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v3`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:2731:32
[INFO] [stdout]      |
[INFO] [stdout] 2731 |         let (fid, [v0, v1, v2, v3]) = make_square(&mut m);
[INFO] [stdout]      |                                ^^ help: if this is intentional, prefix it with an underscore: `_v3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v1`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:2836:24
[INFO] [stdout]      |
[INFO] [stdout] 2836 |         let (fid, [v0, v1, v2, v3]) = make_square(&mut m);
[INFO] [stdout]      |                        ^^ help: if this is intentional, prefix it with an underscore: `_v1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v3`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:2836:32
[INFO] [stdout]      |
[INFO] [stdout] 2836 |         let (fid, [v0, v1, v2, v3]) = make_square(&mut m);
[INFO] [stdout]      |                                ^^ help: if this is intentional, prefix it with an underscore: `_v3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v1`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:2852:24
[INFO] [stdout]      |
[INFO] [stdout] 2852 |         let (fid, [v0, v1, v2, v3]) = make_square(&mut m);
[INFO] [stdout]      |                        ^^ help: if this is intentional, prefix it with an underscore: `_v1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v2`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:2852:28
[INFO] [stdout]      |
[INFO] [stdout] 2852 |         let (fid, [v0, v1, v2, v3]) = make_square(&mut m);
[INFO] [stdout]      |                            ^^ help: if this is intentional, prefix it with an underscore: `_v2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v3`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:2852:32
[INFO] [stdout]      |
[INFO] [stdout] 2852 |         let (fid, [v0, v1, v2, v3]) = make_square(&mut m);
[INFO] [stdout]      |                                ^^ help: if this is intentional, prefix it with an underscore: `_v3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:3295:14
[INFO] [stdout]      |
[INFO] [stdout] 3295 |         for (i, &vid) in loop_verts.iter().enumerate() {
[INFO] [stdout]      |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v0`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:3429:20
[INFO] [stdout]      |
[INFO] [stdout] 3429 |         let (fid, [v0, v1, v2, v3]) = make_square(&mut m);
[INFO] [stdout]      |                    ^^ help: if this is intentional, prefix it with an underscore: `_v0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v1`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:3429:24
[INFO] [stdout]      |
[INFO] [stdout] 3429 |         let (fid, [v0, v1, v2, v3]) = make_square(&mut m);
[INFO] [stdout]      |                        ^^ help: if this is intentional, prefix it with an underscore: `_v1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v2`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:3429:28
[INFO] [stdout]      |
[INFO] [stdout] 3429 |         let (fid, [v0, v1, v2, v3]) = make_square(&mut m);
[INFO] [stdout]      |                            ^^ help: if this is intentional, prefix it with an underscore: `_v2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v3`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:3429:32
[INFO] [stdout]      |
[INFO] [stdout] 3429 |         let (fid, [v0, v1, v2, v3]) = make_square(&mut m);
[INFO] [stdout]      |                                ^^ help: if this is intentional, prefix it with an underscore: `_v3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mat`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:3888:13
[INFO] [stdout]      |
[INFO] [stdout] 3888 |         let mat = MaterialId::new(0);
[INFO] [stdout]      |             ^^^ help: if this is intentional, prefix it with an underscore: `_mat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mat`
[INFO] [stdout]     --> crates/axia-geo/src/operations/face_split.rs:3915:13
[INFO] [stdout]      |
[INFO] [stdout] 3915 |         let mat = MaterialId::new(0);
[INFO] [stdout]      |             ^^^ help: if this is intentional, prefix it with an underscore: `_mat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fa`
[INFO] [stdout]    --> crates/axia-geo/src/operations/self_intersect.rs:732:13
[INFO] [stdout]     |
[INFO] [stdout] 732 |         let fa = m.add_face(&[a0, a1, a2, a3], mat).unwrap();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_fa`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/axia-geo/src/operations/cross_bore.rs:350:9
[INFO] [stdout]     |
[INFO] [stdout] 350 |     let mut emit = |axis: DVec3, e1: DVec3, e2: DVec3, r_self: f64, r_other: f64,
[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]    --> crates/axia-geo/src/operations/cross_bore.rs:373:9
[INFO] [stdout]     |
[INFO] [stdout] 373 |     let mut pinch = |axis: DVec3, e1: DVec3, e2: DVec3, r_self: f64, r_other: f64,
[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]    --> crates/axia-geo/src/curves/intersect.rs:295:13
[INFO] [stdout]     |
[INFO] [stdout] 295 |         let mut mesh = Mesh::new();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sa`
[INFO] [stdout]    --> crates/axia-geo/src/surfaces/sphere.rs:423:14
[INFO] [stdout]     |
[INFO] [stdout] 423 |         let (sa, ea) = match arc {
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_sa`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `radius`
[INFO] [stdout]    --> crates/axia-geo/src/mesh_export.rs:431:25
[INFO] [stdout]     |
[INFO] [stdout] 431 |                         radius,
[INFO] [stdout]     |                         ^^^^^^ help: try ignoring the field: `radius: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `basis_u`
[INFO] [stdout]    --> crates/axia-geo/src/mesh_export.rs:433:25
[INFO] [stdout]     |
[INFO] [stdout] 433 |                         basis_u,
[INFO] [stdout]     |                         ^^^^^^^ help: try ignoring the field: `basis_u: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `SolidData` is more private than the item `operations::boolean::<impl mesh::Mesh>::detect_general_intersections`
[INFO] [stdout]     --> crates/axia-geo/src/operations/boolean.rs:3374:5
[INFO] [stdout]      |
[INFO] [stdout] 3374 | /     pub(crate) fn detect_general_intersections(
[INFO] [stdout] 3375 | |         &self,
[INFO] [stdout] 3376 | |         solid_a: &SolidData,
[INFO] [stdout] 3377 | |         solid_b: &SolidData,
[INFO] [stdout] 3378 | |     ) -> Vec<IntersectionSegment> {
[INFO] [stdout]      | |_________________________________^ method `operations::boolean::<impl mesh::Mesh>::detect_general_intersections` is reachable at visibility `pub(crate)`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `SolidData` is only usable at visibility `pub(self)`
[INFO] [stdout]     --> crates/axia-geo/src/operations/boolean.rs:42:1
[INFO] [stdout]      |
[INFO] [stdout]   42 | struct SolidData {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `operations::boolean::IntersectionSegment` is more private than the item `operations::boolean::<impl mesh::Mesh>::detect_general_intersections`
[INFO] [stdout]     --> crates/axia-geo/src/operations/boolean.rs:3374:5
[INFO] [stdout]      |
[INFO] [stdout] 3374 | /     pub(crate) fn detect_general_intersections(
[INFO] [stdout] 3375 | |         &self,
[INFO] [stdout] 3376 | |         solid_a: &SolidData,
[INFO] [stdout] 3377 | |         solid_b: &SolidData,
[INFO] [stdout] 3378 | |     ) -> Vec<IntersectionSegment> {
[INFO] [stdout]      | |_________________________________^ method `operations::boolean::<impl mesh::Mesh>::detect_general_intersections` is reachable at visibility `pub(crate)`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `operations::boolean::IntersectionSegment` is only usable at visibility `pub(self)`
[INFO] [stdout]     --> crates/axia-geo/src/operations/boolean.rs:9606:1
[INFO] [stdout]      |
[INFO] [stdout] 9606 | struct IntersectionSegment {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `simplify_collinear_loop` is never used
[INFO] [stdout]      --> crates/axia-geo/src/mesh.rs:14833:19
[INFO] [stdout]       |
[INFO] [stdout]   612 | impl Mesh {
[INFO] [stdout]       | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 14833 |     pub(crate) fn simplify_collinear_loop(&self, verts: &[VertId]) -> Vec<VertId> {
[INFO] [stdout]       |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `uv_holes` is never read
[INFO] [stdout]     --> crates/axia-geo/src/operations/boolean.rs:9840:9
[INFO] [stdout]      |
[INFO] [stdout] 9837 | pub(crate) struct CurvedSubFace {
[INFO] [stdout]      |                   ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9840 |     pub uv_holes: Vec<Vec<(f64, f64)>>,
[INFO] [stdout]      |         ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `CurvedSubFace` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> crates/axia-geo/src/operations/curved_arrange.rs:601:17
[INFO] [stdout]     |
[INFO] [stdout] 601 |                 mesh.add_edge(w[0], w[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]     |
[INFO] [stdout] 601 |                 let _unused = mesh.add_edge(w[0], w[1]);
[INFO] [stdout]     |                 +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `adr148_infer_plane_two_wires_on_the_SAME_plane_is_not_ambiguous` should have a snake case name
[INFO] [stdout]     --> crates/axia-geo/src/operations/boundary.rs:1183:8
[INFO] [stdout]      |
[INFO] [stdout] 1183 |     fn adr148_infer_plane_two_wires_on_the_SAME_plane_is_not_ambiguous() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `adr148_infer_plane_two_wires_on_the_same_plane_is_not_ambiguous`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> crates/axia-geo/src/operations/offset.rs:4331:43
[INFO] [stdout]      |
[INFO] [stdout] 4331 |     fn build_torus_panel(mesh: &mut Mesh, R: f64, r: f64) -> (FaceId, [VertId; 3]) {
[INFO] [stdout]      |                                           ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> crates/axia-geo/src/operations/offset.rs:4355:13
[INFO] [stdout]      |
[INFO] [stdout] 4355 |         let R = 3.0;
[INFO] [stdout]      |             ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> crates/axia-geo/src/operations/offset.rs:4406:13
[INFO] [stdout]      |
[INFO] [stdout] 4406 |         let R = 4.0;
[INFO] [stdout]      |             ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> crates/axia-geo/src/operations/offset.rs:4448:13
[INFO] [stdout]      |
[INFO] [stdout] 4448 |         let R = 3.0;
[INFO] [stdout]      |             ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> crates/axia-geo/src/operations/offset.rs:4581:13
[INFO] [stdout]      |
[INFO] [stdout] 4581 |         let R = 5.0;
[INFO] [stdout]      |             ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> crates/axia-geo/src/operations/offset.rs:4608:13
[INFO] [stdout]      |
[INFO] [stdout] 4608 |         let R = 4.0;
[INFO] [stdout]      |             ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> crates/axia-geo/src/operations/carve.rs:698:9
[INFO] [stdout]     |
[INFO] [stdout] 698 |         self.remove_face(source_face);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]     |
[INFO] [stdout] 698 |         let _unused = self.remove_face(source_face);
[INFO] [stdout]     |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> crates/axia-geo/src/operations/carve.rs:898:9
[INFO] [stdout]     |
[INFO] [stdout] 898 |         self.remove_face(cap_face);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]     |
[INFO] [stdout] 898 |         let _unused = self.remove_face(cap_face);
[INFO] [stdout]     |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> crates/axia-geo/src/operations/carve.rs:1448:9
[INFO] [stdout]      |
[INFO] [stdout] 1448 |         self.remove_face(cap_face);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 1448 |         let _unused = self.remove_face(cap_face);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> crates/axia-geo/src/operations/carve.rs:1449:9
[INFO] [stdout]      |
[INFO] [stdout] 1449 |         self.remove_face(exit_cap);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 1449 |         let _unused = self.remove_face(exit_cap);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> crates/axia-geo/src/operations/carve.rs:1527:9
[INFO] [stdout]      |
[INFO] [stdout] 1527 |         self.remove_face(source_face);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 1527 |         let _unused = self.remove_face(source_face);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> crates/axia-geo/src/operations/carve.rs:1971:9
[INFO] [stdout]      |
[INFO] [stdout] 1971 |         self.remove_face(door);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 1971 |         let _unused = self.remove_face(door);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> crates/axia-geo/src/operations/carve.rs:2143:9
[INFO] [stdout]      |
[INFO] [stdout] 2143 |         self.remove_face(door_strip);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 2143 |         let _unused = self.remove_face(door_strip);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> crates/axia-geo/src/operations/carve.rs:2423:9
[INFO] [stdout]      |
[INFO] [stdout] 2423 |         mesh.remove_face(door);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 2423 |         let _unused = mesh.remove_face(door);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> crates/axia-geo/src/operations/carve.rs:2484:9
[INFO] [stdout]      |
[INFO] [stdout] 2484 |         mesh.remove_face(door_b);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 2484 |         let _unused = mesh.remove_face(door_b);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> crates/axia-geo/src/operations/carve.rs:2524:9
[INFO] [stdout]      |
[INFO] [stdout] 2524 |         mesh.remove_face(door_strip);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 2524 |         let _unused = mesh.remove_face(door_strip);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TR_r` should have an upper case name
[INFO] [stdout]    --> crates/axia-geo/src/surfaces/torus.rs:569:11
[INFO] [stdout]     |
[INFO] [stdout] 569 |     const TR_r: f64 = 10.0;
[INFO] [stdout]     |           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 569 -     const TR_r: f64 = 10.0;
[INFO] [stdout] 569 +     const TR_R: f64 = 10.0;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_rejects_degenerate_1xN_grid` should have a snake case name
[INFO] [stdout]    --> crates/axia-geo/src/surfaces/bezier_patch.rs:431:8
[INFO] [stdout]     |
[INFO] [stdout] 431 |     fn validate_rejects_degenerate_1xN_grid() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `validate_rejects_degenerate_1x_n_grid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_rejects_degenerate_Nx1_grid` should have a snake case name
[INFO] [stdout]    --> crates/axia-geo/src/surfaces/bezier_patch.rs:441:8
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn validate_rejects_degenerate_Nx1_grid() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `validate_rejects_degenerate_nx1_grid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> crates/axia-geo/src/p7_manifold.rs:1102:9
[INFO] [stdout]      |
[INFO] [stdout] 1102 |         mesh_after.remove_face(inner);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]      |
[INFO] [stdout] 1102 |         let _unused = mesh_after.remove_face(inner);
[INFO] [stdout]      |         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `axia-geo`
[INFO] [stderr]   --> crates/axia-foreign/Cargo.toml:16:1
[INFO] [stderr]    |
[INFO] [stderr] 16 | axia-geo.workspace = true
[INFO] [stderr]    | ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `axia-geo`
[INFO] [stderr] warning: `axia-foreign` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 10s
[INFO] running `Command { std: "docker" "inspect" "75957717c6acc2ef6973467ab6aa59c24d50656d33df08d29481e8032db88b9b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "75957717c6acc2ef6973467ab6aa59c24d50656d33df08d29481e8032db88b9b", kill_on_drop: false }`
[INFO] [stdout] 75957717c6acc2ef6973467ab6aa59c24d50656d33df08d29481e8032db88b9b
