[INFO] cloning repository https://github.com/linus131/StlSlicer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/linus131/StlSlicer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flinus131%2FStlSlicer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flinus131%2FStlSlicer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 039895fd67f344023fbde9960cda50b34484a30c
[INFO] testing linus131/StlSlicer against 1.97.0-beta.6 for beta-1.98-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flinus131%2FStlSlicer" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/linus131/StlSlicer
[INFO] finished tweaking git repo https://github.com/linus131/StlSlicer
[INFO] tweaked toml for git repo https://github.com/linus131/StlSlicer written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/linus131/StlSlicer on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/linus131/StlSlicer already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 5 packages to latest compatible versions
[INFO] [stderr]     Updating crossbeam-deque v0.8.0 -> v0.8.7
[INFO] [stderr]     Updating crossbeam-epoch v0.9.3 -> v0.9.20
[INFO] [stderr]     Updating crossbeam-utils v0.8.3 -> v0.8.22
[INFO] [stderr]     Updating rayon v1.5.0 -> v1.12.0
[INFO] [stderr]     Updating rayon-core v1.9.0 -> v1.13.0
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded crossbeam-deque v0.8.7
[INFO] [stderr]   Downloaded libc v0.2.98
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 3296154d6ee573ef3242694aa4f01e208a4bc585a2fb67e20eb629d4fc82af53
[INFO] running `Command { std: "docker" "start" "3296154d6ee573ef3242694aa4f01e208a4bc585a2fb67e20eb629d4fc82af53", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3296154d6ee573ef3242694aa4f01e208a4bc585a2fb67e20eb629d4fc82af53", 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" "3296154d6ee573ef3242694aa4f01e208a4bc585a2fb67e20eb629d4fc82af53" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3296154d6ee573ef3242694aa4f01e208a4bc585a2fb67e20eb629d4fc82af53", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3296154d6ee573ef3242694aa4f01e208a4bc585a2fb67e20eb629d4fc82af53" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]    Compiling crossbeam-deque v0.8.7
[INFO] [stderr]    Compiling libc v0.2.98
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling stlslicer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `read_to_string`
[INFO] [stdout]  --> src/main.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::{File, read_to_string};
[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: `BufWriter`
[INFO] [stdout]  --> src/main.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::{BufReader, Read, BufWriter};
[INFO] [stdout]   |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/main.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::str::FromStr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]   --> src/main.rs:53:16
[INFO] [stdout]    |
[INFO] [stdout] 53 |         return ((self.x-other.x).abs() < EPSILON && (self.y-other.y).abs() < EPSILON);//&& (self.z-other.z).abs() < EPSILON)
[INFO] [stdout]    |                ^                                                                    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 53 -         return ((self.x-other.x).abs() < EPSILON && (self.y-other.y).abs() < EPSILON);//&& (self.z-other.z).abs() < EPSILON)
[INFO] [stdout] 53 +         return (self.x-other.x).abs() < EPSILON && (self.y-other.y).abs() < EPSILON;//&& (self.z-other.z).abs() < EPSILON)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/main.rs:185:62
[INFO] [stdout]     |
[INFO] [stdout] 185 |             if (minz as f64) < global_min_z { global_min_z = (minz as f64) };
[INFO] [stdout]     |                                                              ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 185 -             if (minz as f64) < global_min_z { global_min_z = (minz as f64) };
[INFO] [stdout] 185 +             if (minz as f64) < global_min_z { global_min_z = minz as f64 };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/main.rs:186:62
[INFO] [stdout]     |
[INFO] [stdout] 186 |             if (maxz as f64) > global_max_z { global_max_z = (maxz as f64)};
[INFO] [stdout]     |                                                              ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 186 -             if (maxz as f64) > global_max_z { global_max_z = (maxz as f64)};
[INFO] [stdout] 186 +             if (maxz as f64) > global_max_z { global_max_z = maxz as f64};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:264:124
[INFO] [stdout]     |
[INFO] [stdout] 264 | ...] as f64) { return (mid + 1) as isize } else if (key < self.slices[mid] as f64) { hi = mid - 1 } else { lo = mid + 1 }
[INFO] [stdout]     |                                                    ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 264 -             if (key > self.slices[mid] as f64) & (key < self.slices[mid + 1] as f64) { return (mid + 1) as isize } else if (key < self.slices[mid] as f64) { hi = mid - 1 } else { lo = mid + 1 }
[INFO] [stdout] 264 +             if (key > self.slices[mid] as f64) & (key < self.slices[mid + 1] as f64) { return (mid + 1) as isize } else if key < self.slices[mid] as f64 { hi = mid - 1 } else { lo = mid + 1 }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:279:154
[INFO] [stdout]     |
[INFO] [stdout] 279 | ...] as f64) { return (mid - 1) as isize } else if (key < self.slices[mid] as f64) { hi = mid - 1 } else { lo = mid + 1 }
[INFO] [stdout]     |                                                    ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 279 -             if mid < 1 { return -1 } else if (key > self.slices[mid - 1] as f64) & (key < self.slices[mid] as f64) { return (mid - 1) as isize } else if (key < self.slices[mid] as f64) { hi = mid - 1 } else { lo = mid + 1 }
[INFO] [stdout] 279 +             if mid < 1 { return -1 } else if (key > self.slices[mid - 1] as f64) & (key < self.slices[mid] as f64) { return (mid - 1) as isize } else if key < self.slices[mid] as f64 { hi = mid - 1 } else { lo = mid + 1 }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:321:16
[INFO] [stdout]     |
[INFO] [stdout] 321 |             if (ip1.isValid() && ip2.isValid()) { StlFileSlicer::help_push_into_list(ip1, ip2,  edges, &mut ip_temp)};
[INFO] [stdout]     |                ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 321 -             if (ip1.isValid() && ip2.isValid()) { StlFileSlicer::help_push_into_list(ip1, ip2,  edges, &mut ip_temp)};
[INFO] [stdout] 321 +             if ip1.isValid() && ip2.isValid() { StlFileSlicer::help_push_into_list(ip1, ip2,  edges, &mut ip_temp)};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:322:16
[INFO] [stdout]     |
[INFO] [stdout] 322 |             if (ip3.isValid() && ip2.isValid()) { StlFileSlicer::help_push_into_list(ip2, ip3,  edges, &mut ip_temp)};
[INFO] [stdout]     |                ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 322 -             if (ip3.isValid() && ip2.isValid()) { StlFileSlicer::help_push_into_list(ip2, ip3,  edges, &mut ip_temp)};
[INFO] [stdout] 322 +             if ip3.isValid() && ip2.isValid() { StlFileSlicer::help_push_into_list(ip2, ip3,  edges, &mut ip_temp)};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:323:16
[INFO] [stdout]     |
[INFO] [stdout] 323 |             if (ip3.isValid() && ip1.isValid()) { StlFileSlicer::help_push_into_list(ip3, ip1,  edges, &mut ip_temp)};
[INFO] [stdout]     |                ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 323 -             if (ip3.isValid() && ip1.isValid()) { StlFileSlicer::help_push_into_list(ip3, ip1,  edges, &mut ip_temp)};
[INFO] [stdout] 323 +             if ip3.isValid() && ip1.isValid() { StlFileSlicer::help_push_into_list(ip3, ip1,  edges, &mut ip_temp)};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:408:16
[INFO] [stdout]     |
[INFO] [stdout] 408 | ...   if (ip1.isValid() && ip2.isValid()) { StlFileSlicer::help_push_into_hashmap(ip1, ip2, points_map, edges, intersection_points)};
[INFO] [stdout]     |          ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 408 -             if (ip1.isValid() && ip2.isValid()) { StlFileSlicer::help_push_into_hashmap(ip1, ip2, points_map, edges, intersection_points)};
[INFO] [stdout] 408 +             if ip1.isValid() && ip2.isValid() { StlFileSlicer::help_push_into_hashmap(ip1, ip2, points_map, edges, intersection_points)};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:409:16
[INFO] [stdout]     |
[INFO] [stdout] 409 | ...   if (ip3.isValid() && ip2.isValid()) { StlFileSlicer::help_push_into_hashmap(ip2, ip3, points_map, edges, intersection_points)};
[INFO] [stdout]     |          ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 409 -             if (ip3.isValid() && ip2.isValid()) { StlFileSlicer::help_push_into_hashmap(ip2, ip3, points_map, edges, intersection_points)};
[INFO] [stdout] 409 +             if ip3.isValid() && ip2.isValid() { StlFileSlicer::help_push_into_hashmap(ip2, ip3, points_map, edges, intersection_points)};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:410:16
[INFO] [stdout]     |
[INFO] [stdout] 410 | ...   if (ip3.isValid() && ip1.isValid()) { StlFileSlicer::help_push_into_hashmap(ip3, ip1, points_map, edges, intersection_points)};
[INFO] [stdout]     |          ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 410 -             if (ip3.isValid() && ip1.isValid()) { StlFileSlicer::help_push_into_hashmap(ip3, ip1, points_map, edges, intersection_points)};
[INFO] [stdout] 410 +             if ip3.isValid() && ip1.isValid() { StlFileSlicer::help_push_into_hashmap(ip3, ip1, points_map, edges, intersection_points)};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]    --> src/main.rs:501:27
[INFO] [stdout]     |
[INFO] [stdout] 501 |                     while (!marked[vertices[next][0]] || !marked[vertices[next][1]]) {
[INFO] [stdout]     |                           ^                                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 501 -                     while (!marked[vertices[next][0]] || !marked[vertices[next][1]]) {
[INFO] [stdout] 501 +                     while !marked[vertices[next][0]] || !marked[vertices[next][1]] {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:710:24
[INFO] [stdout]     |
[INFO] [stdout] 710 |                     if (orientation.abs() > mvo) {
[INFO] [stdout]     |                        ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 710 -                     if (orientation.abs() > mvo) {
[INFO] [stdout] 710 +                     if orientation.abs() > mvo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rayon::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:151:13
[INFO] [stdout]     |
[INFO] [stdout] 151 |         let mut file_buffer = File::open(filename).expect("no such file found");
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:191:17
[INFO] [stdout]     |
[INFO] [stdout] 191 |             let mut tri = Triangle {
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |         for i in 0..num_tri as usize {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:237:13
[INFO] [stdout]     |
[INFO] [stdout] 237 |         for i in 0..self.slices.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_pt`
[INFO] [stdout]    --> src/main.rs:450:36
[INFO] [stdout]     |
[INFO] [stdout] 450 |     pub fn generate_path_for_layer(start_pt: &u32, points: &Vec<Point>, edges:&Vec<[usize; 2]>,
[INFO] [stdout]     |                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_pt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first_point`
[INFO] [stdout]    --> src/main.rs:462:13
[INFO] [stdout]     |
[INFO] [stdout] 462 |         let first_point = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_point`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:489:17
[INFO] [stdout]     |
[INFO] [stdout] 489 |             for i in 0..points.len() {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:566:13
[INFO] [stdout]     |
[INFO] [stdout] 566 |         let mut tic = Instant::now();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:567:13
[INFO] [stdout]     |
[INFO] [stdout] 567 |         let mut tocunique = tic.elapsed();
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:572:17
[INFO] [stdout]     |
[INFO] [stdout] 572 |             let mut tic = Instant::now();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:578:17
[INFO] [stdout]     |
[INFO] [stdout] 578 |             let mut tic = Instant::now();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:551:13
[INFO] [stdout]     |
[INFO] [stdout] 551 |         for i in 0..self.slices.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:558:13
[INFO] [stdout]     |
[INFO] [stdout] 558 |         for i in 0..100000{
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:605:17
[INFO] [stdout]     |
[INFO] [stdout] 605 |             let mut single_loop:Vec<Point> = Vec::with_capacity(20000);
[INFO] [stdout]     |                 ----^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:603:13
[INFO] [stdout]     |
[INFO] [stdout] 603 |         for i in 0..self.slices.len(){
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:638:17
[INFO] [stdout]     |
[INFO] [stdout] 638 |             for i in 0..100000{
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:727:13
[INFO] [stdout]     |
[INFO] [stdout] 727 |         let mut file = File::create(filename).expect("can't create file");
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `info` is never read
[INFO] [stdout]   --> src/main.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 94 | struct StlFile{
[INFO] [stdout]    |        ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 97 |     info: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: associated function `new` is never used
[INFO] [stdout]    --> src/main.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl StlFile {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn new(points:Vec<f64>)->StlFile{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `calc_intersection_line_plane_layer_mem_hungry`, `help_push_into_list`, and `help_remove_duplicates` are never used
[INFO] [stdout]    --> src/main.rs:301:12
[INFO] [stdout]     |
[INFO] [stdout] 218 | impl StlFileSlicer {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn calc_intersection_line_plane_layer_mem_hungry(&self, triangles_in_layer: &Vec<usize>, zvalue: f64, intersection_points: ...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     fn help_push_into_list(ip1:Point, ip2:Point, edges: &mut Vec<[usize;2]>, intersection_points: &mut Vec<Point>){
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     fn help_remove_duplicates(intersection_points: &mut Vec<Point>, edges: &mut Vec<[usize;2]>, points_map: &mut Vec<usize>, points...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `isValid` should have a snake case name
[INFO] [stdout]   --> src/main.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn isValid(&self)->bool{
[INFO] [stdout]    |            ^^^^^^^ help: convert the identifier to snake case: `is_valid`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/main.rs:71:18
[INFO] [stdout]    |
[INFO] [stdout] 71 |             pp = transmute::<[u8;8],u64>([x[2],x[1],x[0],x[3],y[1],y[2],y[0],y[3]]);
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 71 -             pp = transmute::<[u8;8],u64>([x[2],x[1],x[0],x[3],y[1],y[2],y[0],y[3]]);
[INFO] [stdout] 71 +             pp = u64::from_ne_bytes([x[2],x[1],x[0],x[3],y[1],y[2],y[0],y[3]]);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/main.rs:176:40
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 unsafe { temp_f32[j] = mem::transmute(data_buffer) };
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 176 -                 unsafe { temp_f32[j] = mem::transmute(data_buffer) };
[INFO] [stdout] 176 +                 unsafe { temp_f32[j] = f32::from_ne_bytes(data_buffer) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/main.rs:357:26
[INFO] [stdout]     |
[INFO] [stdout] 357 |                 index1 = mem::transmute::<[u8;8],usize>([pt1x[3],pt1x[2],pt1y[3],pt1y[2],0,0,0,0]);
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 357 -                 index1 = mem::transmute::<[u8;8],usize>([pt1x[3],pt1x[2],pt1y[3],pt1y[2],0,0,0,0]);
[INFO] [stdout] 357 +                 index1 = usize::from_ne_bytes([pt1x[3],pt1x[2],pt1y[3],pt1y[2],0,0,0,0]);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/main.rs:358:26
[INFO] [stdout]     |
[INFO] [stdout] 358 |                 index2 = mem::transmute::<[u8;8],usize>([pt2x[3],pt2x[2],pt2y[3],pt2y[2],0,0,0,0]);
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 358 -                 index2 = mem::transmute::<[u8;8],usize>([pt2x[3],pt2x[2],pt2y[3],pt2y[2],0,0,0,0]);
[INFO] [stdout] 358 +                 index2 = usize::from_ne_bytes([pt2x[3],pt2x[2],pt2y[3],pt2y[2],0,0,0,0]);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:753:25
[INFO] [stdout]     |
[INFO] [stdout] 753 |                         write!(file3, "{}\n", path[k]);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 753 |                         let _ = write!(file3, "{}\n", path[k]);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:755:21
[INFO] [stdout]     |
[INFO] [stdout] 755 |                     write!(file3, "NAN,NAN,NAN\n");
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 755 |                     let _ = write!(file3, "NAN,NAN,NAN\n");
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:759:9
[INFO] [stdout]     |
[INFO] [stdout] 759 |         write!(file3, "NAN,NAN,NAN\n");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 759 |         let _ = write!(file3, "NAN,NAN,NAN\n");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.84s
[INFO] running `Command { std: "docker" "inspect" "3296154d6ee573ef3242694aa4f01e208a4bc585a2fb67e20eb629d4fc82af53", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3296154d6ee573ef3242694aa4f01e208a4bc585a2fb67e20eb629d4fc82af53" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling stlslicer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `read_to_string`
[INFO] [stdout]  --> src/main.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::{File, read_to_string};
[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: `BufWriter`
[INFO] [stdout]  --> src/main.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::{BufReader, Read, BufWriter};
[INFO] [stdout]   |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/main.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::str::FromStr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `return` value
[INFO] [stdout]   --> src/main.rs:53:16
[INFO] [stdout]    |
[INFO] [stdout] 53 |         return ((self.x-other.x).abs() < EPSILON && (self.y-other.y).abs() < EPSILON);//&& (self.z-other.z).abs() < EPSILON)
[INFO] [stdout]    |                ^                                                                    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 53 -         return ((self.x-other.x).abs() < EPSILON && (self.y-other.y).abs() < EPSILON);//&& (self.z-other.z).abs() < EPSILON)
[INFO] [stdout] 53 +         return (self.x-other.x).abs() < EPSILON && (self.y-other.y).abs() < EPSILON;//&& (self.z-other.z).abs() < EPSILON)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/main.rs:185:62
[INFO] [stdout]     |
[INFO] [stdout] 185 |             if (minz as f64) < global_min_z { global_min_z = (minz as f64) };
[INFO] [stdout]     |                                                              ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 185 -             if (minz as f64) < global_min_z { global_min_z = (minz as f64) };
[INFO] [stdout] 185 +             if (minz as f64) < global_min_z { global_min_z = minz as f64 };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/main.rs:186:62
[INFO] [stdout]     |
[INFO] [stdout] 186 |             if (maxz as f64) > global_max_z { global_max_z = (maxz as f64)};
[INFO] [stdout]     |                                                              ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 186 -             if (maxz as f64) > global_max_z { global_max_z = (maxz as f64)};
[INFO] [stdout] 186 +             if (maxz as f64) > global_max_z { global_max_z = maxz as f64};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:264:124
[INFO] [stdout]     |
[INFO] [stdout] 264 | ...] as f64) { return (mid + 1) as isize } else if (key < self.slices[mid] as f64) { hi = mid - 1 } else { lo = mid + 1 }
[INFO] [stdout]     |                                                    ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 264 -             if (key > self.slices[mid] as f64) & (key < self.slices[mid + 1] as f64) { return (mid + 1) as isize } else if (key < self.slices[mid] as f64) { hi = mid - 1 } else { lo = mid + 1 }
[INFO] [stdout] 264 +             if (key > self.slices[mid] as f64) & (key < self.slices[mid + 1] as f64) { return (mid + 1) as isize } else if key < self.slices[mid] as f64 { hi = mid - 1 } else { lo = mid + 1 }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:279:154
[INFO] [stdout]     |
[INFO] [stdout] 279 | ...] as f64) { return (mid - 1) as isize } else if (key < self.slices[mid] as f64) { hi = mid - 1 } else { lo = mid + 1 }
[INFO] [stdout]     |                                                    ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 279 -             if mid < 1 { return -1 } else if (key > self.slices[mid - 1] as f64) & (key < self.slices[mid] as f64) { return (mid - 1) as isize } else if (key < self.slices[mid] as f64) { hi = mid - 1 } else { lo = mid + 1 }
[INFO] [stdout] 279 +             if mid < 1 { return -1 } else if (key > self.slices[mid - 1] as f64) & (key < self.slices[mid] as f64) { return (mid - 1) as isize } else if key < self.slices[mid] as f64 { hi = mid - 1 } else { lo = mid + 1 }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:321:16
[INFO] [stdout]     |
[INFO] [stdout] 321 |             if (ip1.isValid() && ip2.isValid()) { StlFileSlicer::help_push_into_list(ip1, ip2,  edges, &mut ip_temp)};
[INFO] [stdout]     |                ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 321 -             if (ip1.isValid() && ip2.isValid()) { StlFileSlicer::help_push_into_list(ip1, ip2,  edges, &mut ip_temp)};
[INFO] [stdout] 321 +             if ip1.isValid() && ip2.isValid() { StlFileSlicer::help_push_into_list(ip1, ip2,  edges, &mut ip_temp)};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:322:16
[INFO] [stdout]     |
[INFO] [stdout] 322 |             if (ip3.isValid() && ip2.isValid()) { StlFileSlicer::help_push_into_list(ip2, ip3,  edges, &mut ip_temp)};
[INFO] [stdout]     |                ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 322 -             if (ip3.isValid() && ip2.isValid()) { StlFileSlicer::help_push_into_list(ip2, ip3,  edges, &mut ip_temp)};
[INFO] [stdout] 322 +             if ip3.isValid() && ip2.isValid() { StlFileSlicer::help_push_into_list(ip2, ip3,  edges, &mut ip_temp)};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:323:16
[INFO] [stdout]     |
[INFO] [stdout] 323 |             if (ip3.isValid() && ip1.isValid()) { StlFileSlicer::help_push_into_list(ip3, ip1,  edges, &mut ip_temp)};
[INFO] [stdout]     |                ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 323 -             if (ip3.isValid() && ip1.isValid()) { StlFileSlicer::help_push_into_list(ip3, ip1,  edges, &mut ip_temp)};
[INFO] [stdout] 323 +             if ip3.isValid() && ip1.isValid() { StlFileSlicer::help_push_into_list(ip3, ip1,  edges, &mut ip_temp)};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:408:16
[INFO] [stdout]     |
[INFO] [stdout] 408 | ...   if (ip1.isValid() && ip2.isValid()) { StlFileSlicer::help_push_into_hashmap(ip1, ip2, points_map, edges, intersection_points)};
[INFO] [stdout]     |          ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 408 -             if (ip1.isValid() && ip2.isValid()) { StlFileSlicer::help_push_into_hashmap(ip1, ip2, points_map, edges, intersection_points)};
[INFO] [stdout] 408 +             if ip1.isValid() && ip2.isValid() { StlFileSlicer::help_push_into_hashmap(ip1, ip2, points_map, edges, intersection_points)};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:409:16
[INFO] [stdout]     |
[INFO] [stdout] 409 | ...   if (ip3.isValid() && ip2.isValid()) { StlFileSlicer::help_push_into_hashmap(ip2, ip3, points_map, edges, intersection_points)};
[INFO] [stdout]     |          ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 409 -             if (ip3.isValid() && ip2.isValid()) { StlFileSlicer::help_push_into_hashmap(ip2, ip3, points_map, edges, intersection_points)};
[INFO] [stdout] 409 +             if ip3.isValid() && ip2.isValid() { StlFileSlicer::help_push_into_hashmap(ip2, ip3, points_map, edges, intersection_points)};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:410:16
[INFO] [stdout]     |
[INFO] [stdout] 410 | ...   if (ip3.isValid() && ip1.isValid()) { StlFileSlicer::help_push_into_hashmap(ip3, ip1, points_map, edges, intersection_points)};
[INFO] [stdout]     |          ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 410 -             if (ip3.isValid() && ip1.isValid()) { StlFileSlicer::help_push_into_hashmap(ip3, ip1, points_map, edges, intersection_points)};
[INFO] [stdout] 410 +             if ip3.isValid() && ip1.isValid() { StlFileSlicer::help_push_into_hashmap(ip3, ip1, points_map, edges, intersection_points)};
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]    --> src/main.rs:501:27
[INFO] [stdout]     |
[INFO] [stdout] 501 |                     while (!marked[vertices[next][0]] || !marked[vertices[next][1]]) {
[INFO] [stdout]     |                           ^                                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 501 -                     while (!marked[vertices[next][0]] || !marked[vertices[next][1]]) {
[INFO] [stdout] 501 +                     while !marked[vertices[next][0]] || !marked[vertices[next][1]] {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:710:24
[INFO] [stdout]     |
[INFO] [stdout] 710 |                     if (orientation.abs() > mvo) {
[INFO] [stdout]     |                        ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 710 -                     if (orientation.abs() > mvo) {
[INFO] [stdout] 710 +                     if orientation.abs() > mvo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rayon::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:151:13
[INFO] [stdout]     |
[INFO] [stdout] 151 |         let mut file_buffer = File::open(filename).expect("no such file found");
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:191:17
[INFO] [stdout]     |
[INFO] [stdout] 191 |             let mut tri = Triangle {
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |         for i in 0..num_tri as usize {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:237:13
[INFO] [stdout]     |
[INFO] [stdout] 237 |         for i in 0..self.slices.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_pt`
[INFO] [stdout]    --> src/main.rs:450:36
[INFO] [stdout]     |
[INFO] [stdout] 450 |     pub fn generate_path_for_layer(start_pt: &u32, points: &Vec<Point>, edges:&Vec<[usize; 2]>,
[INFO] [stdout]     |                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_pt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first_point`
[INFO] [stdout]    --> src/main.rs:462:13
[INFO] [stdout]     |
[INFO] [stdout] 462 |         let first_point = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_point`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:489:17
[INFO] [stdout]     |
[INFO] [stdout] 489 |             for i in 0..points.len() {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:566:13
[INFO] [stdout]     |
[INFO] [stdout] 566 |         let mut tic = Instant::now();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:567:13
[INFO] [stdout]     |
[INFO] [stdout] 567 |         let mut tocunique = tic.elapsed();
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:572:17
[INFO] [stdout]     |
[INFO] [stdout] 572 |             let mut tic = Instant::now();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:578:17
[INFO] [stdout]     |
[INFO] [stdout] 578 |             let mut tic = Instant::now();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:551:13
[INFO] [stdout]     |
[INFO] [stdout] 551 |         for i in 0..self.slices.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:558:13
[INFO] [stdout]     |
[INFO] [stdout] 558 |         for i in 0..100000{
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:605:17
[INFO] [stdout]     |
[INFO] [stdout] 605 |             let mut single_loop:Vec<Point> = Vec::with_capacity(20000);
[INFO] [stdout]     |                 ----^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:603:13
[INFO] [stdout]     |
[INFO] [stdout] 603 |         for i in 0..self.slices.len(){
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:638:17
[INFO] [stdout]     |
[INFO] [stdout] 638 |             for i in 0..100000{
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:727:13
[INFO] [stdout]     |
[INFO] [stdout] 727 |         let mut file = File::create(filename).expect("can't create file");
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `info` is never read
[INFO] [stdout]   --> src/main.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 94 | struct StlFile{
[INFO] [stdout]    |        ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 97 |     info: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: associated function `new` is never used
[INFO] [stdout]    --> src/main.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl StlFile {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn new(points:Vec<f64>)->StlFile{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `calc_intersection_line_plane_layer_mem_hungry`, `help_push_into_list`, and `help_remove_duplicates` are never used
[INFO] [stdout]    --> src/main.rs:301:12
[INFO] [stdout]     |
[INFO] [stdout] 218 | impl StlFileSlicer {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn calc_intersection_line_plane_layer_mem_hungry(&self, triangles_in_layer: &Vec<usize>, zvalue: f64, intersection_points: ...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     fn help_push_into_list(ip1:Point, ip2:Point, edges: &mut Vec<[usize;2]>, intersection_points: &mut Vec<Point>){
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     fn help_remove_duplicates(intersection_points: &mut Vec<Point>, edges: &mut Vec<[usize;2]>, points_map: &mut Vec<usize>, points...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `isValid` should have a snake case name
[INFO] [stdout]   --> src/main.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn isValid(&self)->bool{
[INFO] [stdout]    |            ^^^^^^^ help: convert the identifier to snake case: `is_valid`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/main.rs:71:18
[INFO] [stdout]    |
[INFO] [stdout] 71 |             pp = transmute::<[u8;8],u64>([x[2],x[1],x[0],x[3],y[1],y[2],y[0],y[3]]);
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 71 -             pp = transmute::<[u8;8],u64>([x[2],x[1],x[0],x[3],y[1],y[2],y[0],y[3]]);
[INFO] [stdout] 71 +             pp = u64::from_ne_bytes([x[2],x[1],x[0],x[3],y[1],y[2],y[0],y[3]]);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/main.rs:176:40
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 unsafe { temp_f32[j] = mem::transmute(data_buffer) };
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 176 -                 unsafe { temp_f32[j] = mem::transmute(data_buffer) };
[INFO] [stdout] 176 +                 unsafe { temp_f32[j] = f32::from_ne_bytes(data_buffer) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/main.rs:357:26
[INFO] [stdout]     |
[INFO] [stdout] 357 |                 index1 = mem::transmute::<[u8;8],usize>([pt1x[3],pt1x[2],pt1y[3],pt1y[2],0,0,0,0]);
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 357 -                 index1 = mem::transmute::<[u8;8],usize>([pt1x[3],pt1x[2],pt1y[3],pt1y[2],0,0,0,0]);
[INFO] [stdout] 357 +                 index1 = usize::from_ne_bytes([pt1x[3],pt1x[2],pt1y[3],pt1y[2],0,0,0,0]);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/main.rs:358:26
[INFO] [stdout]     |
[INFO] [stdout] 358 |                 index2 = mem::transmute::<[u8;8],usize>([pt2x[3],pt2x[2],pt2y[3],pt2y[2],0,0,0,0]);
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 358 -                 index2 = mem::transmute::<[u8;8],usize>([pt2x[3],pt2x[2],pt2y[3],pt2y[2],0,0,0,0]);
[INFO] [stdout] 358 +                 index2 = usize::from_ne_bytes([pt2x[3],pt2x[2],pt2y[3],pt2y[2],0,0,0,0]);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:753:25
[INFO] [stdout]     |
[INFO] [stdout] 753 |                         write!(file3, "{}\n", path[k]);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 753 |                         let _ = write!(file3, "{}\n", path[k]);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:755:21
[INFO] [stdout]     |
[INFO] [stdout] 755 |                     write!(file3, "NAN,NAN,NAN\n");
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 755 |                     let _ = write!(file3, "NAN,NAN,NAN\n");
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:759:9
[INFO] [stdout]     |
[INFO] [stdout] 759 |         write!(file3, "NAN,NAN,NAN\n");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 759 |         let _ = write!(file3, "NAN,NAN,NAN\n");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.34s
[INFO] running `Command { std: "docker" "inspect" "3296154d6ee573ef3242694aa4f01e208a4bc585a2fb67e20eb629d4fc82af53", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3296154d6ee573ef3242694aa4f01e208a4bc585a2fb67e20eb629d4fc82af53" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `read_to_string`
[INFO] [stderr]  --> src/main.rs:4:21
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::fs::{File, read_to_string};
[INFO] [stderr]   |                     ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BufWriter`
[INFO] [stderr]  --> src/main.rs:5:32
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::io::{BufReader, Read, BufWriter};
[INFO] [stderr]   |                                ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Duration`
[INFO] [stderr]   --> src/main.rs:10:17
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::time::{Duration, Instant};
[INFO] [stderr]    |                 ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str::FromStr`
[INFO] [stderr]   --> src/main.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use std::str::FromStr;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `return` value
[INFO] [stderr]   --> src/main.rs:53:16
[INFO] [stderr]    |
[INFO] [stderr] 53 |         return ((self.x-other.x).abs() < EPSILON && (self.y-other.y).abs() < EPSILON);//&& (self.z-other.z).abs() < EPSILON)
[INFO] [stderr]    |                ^                                                                    ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 53 -         return ((self.x-other.x).abs() < EPSILON && (self.y-other.y).abs() < EPSILON);//&& (self.z-other.z).abs() < EPSILON)
[INFO] [stderr] 53 +         return (self.x-other.x).abs() < EPSILON && (self.y-other.y).abs() < EPSILON;//&& (self.z-other.z).abs() < EPSILON)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/main.rs:185:62
[INFO] [stderr]     |
[INFO] [stderr] 185 |             if (minz as f64) < global_min_z { global_min_z = (minz as f64) };
[INFO] [stderr]     |                                                              ^           ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 185 -             if (minz as f64) < global_min_z { global_min_z = (minz as f64) };
[INFO] [stderr] 185 +             if (minz as f64) < global_min_z { global_min_z = minz as f64 };
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/main.rs:186:62
[INFO] [stderr]     |
[INFO] [stderr] 186 |             if (maxz as f64) > global_max_z { global_max_z = (maxz as f64)};
[INFO] [stderr]     |                                                              ^           ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 186 -             if (maxz as f64) > global_max_z { global_max_z = (maxz as f64)};
[INFO] [stderr] 186 +             if (maxz as f64) > global_max_z { global_max_z = maxz as f64};
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/main.rs:264:124
[INFO] [stderr]     |
[INFO] [stderr] 264 | ...] as f64) { return (mid + 1) as isize } else if (key < self.slices[mid] as f64) { hi = mid - 1 } else { lo = mid + 1 }
[INFO] [stderr]     |                                                    ^                             ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 264 -             if (key > self.slices[mid] as f64) & (key < self.slices[mid + 1] as f64) { return (mid + 1) as isize } else if (key < self.slices[mid] as f64) { hi = mid - 1 } else { lo = mid + 1 }
[INFO] [stderr] 264 +             if (key > self.slices[mid] as f64) & (key < self.slices[mid + 1] as f64) { return (mid + 1) as isize } else if key < self.slices[mid] as f64 { hi = mid - 1 } else { lo = mid + 1 }
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/main.rs:279:154
[INFO] [stderr]     |
[INFO] [stderr] 279 | ...] as f64) { return (mid - 1) as isize } else if (key < self.slices[mid] as f64) { hi = mid - 1 } else { lo = mid + 1 }
[INFO] [stderr]     |                                                    ^                             ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 279 -             if mid < 1 { return -1 } else if (key > self.slices[mid - 1] as f64) & (key < self.slices[mid] as f64) { return (mid - 1) as isize } else if (key < self.slices[mid] as f64) { hi = mid - 1 } else { lo = mid + 1 }
[INFO] [stderr] 279 +             if mid < 1 { return -1 } else if (key > self.slices[mid - 1] as f64) & (key < self.slices[mid] as f64) { return (mid - 1) as isize } else if key < self.slices[mid] as f64 { hi = mid - 1 } else { lo = mid + 1 }
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/main.rs:321:16
[INFO] [stderr]     |
[INFO] [stderr] 321 |             if (ip1.isValid() && ip2.isValid()) { StlFileSlicer::help_push_into_list(ip1, ip2,  edges, &mut ip_temp)};
[INFO] [stderr]     |                ^                              ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 321 -             if (ip1.isValid() && ip2.isValid()) { StlFileSlicer::help_push_into_list(ip1, ip2,  edges, &mut ip_temp)};
[INFO] [stderr] 321 +             if ip1.isValid() && ip2.isValid() { StlFileSlicer::help_push_into_list(ip1, ip2,  edges, &mut ip_temp)};
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/main.rs:322:16
[INFO] [stderr]     |
[INFO] [stderr] 322 |             if (ip3.isValid() && ip2.isValid()) { StlFileSlicer::help_push_into_list(ip2, ip3,  edges, &mut ip_temp)};
[INFO] [stderr]     |                ^                              ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 322 -             if (ip3.isValid() && ip2.isValid()) { StlFileSlicer::help_push_into_list(ip2, ip3,  edges, &mut ip_temp)};
[INFO] [stderr] 322 +             if ip3.isValid() && ip2.isValid() { StlFileSlicer::help_push_into_list(ip2, ip3,  edges, &mut ip_temp)};
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/main.rs:323:16
[INFO] [stderr]     |
[INFO] [stderr] 323 |             if (ip3.isValid() && ip1.isValid()) { StlFileSlicer::help_push_into_list(ip3, ip1,  edges, &mut ip_temp)};
[INFO] [stderr]     |                ^                              ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 323 -             if (ip3.isValid() && ip1.isValid()) { StlFileSlicer::help_push_into_list(ip3, ip1,  edges, &mut ip_temp)};
[INFO] [stderr] 323 +             if ip3.isValid() && ip1.isValid() { StlFileSlicer::help_push_into_list(ip3, ip1,  edges, &mut ip_temp)};
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/main.rs:408:16
[INFO] [stderr]     |
[INFO] [stderr] 408 | ...   if (ip1.isValid() && ip2.isValid()) { StlFileSlicer::help_push_into_hashmap(ip1, ip2, points_map, edges, intersection_points)};
[INFO] [stderr]     |          ^                              ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 408 -             if (ip1.isValid() && ip2.isValid()) { StlFileSlicer::help_push_into_hashmap(ip1, ip2, points_map, edges, intersection_points)};
[INFO] [stderr] 408 +             if ip1.isValid() && ip2.isValid() { StlFileSlicer::help_push_into_hashmap(ip1, ip2, points_map, edges, intersection_points)};
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/main.rs:409:16
[INFO] [stderr]     |
[INFO] [stderr] 409 | ...   if (ip3.isValid() && ip2.isValid()) { StlFileSlicer::help_push_into_hashmap(ip2, ip3, points_map, edges, intersection_points)};
[INFO] [stderr]     |          ^                              ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 409 -             if (ip3.isValid() && ip2.isValid()) { StlFileSlicer::help_push_into_hashmap(ip2, ip3, points_map, edges, intersection_points)};
[INFO] [stderr] 409 +             if ip3.isValid() && ip2.isValid() { StlFileSlicer::help_push_into_hashmap(ip2, ip3, points_map, edges, intersection_points)};
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/main.rs:410:16
[INFO] [stderr]     |
[INFO] [stderr] 410 | ...   if (ip3.isValid() && ip1.isValid()) { StlFileSlicer::help_push_into_hashmap(ip3, ip1, points_map, edges, intersection_points)};
[INFO] [stderr]     |          ^                              ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 410 -             if (ip3.isValid() && ip1.isValid()) { StlFileSlicer::help_push_into_hashmap(ip3, ip1, points_map, edges, intersection_points)};
[INFO] [stderr] 410 +             if ip3.isValid() && ip1.isValid() { StlFileSlicer::help_push_into_hashmap(ip3, ip1, points_map, edges, intersection_points)};
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `while` condition
[INFO] [stderr]    --> src/main.rs:501:27
[INFO] [stderr]     |
[INFO] [stderr] 501 |                     while (!marked[vertices[next][0]] || !marked[vertices[next][1]]) {
[INFO] [stderr]     |                           ^                                                        ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 501 -                     while (!marked[vertices[next][0]] || !marked[vertices[next][1]]) {
[INFO] [stderr] 501 +                     while !marked[vertices[next][0]] || !marked[vertices[next][1]] {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/main.rs:710:24
[INFO] [stderr]     |
[INFO] [stderr] 710 |                     if (orientation.abs() > mvo) {
[INFO] [stderr]     |                        ^                       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 710 -                     if (orientation.abs() > mvo) {
[INFO] [stderr] 710 +                     if orientation.abs() > mvo {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rayon::prelude`
[INFO] [stderr]  --> src/main.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use rayon::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:151:13
[INFO] [stderr]     |
[INFO] [stderr] 151 |         let mut file_buffer = File::open(filename).expect("no such file found");
[INFO] [stderr]     |             ----^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:191:17
[INFO] [stderr]     |
[INFO] [stderr] 191 |             let mut tri = Triangle {
[INFO] [stderr]     |                 ----^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/main.rs:168:13
[INFO] [stderr]     |
[INFO] [stderr] 168 |         for i in 0..num_tri as usize {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/main.rs:237:13
[INFO] [stderr]     |
[INFO] [stderr] 237 |         for i in 0..self.slices.len() {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `start_pt`
[INFO] [stderr]    --> src/main.rs:450:36
[INFO] [stderr]     |
[INFO] [stderr] 450 |     pub fn generate_path_for_layer(start_pt: &u32, points: &Vec<Point>, edges:&Vec<[usize; 2]>,
[INFO] [stderr]     |                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_pt`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `first_point`
[INFO] [stderr]    --> src/main.rs:462:13
[INFO] [stderr]     |
[INFO] [stderr] 462 |         let first_point = 0;
[INFO] [stderr]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_point`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/main.rs:489:17
[INFO] [stderr]     |
[INFO] [stderr] 489 |             for i in 0..points.len() {
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:566:13
[INFO] [stderr]     |
[INFO] [stderr] 566 |         let mut tic = Instant::now();
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:567:13
[INFO] [stderr]     |
[INFO] [stderr] 567 |         let mut tocunique = tic.elapsed();
[INFO] [stderr]     |             ----^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:572:17
[INFO] [stderr]     |
[INFO] [stderr] 572 |             let mut tic = Instant::now();
[INFO] [stderr]     |                 ----^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:578:17
[INFO] [stderr]     |
[INFO] [stderr] 578 |             let mut tic = Instant::now();
[INFO] [stderr]     |                 ----^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/main.rs:551:13
[INFO] [stderr]     |
[INFO] [stderr] 551 |         for i in 0..self.slices.len() {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/main.rs:558:13
[INFO] [stderr]     |
[INFO] [stderr] 558 |         for i in 0..100000{
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:605:17
[INFO] [stderr]     |
[INFO] [stderr] 605 |             let mut single_loop:Vec<Point> = Vec::with_capacity(20000);
[INFO] [stderr]     |                 ----^^^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/main.rs:603:13
[INFO] [stderr]     |
[INFO] [stderr] 603 |         for i in 0..self.slices.len(){
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/main.rs:638:17
[INFO] [stderr]     |
[INFO] [stderr] 638 |             for i in 0..100000{
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:727:13
[INFO] [stderr]     |
[INFO] [stderr] 727 |         let mut file = File::create(filename).expect("can't create file");
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: field `info` is never read
[INFO] [stderr]   --> src/main.rs:97:5
[INFO] [stderr]    |
[INFO] [stderr] 94 | struct StlFile{
[INFO] [stderr]    |        ------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 97 |     info:String,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/main.rs:108:12
[INFO] [stderr]     |
[INFO] [stderr] 104 | impl StlFile {
[INFO] [stderr]     | ------------ associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 108 |     pub fn new(points:Vec<f64>)->StlFile{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `calc_intersection_line_plane_layer_mem_hungry`, `help_push_into_list`, and `help_remove_duplicates` are never used
[INFO] [stderr]    --> src/main.rs:301:12
[INFO] [stderr]     |
[INFO] [stderr] 218 | impl StlFileSlicer {
[INFO] [stderr]     | ------------------ associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 301 |     pub fn calc_intersection_line_plane_layer_mem_hungry(&self, triangles_in_layer: &Vec<usize>, zvalue: f64, intersection_points: ...
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 331 |     fn help_push_into_list(ip1:Point, ip2:Point, edges: &mut Vec<[usize;2]>, intersection_points: &mut Vec<Point>){
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 338 |     fn help_remove_duplicates(intersection_points: &mut Vec<Point>, edges: &mut Vec<[usize;2]>, points_map: &mut Vec<usize>, points...
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `isValid` should have a snake case name
[INFO] [stderr]   --> src/main.rs:38:12
[INFO] [stderr]    |
[INFO] [stderr] 38 |     pub fn isValid(&self)->bool{
[INFO] [stderr]    |            ^^^^^^^ help: convert the identifier to snake case: `is_valid`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]   --> src/main.rs:71:18
[INFO] [stderr]    |
[INFO] [stderr] 71 |             pp = transmute::<[u8;8],u64>([x[2],x[1],x[0],x[3],y[1],y[2],y[0],y[3]]);
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stderr]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stderr] help: replace this with
[INFO] [stderr]    |
[INFO] [stderr] 71 -             pp = transmute::<[u8;8],u64>([x[2],x[1],x[0],x[3],y[1],y[2],y[0],y[3]]);
[INFO] [stderr] 71 +             pp = u64::from_ne_bytes([x[2],x[1],x[0],x[3],y[1],y[2],y[0],y[3]]);
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]    --> src/main.rs:176:40
[INFO] [stderr]     |
[INFO] [stderr] 176 |                 unsafe { temp_f32[j] = mem::transmute(data_buffer) };
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stderr] help: replace this with
[INFO] [stderr]     |
[INFO] [stderr] 176 -                 unsafe { temp_f32[j] = mem::transmute(data_buffer) };
[INFO] [stderr] 176 +                 unsafe { temp_f32[j] = f32::from_ne_bytes(data_buffer) };
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]    --> src/main.rs:357:26
[INFO] [stderr]     |
[INFO] [stderr] 357 |                 index1 = mem::transmute::<[u8;8],usize>([pt1x[3],pt1x[2],pt1y[3],pt1y[2],0,0,0,0]);
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stderr] help: replace this with
[INFO] [stderr]     |
[INFO] [stderr] 357 -                 index1 = mem::transmute::<[u8;8],usize>([pt1x[3],pt1x[2],pt1y[3],pt1y[2],0,0,0,0]);
[INFO] [stderr] 357 +                 index1 = usize::from_ne_bytes([pt1x[3],pt1x[2],pt1y[3],pt1y[2],0,0,0,0]);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]    --> src/main.rs:358:26
[INFO] [stderr]     |
[INFO] [stderr] 358 |                 index2 = mem::transmute::<[u8;8],usize>([pt2x[3],pt2x[2],pt2y[3],pt2y[2],0,0,0,0]);
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stderr] help: replace this with
[INFO] [stderr]     |
[INFO] [stderr] 358 -                 index2 = mem::transmute::<[u8;8],usize>([pt2x[3],pt2x[2],pt2y[3],pt2y[2],0,0,0,0]);
[INFO] [stderr] 358 +                 index2 = usize::from_ne_bytes([pt2x[3],pt2x[2],pt2y[3],pt2y[2],0,0,0,0]);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/main.rs:753:25
[INFO] [stderr]     |
[INFO] [stderr] 753 |                         write!(file3, "{}\n", path[k]);
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 753 |                         let _ = write!(file3, "{}\n", path[k]);
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/main.rs:755:21
[INFO] [stderr]     |
[INFO] [stderr] 755 |                     write!(file3, "NAN,NAN,NAN\n");
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 755 |                     let _ = write!(file3, "NAN,NAN,NAN\n");
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/main.rs:759:9
[INFO] [stderr]     |
[INFO] [stderr] 759 |         write!(file3, "NAN,NAN,NAN\n");
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 759 |         let _ = write!(file3, "NAN,NAN,NAN\n");
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `stlslicer` (bin "stlslicer" test) generated 46 warnings (run `cargo fix --bin "stlslicer" -p stlslicer --tests` to apply 38 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/stlslicer-124ffa26e79983ca)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "3296154d6ee573ef3242694aa4f01e208a4bc585a2fb67e20eb629d4fc82af53", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3296154d6ee573ef3242694aa4f01e208a4bc585a2fb67e20eb629d4fc82af53", kill_on_drop: false }`
[INFO] [stdout] 3296154d6ee573ef3242694aa4f01e208a4bc585a2fb67e20eb629d4fc82af53
