[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] checking linus131/StlSlicer against master#a26e97be8826d408309fffbd8168362365719f50 for pr-136776
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flinus131%2FStlSlicer" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/linus131/StlSlicer on toolchain a26e97be8826d408309fffbd8168362365719f50
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a26e97be8826d408309fffbd8168362365719f50" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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-6-tc1/source/Cargo.toml
[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" "+a26e97be8826d408309fffbd8168362365719f50" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 5 packages to latest compatible versions
[INFO] [stderr]     Updating crossbeam-deque v0.8.0 -> v0.8.6
[INFO] [stderr]     Updating crossbeam-epoch v0.9.3 -> v0.9.18
[INFO] [stderr]     Updating crossbeam-utils v0.8.3 -> v0.8.21
[INFO] [stderr]     Updating rayon v1.5.0 -> v1.10.0
[INFO] [stderr]     Updating rayon-core v1.9.0 -> v1.12.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+a26e97be8826d408309fffbd8168362365719f50" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 21d5cc459288fdfc69965139486e637a90c0978b0d694d067e18a1cac2c24e04
[INFO] running `Command { std: "docker" "start" "-a" "21d5cc459288fdfc69965139486e637a90c0978b0d694d067e18a1cac2c24e04", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "21d5cc459288fdfc69965139486e637a90c0978b0d694d067e18a1cac2c24e04", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "21d5cc459288fdfc69965139486e637a90c0978b0d694d067e18a1cac2c24e04", kill_on_drop: false }`
[INFO] [stdout] 21d5cc459288fdfc69965139486e637a90c0978b0d694d067e18a1cac2c24e04
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+a26e97be8826d408309fffbd8168362365719f50" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c72cfde1302c388c7481f812f168a8da09ab0526f5aa0bdf30f79101eb58d5b5
[INFO] running `Command { std: "docker" "start" "-a" "c72cfde1302c388c7481f812f168a8da09ab0526f5aa0bdf30f79101eb58d5b5", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling libc v0.2.98
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking 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)]` 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)]` 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 | ...+ 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] 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 | ...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] 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: `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)]` 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)]` 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 | ...+ 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] 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 | ...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] 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: 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)]` on by default
[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)]` 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: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: `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: 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: `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: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: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: 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: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: 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: 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)]` 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: &mut V...
[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_check...
[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)]` on by default
[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)]` on by default
[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)]` 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: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 `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)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info)
[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]     = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info)
[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]     = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info)
[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: 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: `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: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: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: 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: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)]` 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: &mut V...
[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_check...
[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)]` on by default
[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)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info)
[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]     = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info)
[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]     = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.17s
[INFO] running `Command { std: "docker" "inspect" "c72cfde1302c388c7481f812f168a8da09ab0526f5aa0bdf30f79101eb58d5b5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c72cfde1302c388c7481f812f168a8da09ab0526f5aa0bdf30f79101eb58d5b5", kill_on_drop: false }`
[INFO] [stdout] c72cfde1302c388c7481f812f168a8da09ab0526f5aa0bdf30f79101eb58d5b5
