[INFO] cloning repository https://github.com/sarielhp/rust_k_perimeter
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sarielhp/rust_k_perimeter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsarielhp%2Frust_k_perimeter", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsarielhp%2Frust_k_perimeter'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cbab167f32d3dc248695a9a06d3816526aa04a19
[INFO] checking sarielhp/rust_k_perimeter against try#3fada14ee01d755dc8076e611f11bf65b28ffd21 for pr-154971
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsarielhp%2Frust_k_perimeter" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/sarielhp/rust_k_perimeter
[INFO] finished tweaking git repo https://github.com/sarielhp/rust_k_perimeter
[INFO] tweaked toml for git repo https://github.com/sarielhp/rust_k_perimeter written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sarielhp/rust_k_perimeter on toolchain 3fada14ee01d755dc8076e611f11bf65b28ffd21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3fada14ee01d755dc8076e611f11bf65b28ffd21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sarielhp/rust_k_perimeter 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" "+3fada14ee01d755dc8076e611f11bf65b28ffd21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded gobject-sys v0.20.10
[INFO] [stderr]   Downloaded system-deps v7.0.7
[INFO] [stderr]   Downloaded cairo-rs v0.20.12
[INFO] [stderr]   Downloaded version-compare v0.2.1
[INFO] [stderr]   Downloaded cairo-sys-rs v0.20.10
[INFO] [stderr]   Downloaded toml_datetime v1.0.0+spec-1.1.0
[INFO] [stderr]   Downloaded target-lexicon v0.13.3
[INFO] [stderr]   Downloaded toml_edit v0.25.4+spec-1.1.0
[INFO] [stderr]   Downloaded glib-macros v0.20.12
[INFO] [stderr]   Downloaded gio-sys v0.20.10
[INFO] [stderr]   Downloaded glib-sys v0.20.10
[INFO] [stderr]   Downloaded cfg-expr v0.20.7
[INFO] [stderr]   Downloaded glib v0.20.12
[INFO] [stderr]   Downloaded mmap-vec v0.2.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+3fada14ee01d755dc8076e611f11bf65b28ffd21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ea51a3e391d2d4c38f380493ceee81e811795f84ef53b488df859ed8ba036cae
[INFO] running `Command { std: "docker" "start" "-a" "ea51a3e391d2d4c38f380493ceee81e811795f84ef53b488df859ed8ba036cae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ea51a3e391d2d4c38f380493ceee81e811795f84ef53b488df859ed8ba036cae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ea51a3e391d2d4c38f380493ceee81e811795f84ef53b488df859ed8ba036cae", kill_on_drop: false }`
[INFO] [stdout] ea51a3e391d2d4c38f380493ceee81e811795f84ef53b488df859ed8ba036cae
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+3fada14ee01d755dc8076e611f11bf65b28ffd21" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 49f432c73a706b99ea3814d57ef6861f07bc9a520f5de62d0bb73504277f841a
[INFO] running `Command { std: "docker" "start" "-a" "49f432c73a706b99ea3814d57ef6861f07bc9a520f5de62d0bb73504277f841a", kill_on_drop: false }`
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling target-lexicon v0.13.3
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling serde_spanned v1.0.4
[INFO] [stderr]    Compiling version-compare v0.2.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling toml_datetime v1.0.0+spec-1.1.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking uuid v1.22.0
[INFO] [stderr]     Checking num-format v0.4.4
[INFO] [stderr]     Checking memmap2 v0.9.10
[INFO] [stderr]    Compiling cfg-expr v0.20.7
[INFO] [stderr]     Checking mmap-vec v0.2.0
[INFO] [stderr]    Compiling toml_parser v1.0.9+spec-1.1.0
[INFO] [stderr]    Compiling toml v0.9.12+spec-1.1.0
[INFO] [stderr]    Compiling toml_edit v0.25.4+spec-1.1.0
[INFO] [stderr]    Compiling system-deps v7.0.7
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling glib-sys v0.20.10
[INFO] [stderr]    Compiling gobject-sys v0.20.10
[INFO] [stderr]    Compiling gio-sys v0.20.10
[INFO] [stderr]    Compiling cairo-sys-rs v0.20.10
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]    Compiling glib-macros v0.20.12
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking glib v0.20.12
[INFO] [stderr]     Checking cairo-rs v0.20.12
[INFO] [stderr]     Checking rust_k_perimeter v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0583]: file not found for module `point`
[INFO] [stdout]  --> src/main.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | mod point;
[INFO] [stdout]   | ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `point`, create file "src/point.rs" or "src/point/mod.rs"
[INFO] [stdout]   = note: if there is a `mod point` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `polygon`
[INFO] [stdout]  --> src/main.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | mod polygon;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `polygon`, create file "src/polygon.rs" or "src/polygon/mod.rs"
[INFO] [stdout]   = note: if there is a `mod polygon` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `point`
[INFO] [stdout]  --> src/main.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | mod point;
[INFO] [stdout]   | ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `point`, create file "src/point.rs" or "src/point/mod.rs"
[INFO] [stdout]   = note: if there is a `mod point` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `polygon`
[INFO] [stdout]  --> src/main.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | mod polygon;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `polygon`, create file "src/polygon.rs" or "src/polygon/mod.rs"
[INFO] [stdout]   = note: if there is a `mod polygon` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/dp.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub loc: Point2D,
[INFO] [stdout]    |              ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/dp.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub loc: Point2D,
[INFO] [stdout]    |              ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct DPStateKey<Point2D> {
[INFO] [stdout]    |                      +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/dp.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub loc: Point2D,
[INFO] [stdout]    |              ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct DPStateKey<Point2D> {
[INFO] [stdout]    |                      +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:112:60
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn extract_solution<K: Ord>(ctx: &DPContext<K>) -> Vec<Point2D> {
[INFO] [stdout]     |                                                            ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn extract_solution<K: Ord, Point2D>(ctx: &DPContext<K>) -> Vec<Point2D> {
[INFO] [stdout]     |                               +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:191:14
[INFO] [stdout]     |
[INFO] [stdout] 191 |         loc: Point2D,
[INFO] [stdout]     |              ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:209:15
[INFO] [stdout]     |
[INFO] [stdout] 209 |         _loc: Point2D,
[INFO] [stdout]     |               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:232:15
[INFO] [stdout]     |
[INFO] [stdout] 232 |         _loc: Point2D,
[INFO] [stdout]     |               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:251:15
[INFO] [stdout]     |
[INFO] [stdout] 251 |         _loc: Point2D,
[INFO] [stdout]     |               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:266:15
[INFO] [stdout]     |
[INFO] [stdout] 266 |         _loc: Point2D,
[INFO] [stdout]     |               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:288:14
[INFO] [stdout]     |
[INFO] [stdout] 288 |         loc: Point2D,
[INFO] [stdout]     |              ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:312:14
[INFO] [stdout]     |
[INFO] [stdout] 312 |         loc: Point2D,
[INFO] [stdout]     |              ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:336:14
[INFO] [stdout]     |
[INFO] [stdout] 336 |         loc: Point2D,
[INFO] [stdout]     |              ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:363:50
[INFO] [stdout]     |
[INFO] [stdout] 363 |     pub all_left_turns_cache: &'a mut FxHashMap<(Point2D, Point2D), bool>,
[INFO] [stdout]     |                                                  ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 355 | pub struct DPContext<'a, K: Ord, Point2D> {
[INFO] [stdout]     |                                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:363:59
[INFO] [stdout]     |
[INFO] [stdout] 363 |     pub all_left_turns_cache: &'a mut FxHashMap<(Point2D, Point2D), bool>,
[INFO] [stdout]     |                                                           ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 355 | pub struct DPContext<'a, K: Ord, Point2D> {
[INFO] [stdout]     |                                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:364:23
[INFO] [stdout]     |
[INFO] [stdout] 364 |     pub dirs: &'a Vec<Point2D>,
[INFO] [stdout]     |                       ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 355 | pub struct DPContext<'a, K: Ord, Point2D> {
[INFO] [stdout]     |                                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:367:28
[INFO] [stdout]     |
[INFO] [stdout] 367 |     pub bad_in_ch: &'a Vec<Point2D>,
[INFO] [stdout]     |                            ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 355 | pub struct DPContext<'a, K: Ord, Point2D> {
[INFO] [stdout]     |                                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:512:21
[INFO] [stdout]     |
[INFO] [stdout] 512 |     bad_in_ch: &Vec<Point2D>,
[INFO] [stdout]     |                     ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 508 | pub fn minimize_perimeter_dp<S: QueueStrategy, Point2D>(
[INFO] [stdout]     |                                              +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:514:26
[INFO] [stdout]     |
[INFO] [stdout] 514 | ) -> anyhow::Result<(Vec<Point2D>, f64)> { //
[INFO] [stdout]     |                          ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 508 | pub fn minimize_perimeter_dp<S: QueueStrategy, Point2D>(
[INFO] [stdout]     |                                              +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:565:46
[INFO] [stdout]     |
[INFO] [stdout] 565 |     let mut all_left_turns_cache: FxHashMap<(Point2D, Point2D), bool> = FxHashMap::default();
[INFO] [stdout]     |                                              ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 508 | pub fn minimize_perimeter_dp<S: QueueStrategy, Point2D>(
[INFO] [stdout]     |                                              +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:565:55
[INFO] [stdout]     |
[INFO] [stdout] 565 |     let mut all_left_turns_cache: FxHashMap<(Point2D, Point2D), bool> = FxHashMap::default();
[INFO] [stdout]     |                                                       ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 508 | pub fn minimize_perimeter_dp<S: QueueStrategy, Point2D>(
[INFO] [stdout]     |                                              +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/draw.rs:42:34
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn compute_perimeter(poly: &[Point2D]) -> f64 {
[INFO] [stdout]    |                                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/draw.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |     poly: &[Point2D],
[INFO] [stdout]    |             ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/draw.rs:49:18
[INFO] [stdout]    |
[INFO] [stdout] 49 |     poly_circ: &[Point2D],
[INFO] [stdout]    |                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/draw.rs:50:22
[INFO] [stdout]    |
[INFO] [stdout] 50 |     poly_circ_exp: &[Point2D],
[INFO] [stdout]    |                      ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/draw.rs:67:25
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let translate = |p: Point2D| -> (f64, f64) {
[INFO] [stdout]    |                         ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]   --> src/draw.rs:94:56
[INFO] [stdout]    |
[INFO] [stdout] 94 |             let (tx, ty) = translate(Point2D::new(x as CoordType, y as CoordType));
[INFO] [stdout]    |                                                        ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]   --> src/draw.rs:94:72
[INFO] [stdout]    |
[INFO] [stdout] 94 |             let (tx, ty) = translate(Point2D::new(x as CoordType, y as CoordType));
[INFO] [stdout]    |                                                                        ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]   --> src/draw.rs:95:39
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let p = Point2D::new(x as CoordType, y as CoordType);
[INFO] [stdout]    |                                       ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]   --> src/draw.rs:95:55
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let p = Point2D::new(x as CoordType, y as CoordType);
[INFO] [stdout]    |                                                       ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]  --> src/geom.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn vtrans(p: &[Point2D], v: Point2D) -> Vec<Point2D> {
[INFO] [stdout]   |                    ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]  --> src/geom.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn vtrans(p: &[Point2D], v: Point2D) -> Vec<Point2D> {
[INFO] [stdout]   |                                 ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]  --> src/geom.rs:9:49
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn vtrans(p: &[Point2D], v: Point2D) -> Vec<Point2D> {
[INFO] [stdout]   |                                                 ^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn vtrans<Point2D>(p: &[Point2D], v: Point2D) -> Vec<Point2D> {
[INFO] [stdout]   |              +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:13:26
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn is_lefteq_turn(a: Point2D, b: Point2D, c: Point2D) -> bool {
[INFO] [stdout]    |                          ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:13:38
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn is_lefteq_turn(a: Point2D, b: Point2D, c: Point2D) -> bool {
[INFO] [stdout]    |                                      ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:13:50
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn is_lefteq_turn(a: Point2D, b: Point2D, c: Point2D) -> bool {
[INFO] [stdout]    |                                                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn d_y(a: Point2D, b: Point2D) -> f64 {
[INFO] [stdout]    |               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:17:27
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn d_y(a: Point2D, b: Point2D) -> f64 {
[INFO] [stdout]    |                           ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:21:24
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn is_left_turn(a: Point2D, b: Point2D, c: Point2D) -> bool {
[INFO] [stdout]    |                        ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:21:36
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn is_left_turn(a: Point2D, b: Point2D, c: Point2D) -> bool {
[INFO] [stdout]    |                                    ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:21:48
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn is_left_turn(a: Point2D, b: Point2D, c: Point2D) -> bool {
[INFO] [stdout]    |                                                ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn is_right_turn(a: Point2D, b: Point2D, c: Point2D) -> bool {
[INFO] [stdout]    |                         ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:25:37
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn is_right_turn(a: Point2D, b: Point2D, c: Point2D) -> bool {
[INFO] [stdout]    |                                     ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:25:49
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn is_right_turn(a: Point2D, b: Point2D, c: Point2D) -> bool {
[INFO] [stdout]    |                                                 ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:29:31
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn distance_to_segment(p: Point2D, a: Point2D, b: Point2D) -> f64 {
[INFO] [stdout]    |                               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/dp.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub loc: Point2D,
[INFO] [stdout]    |              ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/dp.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub loc: Point2D,
[INFO] [stdout]    |              ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct DPStateKey<Point2D> {
[INFO] [stdout]    |                      +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/dp.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub loc: Point2D,
[INFO] [stdout]    |              ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct DPStateKey<Point2D> {
[INFO] [stdout]    |                      +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:112:60
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn extract_solution<K: Ord>(ctx: &DPContext<K>) -> Vec<Point2D> {
[INFO] [stdout]     |                                                            ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn extract_solution<K: Ord, Point2D>(ctx: &DPContext<K>) -> Vec<Point2D> {
[INFO] [stdout]     |                               +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:191:14
[INFO] [stdout]     |
[INFO] [stdout] 191 |         loc: Point2D,
[INFO] [stdout]     |              ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:209:15
[INFO] [stdout]     |
[INFO] [stdout] 209 |         _loc: Point2D,
[INFO] [stdout]     |               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:232:15
[INFO] [stdout]     |
[INFO] [stdout] 232 |         _loc: Point2D,
[INFO] [stdout]     |               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:251:15
[INFO] [stdout]     |
[INFO] [stdout] 251 |         _loc: Point2D,
[INFO] [stdout]     |               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:266:15
[INFO] [stdout]     |
[INFO] [stdout] 266 |         _loc: Point2D,
[INFO] [stdout]     |               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:288:14
[INFO] [stdout]     |
[INFO] [stdout] 288 |         loc: Point2D,
[INFO] [stdout]     |              ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:312:14
[INFO] [stdout]     |
[INFO] [stdout] 312 |         loc: Point2D,
[INFO] [stdout]     |              ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:336:14
[INFO] [stdout]     |
[INFO] [stdout] 336 |         loc: Point2D,
[INFO] [stdout]     |              ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:363:50
[INFO] [stdout]     |
[INFO] [stdout] 363 |     pub all_left_turns_cache: &'a mut FxHashMap<(Point2D, Point2D), bool>,
[INFO] [stdout]     |                                                  ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 355 | pub struct DPContext<'a, K: Ord, Point2D> {
[INFO] [stdout]     |                                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:363:59
[INFO] [stdout]     |
[INFO] [stdout] 363 |     pub all_left_turns_cache: &'a mut FxHashMap<(Point2D, Point2D), bool>,
[INFO] [stdout]     |                                                           ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 355 | pub struct DPContext<'a, K: Ord, Point2D> {
[INFO] [stdout]     |                                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:364:23
[INFO] [stdout]     |
[INFO] [stdout] 364 |     pub dirs: &'a Vec<Point2D>,
[INFO] [stdout]     |                       ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 355 | pub struct DPContext<'a, K: Ord, Point2D> {
[INFO] [stdout]     |                                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:367:28
[INFO] [stdout]     |
[INFO] [stdout] 367 |     pub bad_in_ch: &'a Vec<Point2D>,
[INFO] [stdout]     |                            ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 355 | pub struct DPContext<'a, K: Ord, Point2D> {
[INFO] [stdout]     |                                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:512:21
[INFO] [stdout]     |
[INFO] [stdout] 512 |     bad_in_ch: &Vec<Point2D>,
[INFO] [stdout]     |                     ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 508 | pub fn minimize_perimeter_dp<S: QueueStrategy, Point2D>(
[INFO] [stdout]     |                                              +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:29:43
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn distance_to_segment(p: Point2D, a: Point2D, b: Point2D) -> f64 {
[INFO] [stdout]    |                                           ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:29:55
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn distance_to_segment(p: Point2D, a: Point2D, b: Point2D) -> f64 {
[INFO] [stdout]    |                                                       ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:49:32
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn euclidean_length(sol: &[Point2D]) -> f64 {
[INFO] [stdout]    |                                ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:66:42
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn polygon_boundary_distance(poly: &[Point2D], query_point: Point2D) -> f64 {
[INFO] [stdout]    |                                          ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:66:65
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn polygon_boundary_distance(poly: &[Point2D], query_point: Point2D) -> f64 {
[INFO] [stdout]    |                                                                 ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:85:36
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn is_point_in_polygon(poly: &[Point2D], p: Point2D) -> bool {
[INFO] [stdout]    |                                    ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:85:49
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn is_point_in_polygon(poly: &[Point2D], p: Point2D) -> bool {
[INFO] [stdout]    |                                                 ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:106:27
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn fary(vec: &mut Vec<Point2D>, u: Point2D, v: Point2D, max_d: i64) {
[INFO] [stdout]     |                           ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn fary<Point2D>(vec: &mut Vec<Point2D>, u: Point2D, v: Point2D, max_d: i64) {
[INFO] [stdout]     |            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:106:40
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn fary(vec: &mut Vec<Point2D>, u: Point2D, v: Point2D, max_d: i64) {
[INFO] [stdout]     |                                        ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:106:52
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn fary(vec: &mut Vec<Point2D>, u: Point2D, v: Point2D, max_d: i64) {
[INFO] [stdout]     |                                                    ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:119:32
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn double_triangle_area(a: Point2D, b: Point2D, c: Point2D) -> i32 {
[INFO] [stdout]     |                                ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:119:44
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn double_triangle_area(a: Point2D, b: Point2D, c: Point2D) -> i32 {
[INFO] [stdout]     |                                            ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:119:56
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn double_triangle_area(a: Point2D, b: Point2D, c: Point2D) -> i32 {
[INFO] [stdout]     |                                                        ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:126:25
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub fn triangle_area(a: Point2D, b: Point2D, c: Point2D) -> f64 {
[INFO] [stdout]     |                         ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:126:37
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub fn triangle_area(a: Point2D, b: Point2D, c: Point2D) -> f64 {
[INFO] [stdout]     |                                     ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:126:49
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub fn triangle_area(a: Point2D, b: Point2D, c: Point2D) -> f64 {
[INFO] [stdout]     |                                                 ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:139:35
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub fn grid_points_inside_edge(u: Point2D, v: Point2D) -> u32 {
[INFO] [stdout]     |                                   ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:139:47
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub fn grid_points_inside_edge(u: Point2D, v: Point2D) -> u32 {
[INFO] [stdout]     |                                               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:149:30
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub fn convex_hull(points: &[Point2D]) -> Vec<Point2D> {
[INFO] [stdout]     |                              ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:149:47
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub fn convex_hull(points: &[Point2D]) -> Vec<Point2D> {
[INFO] [stdout]     |                                               ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub fn convex_hull<Point2D>(points: &[Point2D]) -> Vec<Point2D> {
[INFO] [stdout]     |                   +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:180:27
[INFO] [stdout]     |
[INFO] [stdout] 180 | fn get_y_bounds(points: &[Point2D]) -> Option<(CoordType, CoordType)> {
[INFO] [stdout]     |                           ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:180:48
[INFO] [stdout]     |
[INFO] [stdout] 180 | fn get_y_bounds(points: &[Point2D]) -> Option<(CoordType, CoordType)> {
[INFO] [stdout]     |                                                ^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 180 | fn get_y_bounds<CoordType>(points: &[Point2D]) -> Option<(CoordType, CoordType)> {
[INFO] [stdout]     |                +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:180:59
[INFO] [stdout]     |
[INFO] [stdout] 180 | fn get_y_bounds(points: &[Point2D]) -> Option<(CoordType, CoordType)> {
[INFO] [stdout]     |                                                           ^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 180 | fn get_y_bounds<CoordType>(points: &[Point2D]) -> Option<(CoordType, CoordType)> {
[INFO] [stdout]     |                +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:201:32
[INFO] [stdout]     |
[INFO] [stdout] 201 | fn add_points(points: &mut Vec<Point2D>, y_old: CoordType, y_new: CoordType) -> &mut Vec<Point2D> {
[INFO] [stdout]     |                                ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 201 | fn add_points<Point2D>(points: &mut Vec<Point2D>, y_old: CoordType, y_new: CoordType) -> &mut Vec<Point2D> {
[INFO] [stdout]     |              +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:201:49
[INFO] [stdout]     |
[INFO] [stdout] 201 | fn add_points(points: &mut Vec<Point2D>, y_old: CoordType, y_new: CoordType) -> &mut Vec<Point2D> {
[INFO] [stdout]     |                                                 ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:514:26
[INFO] [stdout]     |
[INFO] [stdout] 514 | ) -> anyhow::Result<(Vec<Point2D>, f64)> { //
[INFO] [stdout]     |                          ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 508 | pub fn minimize_perimeter_dp<S: QueueStrategy, Point2D>(
[INFO] [stdout]     |                                              +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:565:46
[INFO] [stdout]     |
[INFO] [stdout] 565 |     let mut all_left_turns_cache: FxHashMap<(Point2D, Point2D), bool> = FxHashMap::default();
[INFO] [stdout]     |                                              ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 508 | pub fn minimize_perimeter_dp<S: QueueStrategy, Point2D>(
[INFO] [stdout]     |                                              +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:565:55
[INFO] [stdout]     |
[INFO] [stdout] 565 |     let mut all_left_turns_cache: FxHashMap<(Point2D, Point2D), bool> = FxHashMap::default();
[INFO] [stdout]     |                                                       ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 508 | pub fn minimize_perimeter_dp<S: QueueStrategy, Point2D>(
[INFO] [stdout]     |                                              +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/draw.rs:42:34
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn compute_perimeter(poly: &[Point2D]) -> f64 {
[INFO] [stdout]    |                                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/draw.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |     poly: &[Point2D],
[INFO] [stdout]    |             ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/draw.rs:49:18
[INFO] [stdout]    |
[INFO] [stdout] 49 |     poly_circ: &[Point2D],
[INFO] [stdout]    |                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/draw.rs:50:22
[INFO] [stdout]    |
[INFO] [stdout] 50 |     poly_circ_exp: &[Point2D],
[INFO] [stdout]    |                      ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/draw.rs:67:25
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let translate = |p: Point2D| -> (f64, f64) {
[INFO] [stdout]    |                         ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]   --> src/draw.rs:94:56
[INFO] [stdout]    |
[INFO] [stdout] 94 |             let (tx, ty) = translate(Point2D::new(x as CoordType, y as CoordType));
[INFO] [stdout]    |                                                        ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]   --> src/draw.rs:94:72
[INFO] [stdout]    |
[INFO] [stdout] 94 |             let (tx, ty) = translate(Point2D::new(x as CoordType, y as CoordType));
[INFO] [stdout]    |                                                                        ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]   --> src/draw.rs:95:39
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let p = Point2D::new(x as CoordType, y as CoordType);
[INFO] [stdout]    |                                       ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]   --> src/draw.rs:95:55
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let p = Point2D::new(x as CoordType, y as CoordType);
[INFO] [stdout]    |                                                       ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]  --> src/geom.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn vtrans(p: &[Point2D], v: Point2D) -> Vec<Point2D> {
[INFO] [stdout]   |                    ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]  --> src/geom.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn vtrans(p: &[Point2D], v: Point2D) -> Vec<Point2D> {
[INFO] [stdout]   |                                 ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]  --> src/geom.rs:9:49
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn vtrans(p: &[Point2D], v: Point2D) -> Vec<Point2D> {
[INFO] [stdout]   |                                                 ^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn vtrans<Point2D>(p: &[Point2D], v: Point2D) -> Vec<Point2D> {
[INFO] [stdout]   |              +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:201:67
[INFO] [stdout]     |
[INFO] [stdout] 201 | fn add_points(points: &mut Vec<Point2D>, y_old: CoordType, y_new: CoordType) -> &mut Vec<Point2D> {
[INFO] [stdout]     |                                                                   ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:201:90
[INFO] [stdout]     |
[INFO] [stdout] 201 | fn add_points(points: &mut Vec<Point2D>, y_old: CoordType, y_new: CoordType) -> &mut Vec<Point2D> {
[INFO] [stdout]     |                                                                                          ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 201 | fn add_points<Point2D>(points: &mut Vec<Point2D>, y_old: CoordType, y_new: CoordType) -> &mut Vec<Point2D> {
[INFO] [stdout]     |              +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:203:29
[INFO] [stdout]     |
[INFO] [stdout] 203 |     let mut new_points: Vec<Point2D> = points
[INFO] [stdout]     |                             ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 201 | fn add_points<Point2D>(points: &mut Vec<Point2D>, y_old: CoordType, y_new: CoordType) -> &mut Vec<Point2D> {
[INFO] [stdout]     |              +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:206:18
[INFO] [stdout]     |
[INFO] [stdout] 206 |         .map(|p| Point2D { x: p.x, y: y_new })
[INFO] [stdout]     |                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:223:31
[INFO] [stdout]     |
[INFO] [stdout] 223 | fn average_of_min_y(points: &[Point2D]) -> Option<Point2D> {
[INFO] [stdout]     |                               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:223:51
[INFO] [stdout]     |
[INFO] [stdout] 223 | fn average_of_min_y(points: &[Point2D]) -> Option<Point2D> {
[INFO] [stdout]     |                                                   ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 223 | fn average_of_min_y<Point2D>(points: &[Point2D]) -> Option<Point2D> {
[INFO] [stdout]     |                    +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:248:36
[INFO] [stdout]     |
[INFO] [stdout] 248 |     let avg_x = (sum_x / count) as CoordType;
[INFO] [stdout]     |                                    ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:249:46
[INFO] [stdout]     |
[INFO] [stdout] 249 |     let avg_y = ((sum_y + count) / count) as CoordType;
[INFO] [stdout]     |                                              ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:251:10
[INFO] [stdout]     |
[INFO] [stdout] 251 |     Some(Point2D { x: avg_x, y: avg_y })
[INFO] [stdout]     |          ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:254:35
[INFO] [stdout]     |
[INFO] [stdout] 254 | fn translate_v_points(points: Vec<Point2D>, avg: Point2D) -> Vec<Point2D> {
[INFO] [stdout]     |                                   ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 254 | fn translate_v_points<Point2D>(points: Vec<Point2D>, avg: Point2D) -> Vec<Point2D> {
[INFO] [stdout]     |                      +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:254:50
[INFO] [stdout]     |
[INFO] [stdout] 254 | fn translate_v_points(points: Vec<Point2D>, avg: Point2D) -> Vec<Point2D> {
[INFO] [stdout]     |                                                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:254:66
[INFO] [stdout]     |
[INFO] [stdout] 254 | fn translate_v_points(points: Vec<Point2D>, avg: Point2D) -> Vec<Point2D> {
[INFO] [stdout]     |                                                                  ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 254 | fn translate_v_points<Point2D>(points: Vec<Point2D>, avg: Point2D) -> Vec<Point2D> {
[INFO] [stdout]     |                      +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:257:18
[INFO] [stdout]     |
[INFO] [stdout] 257 |         .map(|p| Point2D {
[INFO] [stdout]     |                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:264:56
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub fn ch_disk_origin(k: usize, f_expand: bool) -> Vec<Point2D> {
[INFO] [stdout]     |                                                        ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub fn ch_disk_origin<Point2D>(k: usize, f_expand: bool) -> Vec<Point2D> {
[INFO] [stdout]     |                      +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:273:39
[INFO] [stdout]     |
[INFO] [stdout] 273 |             let p = Point2D::new(x as CoordType, y as CoordType);
[INFO] [stdout]     |                                       ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:273:55
[INFO] [stdout]     |
[INFO] [stdout] 273 |             let p = Point2D::new(x as CoordType, y as CoordType);
[INFO] [stdout]     |                                                       ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:350:18
[INFO] [stdout]     |
[INFO] [stdout] 350 |     let mut mv = Point2D {
[INFO] [stdout]     |                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:355:14
[INFO] [stdout]     |
[INFO] [stdout] 355 |         mv = Point2D {
[INFO] [stdout]     |              ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:13:26
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn is_lefteq_turn(a: Point2D, b: Point2D, c: Point2D) -> bool {
[INFO] [stdout]    |                          ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:13:38
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn is_lefteq_turn(a: Point2D, b: Point2D, c: Point2D) -> bool {
[INFO] [stdout]    |                                      ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:13:50
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn is_lefteq_turn(a: Point2D, b: Point2D, c: Point2D) -> bool {
[INFO] [stdout]    |                                                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn d_y(a: Point2D, b: Point2D) -> f64 {
[INFO] [stdout]    |               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:17:27
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn d_y(a: Point2D, b: Point2D) -> f64 {
[INFO] [stdout]    |                           ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:21:24
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn is_left_turn(a: Point2D, b: Point2D, c: Point2D) -> bool {
[INFO] [stdout]    |                        ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:21:36
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn is_left_turn(a: Point2D, b: Point2D, c: Point2D) -> bool {
[INFO] [stdout]    |                                    ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:21:48
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn is_left_turn(a: Point2D, b: Point2D, c: Point2D) -> bool {
[INFO] [stdout]    |                                                ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:369:54
[INFO] [stdout]     |
[INFO] [stdout] 369 | pub fn generate_primitive_vectors(max_d: u32) -> Vec<Point2D> {
[INFO] [stdout]     |                                                      ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 369 | pub fn generate_primitive_vectors<Point2D>(max_d: u32) -> Vec<Point2D> {
[INFO] [stdout]     |                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:401:23
[INFO] [stdout]     |
[INFO] [stdout] 401 | pub fn is_colinear(a: Point2D, b: Point2D, c: Point2D) -> bool {
[INFO] [stdout]     |                       ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:401:35
[INFO] [stdout]     |
[INFO] [stdout] 401 | pub fn is_colinear(a: Point2D, b: Point2D, c: Point2D) -> bool {
[INFO] [stdout]     |                                   ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:401:47
[INFO] [stdout]     |
[INFO] [stdout] 401 | pub fn is_colinear(a: Point2D, b: Point2D, c: Point2D) -> bool {
[INFO] [stdout]     |                                               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:405:26
[INFO] [stdout]     |
[INFO] [stdout] 405 | pub fn count_distinct(a: Point2D, b: Point2D, c: Point2D) -> u32 {
[INFO] [stdout]     |                          ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:405:38
[INFO] [stdout]     |
[INFO] [stdout] 405 | pub fn count_distinct(a: Point2D, b: Point2D, c: Point2D) -> u32 {
[INFO] [stdout]     |                                      ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:405:50
[INFO] [stdout]     |
[INFO] [stdout] 405 | pub fn count_distinct(a: Point2D, b: Point2D, c: Point2D) -> u32 {
[INFO] [stdout]     |                                                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn is_right_turn(a: Point2D, b: Point2D, c: Point2D) -> bool {
[INFO] [stdout]    |                         ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:25:37
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn is_right_turn(a: Point2D, b: Point2D, c: Point2D) -> bool {
[INFO] [stdout]    |                                     ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:25:49
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn is_right_turn(a: Point2D, b: Point2D, c: Point2D) -> bool {
[INFO] [stdout]    |                                                 ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:29:31
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn distance_to_segment(p: Point2D, a: Point2D, b: Point2D) -> f64 {
[INFO] [stdout]    |                               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:29:43
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn distance_to_segment(p: Point2D, a: Point2D, b: Point2D) -> f64 {
[INFO] [stdout]    |                                           ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:29:55
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn distance_to_segment(p: Point2D, a: Point2D, b: Point2D) -> f64 {
[INFO] [stdout]    |                                                       ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:49:32
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn euclidean_length(sol: &[Point2D]) -> f64 {
[INFO] [stdout]    |                                ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:66:42
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn polygon_boundary_distance(poly: &[Point2D], query_point: Point2D) -> f64 {
[INFO] [stdout]    |                                          ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:66:65
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn polygon_boundary_distance(poly: &[Point2D], query_point: Point2D) -> f64 {
[INFO] [stdout]    |                                                                 ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:85:36
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn is_point_in_polygon(poly: &[Point2D], p: Point2D) -> bool {
[INFO] [stdout]    |                                    ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/geom.rs:85:49
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn is_point_in_polygon(poly: &[Point2D], p: Point2D) -> bool {
[INFO] [stdout]    |                                                 ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:106:27
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn fary(vec: &mut Vec<Point2D>, u: Point2D, v: Point2D, max_d: i64) {
[INFO] [stdout]     |                           ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn fary<Point2D>(vec: &mut Vec<Point2D>, u: Point2D, v: Point2D, max_d: i64) {
[INFO] [stdout]     |            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:106:40
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn fary(vec: &mut Vec<Point2D>, u: Point2D, v: Point2D, max_d: i64) {
[INFO] [stdout]     |                                        ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:106:52
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn fary(vec: &mut Vec<Point2D>, u: Point2D, v: Point2D, max_d: i64) {
[INFO] [stdout]     |                                                    ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:119:32
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn double_triangle_area(a: Point2D, b: Point2D, c: Point2D) -> i32 {
[INFO] [stdout]     |                                ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:119:44
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn double_triangle_area(a: Point2D, b: Point2D, c: Point2D) -> i32 {
[INFO] [stdout]     |                                            ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:415:37
[INFO] [stdout]     |
[INFO] [stdout] 415 | pub fn triangle_count_new_points(a: Point2D, b: Point2D, c: Point2D) -> (u32, u32) {
[INFO] [stdout]     |                                     ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:415:49
[INFO] [stdout]     |
[INFO] [stdout] 415 | pub fn triangle_count_new_points(a: Point2D, b: Point2D, c: Point2D) -> (u32, u32) {
[INFO] [stdout]     |                                                 ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:415:61
[INFO] [stdout]     |
[INFO] [stdout] 415 | pub fn triangle_count_new_points(a: Point2D, b: Point2D, c: Point2D) -> (u32, u32) {
[INFO] [stdout]     |                                                             ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:450:26
[INFO] [stdout]     |
[INFO] [stdout] 450 | pub fn angle_between(p1: Point2D, p2: Point2D) -> f64 {
[INFO] [stdout]     |                          ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:450:39
[INFO] [stdout]     |
[INFO] [stdout] 450 | pub fn angle_between(p1: Point2D, p2: Point2D) -> f64 {
[INFO] [stdout]     |                                       ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:456:31
[INFO] [stdout]     |
[INFO] [stdout] 456 | pub fn comp_stop_indexes(v: &[Point2D], max_angle: f64) -> Vec<usize> {
[INFO] [stdout]     |                               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:484:25
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub fn bound(polys: &[&[Point2D]], expand: i32) -> (CoordType, CoordType, CoordType, CoordType) {
[INFO] [stdout]     |                         ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:484:53
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub fn bound(polys: &[&[Point2D]], expand: i32) -> (CoordType, CoordType, CoordType, CoordType) {
[INFO] [stdout]     |                                                     ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:484:64
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub fn bound(polys: &[&[Point2D]], expand: i32) -> (CoordType, CoordType, CoordType, CoordType) {
[INFO] [stdout]     |                                                                ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:484:75
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub fn bound(polys: &[&[Point2D]], expand: i32) -> (CoordType, CoordType, CoordType, CoordType) {
[INFO] [stdout]     |                                                                           ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:119:56
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn double_triangle_area(a: Point2D, b: Point2D, c: Point2D) -> i32 {
[INFO] [stdout]     |                                                        ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:126:25
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub fn triangle_area(a: Point2D, b: Point2D, c: Point2D) -> f64 {
[INFO] [stdout]     |                         ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:484:86
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub fn bound(polys: &[&[Point2D]], expand: i32) -> (CoordType, CoordType, CoordType, CoordType) {
[INFO] [stdout]     |                                                                                      ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:525:31
[INFO] [stdout]     |
[INFO] [stdout] 525 |     min_x = min_x - expand as CoordType;
[INFO] [stdout]     |                               ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:126:37
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub fn triangle_area(a: Point2D, b: Point2D, c: Point2D) -> f64 {
[INFO] [stdout]     |                                     ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:526:31
[INFO] [stdout]     |
[INFO] [stdout] 526 |     max_x = max_x + expand as CoordType;
[INFO] [stdout]     |                               ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:527:31
[INFO] [stdout]     |
[INFO] [stdout] 527 |     min_y = min_y - expand as CoordType;
[INFO] [stdout]     |                               ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:528:31
[INFO] [stdout]     |
[INFO] [stdout] 528 |     max_y = max_y + expand as CoordType;
[INFO] [stdout]     |                               ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:530:27
[INFO] [stdout]     |
[INFO] [stdout] 530 |         min_x - expand as CoordType,
[INFO] [stdout]     |                           ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:531:27
[INFO] [stdout]     |
[INFO] [stdout] 531 |         max_x + expand as CoordType,
[INFO] [stdout]     |                           ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:532:27
[INFO] [stdout]     |
[INFO] [stdout] 532 |         min_y - expand as CoordType,
[INFO] [stdout]     |                           ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:533:27
[INFO] [stdout]     |
[INFO] [stdout] 533 |         max_y + expand as CoordType,
[INFO] [stdout]     |                           ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:539:16
[INFO] [stdout]     |
[INFO] [stdout] 539 |     pub min_x: CoordType,
[INFO] [stdout]     |                ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:540:16
[INFO] [stdout]     |
[INFO] [stdout] 540 |     pub max_x: CoordType,
[INFO] [stdout]     |                ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:541:16
[INFO] [stdout]     |
[INFO] [stdout] 541 |     pub min_y: CoordType,
[INFO] [stdout]     |                ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:542:16
[INFO] [stdout]     |
[INFO] [stdout] 542 |     pub max_y: CoordType,
[INFO] [stdout]     |                ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:126:49
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub fn triangle_area(a: Point2D, b: Point2D, c: Point2D) -> f64 {
[INFO] [stdout]     |                                                 ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:139:35
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub fn grid_points_inside_edge(u: Point2D, v: Point2D) -> u32 {
[INFO] [stdout]     |                                   ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:139:47
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub fn grid_points_inside_edge(u: Point2D, v: Point2D) -> u32 {
[INFO] [stdout]     |                                               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:149:30
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub fn convex_hull(points: &[Point2D]) -> Vec<Point2D> {
[INFO] [stdout]     |                              ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:149:47
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub fn convex_hull(points: &[Point2D]) -> Vec<Point2D> {
[INFO] [stdout]     |                                               ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub fn convex_hull<Point2D>(points: &[Point2D]) -> Vec<Point2D> {
[INFO] [stdout]     |                   +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:180:27
[INFO] [stdout]     |
[INFO] [stdout] 180 | fn get_y_bounds(points: &[Point2D]) -> Option<(CoordType, CoordType)> {
[INFO] [stdout]     |                           ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:180:48
[INFO] [stdout]     |
[INFO] [stdout] 180 | fn get_y_bounds(points: &[Point2D]) -> Option<(CoordType, CoordType)> {
[INFO] [stdout]     |                                                ^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 180 | fn get_y_bounds<CoordType>(points: &[Point2D]) -> Option<(CoordType, CoordType)> {
[INFO] [stdout]     |                +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:180:59
[INFO] [stdout]     |
[INFO] [stdout] 180 | fn get_y_bounds(points: &[Point2D]) -> Option<(CoordType, CoordType)> {
[INFO] [stdout]     |                                                           ^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 180 | fn get_y_bounds<CoordType>(points: &[Point2D]) -> Option<(CoordType, CoordType)> {
[INFO] [stdout]     |                +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:201:32
[INFO] [stdout]     |
[INFO] [stdout] 201 | fn add_points(points: &mut Vec<Point2D>, y_old: CoordType, y_new: CoordType) -> &mut Vec<Point2D> {
[INFO] [stdout]     |                                ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 201 | fn add_points<Point2D>(points: &mut Vec<Point2D>, y_old: CoordType, y_new: CoordType) -> &mut Vec<Point2D> {
[INFO] [stdout]     |              +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:201:49
[INFO] [stdout]     |
[INFO] [stdout] 201 | fn add_points(points: &mut Vec<Point2D>, y_old: CoordType, y_new: CoordType) -> &mut Vec<Point2D> {
[INFO] [stdout]     |                                                 ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:201:67
[INFO] [stdout]     |
[INFO] [stdout] 201 | fn add_points(points: &mut Vec<Point2D>, y_old: CoordType, y_new: CoordType) -> &mut Vec<Point2D> {
[INFO] [stdout]     |                                                                   ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:201:90
[INFO] [stdout]     |
[INFO] [stdout] 201 | fn add_points(points: &mut Vec<Point2D>, y_old: CoordType, y_new: CoordType) -> &mut Vec<Point2D> {
[INFO] [stdout]     |                                                                                          ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 201 | fn add_points<Point2D>(points: &mut Vec<Point2D>, y_old: CoordType, y_new: CoordType) -> &mut Vec<Point2D> {
[INFO] [stdout]     |              +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:551:23
[INFO] [stdout]     |
[INFO] [stdout] 551 |     pub fn new(min_x: CoordType, max_x: CoordType, min_y: CoordType, max_y: CoordType) -> Self {
[INFO] [stdout]     |                       ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:551:41
[INFO] [stdout]     |
[INFO] [stdout] 551 |     pub fn new(min_x: CoordType, max_x: CoordType, min_y: CoordType, max_y: CoordType) -> Self {
[INFO] [stdout]     |                                         ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:551:59
[INFO] [stdout]     |
[INFO] [stdout] 551 |     pub fn new(min_x: CoordType, max_x: CoordType, min_y: CoordType, max_y: CoordType) -> Self {
[INFO] [stdout]     |                                                           ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:551:77
[INFO] [stdout]     |
[INFO] [stdout] 551 |     pub fn new(min_x: CoordType, max_x: CoordType, min_y: CoordType, max_y: CoordType) -> Self {
[INFO] [stdout]     |                                                                             ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:576:33
[INFO] [stdout]     |
[INFO] [stdout] 576 |     pub fn insert(&mut self, p: Point2D) {
[INFO] [stdout]     |                                 ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:583:33
[INFO] [stdout]     |
[INFO] [stdout] 583 |     pub fn delete(&mut self, p: Point2D) {
[INFO] [stdout]     |                                 ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:590:37
[INFO] [stdout]     |
[INFO] [stdout] 590 |     pub fn insert_val(&mut self, p: Point2D, val: f64, g: i64) {
[INFO] [stdout]     |                                     ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:599:30
[INFO] [stdout]     |
[INFO] [stdout] 599 |     pub fn get_dto(&self, p: Point2D) -> (f64, i64) {
[INFO] [stdout]     |                              ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:608:32
[INFO] [stdout]     |
[INFO] [stdout] 608 |     pub fn contains(&self, p: &Point2D) -> bool {
[INFO] [stdout]     |                                ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:617:56
[INFO] [stdout]     |
[INFO] [stdout] 617 |     pub fn fill_dist_to_origin(&mut self, bad_ch: &Vec<Point2D>) {
[INFO] [stdout]     |                                                        ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 550 | impl<Point2D> GridSet {
[INFO] [stdout]     |     +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:639:19
[INFO] [stdout]     |
[INFO] [stdout] 639 | fn orientation(p: Point2D, q: Point2D, r: Point2D) -> i32 {
[INFO] [stdout]     |                   ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:639:31
[INFO] [stdout]     |
[INFO] [stdout] 639 | fn orientation(p: Point2D, q: Point2D, r: Point2D) -> i32 {
[INFO] [stdout]     |                               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:639:43
[INFO] [stdout]     |
[INFO] [stdout] 639 | fn orientation(p: Point2D, q: Point2D, r: Point2D) -> i32 {
[INFO] [stdout]     |                                           ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:203:29
[INFO] [stdout]     |
[INFO] [stdout] 203 |     let mut new_points: Vec<Point2D> = points
[INFO] [stdout]     |                             ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 201 | fn add_points<Point2D>(points: &mut Vec<Point2D>, y_old: CoordType, y_new: CoordType) -> &mut Vec<Point2D> {
[INFO] [stdout]     |              +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:206:18
[INFO] [stdout]     |
[INFO] [stdout] 206 |         .map(|p| Point2D { x: p.x, y: y_new })
[INFO] [stdout]     |                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:223:31
[INFO] [stdout]     |
[INFO] [stdout] 223 | fn average_of_min_y(points: &[Point2D]) -> Option<Point2D> {
[INFO] [stdout]     |                               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:223:51
[INFO] [stdout]     |
[INFO] [stdout] 223 | fn average_of_min_y(points: &[Point2D]) -> Option<Point2D> {
[INFO] [stdout]     |                                                   ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 223 | fn average_of_min_y<Point2D>(points: &[Point2D]) -> Option<Point2D> {
[INFO] [stdout]     |                    +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:248:36
[INFO] [stdout]     |
[INFO] [stdout] 248 |     let avg_x = (sum_x / count) as CoordType;
[INFO] [stdout]     |                                    ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:249:46
[INFO] [stdout]     |
[INFO] [stdout] 249 |     let avg_y = ((sum_y + count) / count) as CoordType;
[INFO] [stdout]     |                                              ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:251:10
[INFO] [stdout]     |
[INFO] [stdout] 251 |     Some(Point2D { x: avg_x, y: avg_y })
[INFO] [stdout]     |          ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:254:35
[INFO] [stdout]     |
[INFO] [stdout] 254 | fn translate_v_points(points: Vec<Point2D>, avg: Point2D) -> Vec<Point2D> {
[INFO] [stdout]     |                                   ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 254 | fn translate_v_points<Point2D>(points: Vec<Point2D>, avg: Point2D) -> Vec<Point2D> {
[INFO] [stdout]     |                      +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:254:50
[INFO] [stdout]     |
[INFO] [stdout] 254 | fn translate_v_points(points: Vec<Point2D>, avg: Point2D) -> Vec<Point2D> {
[INFO] [stdout]     |                                                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:254:66
[INFO] [stdout]     |
[INFO] [stdout] 254 | fn translate_v_points(points: Vec<Point2D>, avg: Point2D) -> Vec<Point2D> {
[INFO] [stdout]     |                                                                  ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 254 | fn translate_v_points<Point2D>(points: Vec<Point2D>, avg: Point2D) -> Vec<Point2D> {
[INFO] [stdout]     |                      +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:257:18
[INFO] [stdout]     |
[INFO] [stdout] 257 |         .map(|p| Point2D {
[INFO] [stdout]     |                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:264:56
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub fn ch_disk_origin(k: usize, f_expand: bool) -> Vec<Point2D> {
[INFO] [stdout]     |                                                        ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub fn ch_disk_origin<Point2D>(k: usize, f_expand: bool) -> Vec<Point2D> {
[INFO] [stdout]     |                      +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:273:39
[INFO] [stdout]     |
[INFO] [stdout] 273 |             let p = Point2D::new(x as CoordType, y as CoordType);
[INFO] [stdout]     |                                       ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:273:55
[INFO] [stdout]     |
[INFO] [stdout] 273 |             let p = Point2D::new(x as CoordType, y as CoordType);
[INFO] [stdout]     |                                                       ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:350:18
[INFO] [stdout]     |
[INFO] [stdout] 350 |     let mut mv = Point2D {
[INFO] [stdout]     |                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:355:14
[INFO] [stdout]     |
[INFO] [stdout] 355 |         mv = Point2D {
[INFO] [stdout]     |              ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:369:54
[INFO] [stdout]     |
[INFO] [stdout] 369 | pub fn generate_primitive_vectors(max_d: u32) -> Vec<Point2D> {
[INFO] [stdout]     |                                                      ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 369 | pub fn generate_primitive_vectors<Point2D>(max_d: u32) -> Vec<Point2D> {
[INFO] [stdout]     |                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:653:18
[INFO] [stdout]     |
[INFO] [stdout] 653 | fn on_segment(p: Point2D, q: Point2D, r: Point2D) -> bool {
[INFO] [stdout]     |                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:653:30
[INFO] [stdout]     |
[INFO] [stdout] 653 | fn on_segment(p: Point2D, q: Point2D, r: Point2D) -> bool {
[INFO] [stdout]     |                              ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:653:42
[INFO] [stdout]     |
[INFO] [stdout] 653 | fn on_segment(p: Point2D, q: Point2D, r: Point2D) -> bool {
[INFO] [stdout]     |                                          ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:658:27
[INFO] [stdout]     |
[INFO] [stdout] 658 | fn segments_intersect(p1: Point2D, q1: Point2D, p2: Point2D, q2: Point2D) -> bool {
[INFO] [stdout]     |                           ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:658:40
[INFO] [stdout]     |
[INFO] [stdout] 658 | fn segments_intersect(p1: Point2D, q1: Point2D, p2: Point2D, q2: Point2D) -> bool {
[INFO] [stdout]     |                                        ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:658:53
[INFO] [stdout]     |
[INFO] [stdout] 658 | fn segments_intersect(p1: Point2D, q1: Point2D, p2: Point2D, q2: Point2D) -> bool {
[INFO] [stdout]     |                                                     ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:658:66
[INFO] [stdout]     |
[INFO] [stdout] 658 | fn segments_intersect(p1: Point2D, q1: Point2D, p2: Point2D, q2: Point2D) -> bool {
[INFO] [stdout]     |                                                                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:687:50
[INFO] [stdout]     |
[INFO] [stdout] 687 | pub fn does_segment_intersect_polygon(polygon: &[Point2D], s1: Point2D, s2: Point2D) -> bool {
[INFO] [stdout]     |                                                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:687:64
[INFO] [stdout]     |
[INFO] [stdout] 687 | pub fn does_segment_intersect_polygon(polygon: &[Point2D], s1: Point2D, s2: Point2D) -> bool {
[INFO] [stdout]     |                                                                ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:687:77
[INFO] [stdout]     |
[INFO] [stdout] 687 | pub fn does_segment_intersect_polygon(polygon: &[Point2D], s1: Point2D, s2: Point2D) -> bool {
[INFO] [stdout]     |                                                                             ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:705:29
[INFO] [stdout]     |
[INFO] [stdout] 705 | pub fn is_all_left_turns(p: Point2D, p_next: Point2D, v: &[Point2D]) -> bool {
[INFO] [stdout]     |                             ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:401:23
[INFO] [stdout]     |
[INFO] [stdout] 401 | pub fn is_colinear(a: Point2D, b: Point2D, c: Point2D) -> bool {
[INFO] [stdout]     |                       ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:401:35
[INFO] [stdout]     |
[INFO] [stdout] 401 | pub fn is_colinear(a: Point2D, b: Point2D, c: Point2D) -> bool {
[INFO] [stdout]     |                                   ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:401:47
[INFO] [stdout]     |
[INFO] [stdout] 401 | pub fn is_colinear(a: Point2D, b: Point2D, c: Point2D) -> bool {
[INFO] [stdout]     |                                               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:405:26
[INFO] [stdout]     |
[INFO] [stdout] 405 | pub fn count_distinct(a: Point2D, b: Point2D, c: Point2D) -> u32 {
[INFO] [stdout]     |                          ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:405:38
[INFO] [stdout]     |
[INFO] [stdout] 405 | pub fn count_distinct(a: Point2D, b: Point2D, c: Point2D) -> u32 {
[INFO] [stdout]     |                                      ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:405:50
[INFO] [stdout]     |
[INFO] [stdout] 405 | pub fn count_distinct(a: Point2D, b: Point2D, c: Point2D) -> u32 {
[INFO] [stdout]     |                                                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:415:37
[INFO] [stdout]     |
[INFO] [stdout] 415 | pub fn triangle_count_new_points(a: Point2D, b: Point2D, c: Point2D) -> (u32, u32) {
[INFO] [stdout]     |                                     ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:415:49
[INFO] [stdout]     |
[INFO] [stdout] 415 | pub fn triangle_count_new_points(a: Point2D, b: Point2D, c: Point2D) -> (u32, u32) {
[INFO] [stdout]     |                                                 ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:415:61
[INFO] [stdout]     |
[INFO] [stdout] 415 | pub fn triangle_count_new_points(a: Point2D, b: Point2D, c: Point2D) -> (u32, u32) {
[INFO] [stdout]     |                                                             ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:450:26
[INFO] [stdout]     |
[INFO] [stdout] 450 | pub fn angle_between(p1: Point2D, p2: Point2D) -> f64 {
[INFO] [stdout]     |                          ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:450:39
[INFO] [stdout]     |
[INFO] [stdout] 450 | pub fn angle_between(p1: Point2D, p2: Point2D) -> f64 {
[INFO] [stdout]     |                                       ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:456:31
[INFO] [stdout]     |
[INFO] [stdout] 456 | pub fn comp_stop_indexes(v: &[Point2D], max_angle: f64) -> Vec<usize> {
[INFO] [stdout]     |                               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:484:25
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub fn bound(polys: &[&[Point2D]], expand: i32) -> (CoordType, CoordType, CoordType, CoordType) {
[INFO] [stdout]     |                         ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:484:53
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub fn bound(polys: &[&[Point2D]], expand: i32) -> (CoordType, CoordType, CoordType, CoordType) {
[INFO] [stdout]     |                                                     ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:484:64
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub fn bound(polys: &[&[Point2D]], expand: i32) -> (CoordType, CoordType, CoordType, CoordType) {
[INFO] [stdout]     |                                                                ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:484:75
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub fn bound(polys: &[&[Point2D]], expand: i32) -> (CoordType, CoordType, CoordType, CoordType) {
[INFO] [stdout]     |                                                                           ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:705:46
[INFO] [stdout]     |
[INFO] [stdout] 705 | pub fn is_all_left_turns(p: Point2D, p_next: Point2D, v: &[Point2D]) -> bool {
[INFO] [stdout]     |                                              ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:705:60
[INFO] [stdout]     |
[INFO] [stdout] 705 | pub fn is_all_left_turns(p: Point2D, p_next: Point2D, v: &[Point2D]) -> bool {
[INFO] [stdout]     |                                                            ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:730:37
[INFO] [stdout]     |
[INFO] [stdout] 730 | pub fn distance_to_origin(bad_ch: &[Point2D], p: Point2D) -> (f64, i64) {
[INFO] [stdout]     |                                     ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:730:50
[INFO] [stdout]     |
[INFO] [stdout] 730 | pub fn distance_to_origin(bad_ch: &[Point2D], p: Point2D) -> (f64, i64) {
[INFO] [stdout]     |                                                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:731:18
[INFO] [stdout]     |
[INFO] [stdout] 731 |     let origin = Point2D { x: 0, y: 0 };
[INFO] [stdout]     |                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:800:29
[INFO] [stdout]     |
[INFO] [stdout] 800 | pub fn polygon_area(poly: &[Point2D]) -> f64 {
[INFO] [stdout]     |                             ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:811:38
[INFO] [stdout]     |
[INFO] [stdout] 811 | pub fn compute_good_bad_sets(ch_m: &[Point2D], l: f64) -> (GridSet, GridSet, Vec<Point2D>) {
[INFO] [stdout]     |                                      ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:811:82
[INFO] [stdout]     |
[INFO] [stdout] 811 | pub fn compute_good_bad_sets(ch_m: &[Point2D], l: f64) -> (GridSet, GridSet, Vec<Point2D>) {
[INFO] [stdout]     |                                                                                  ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 811 | pub fn compute_good_bad_sets<Point2D>(ch_m: &[Point2D], l: f64) -> (GridSet, GridSet, Vec<Point2D>) {
[INFO] [stdout]     |                             +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:818:25
[INFO] [stdout]     |
[INFO] [stdout] 818 |     let mut bad_in: Vec<Point2D> = Vec::new();
[INFO] [stdout]     |                         ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 811 | pub fn compute_good_bad_sets<Point2D>(ch_m: &[Point2D], l: f64) -> (GridSet, GridSet, Vec<Point2D>) {
[INFO] [stdout]     |                             +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:843:17
[INFO] [stdout]     |
[INFO] [stdout] 843 |     bad_in.push(Point2D { x: 0, y: 0 });
[INFO] [stdout]     |                 ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:869:33
[INFO] [stdout]     |
[INFO] [stdout] 869 | pub fn len_longest_edge(poly: &[Point2D]) -> f64 {
[INFO] [stdout]     |                                 ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:897:39
[INFO] [stdout]     |
[INFO] [stdout] 897 | pub fn compute_max_turn_angle(poly: &[Point2D]) -> f64 {
[INFO] [stdout]     |                                       ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]   --> src/main.rs:78:53
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let ch_m = vtrans(&ch_z, Point2D::new(-delta as CoordType, 0));
[INFO] [stdout]    |                                                     ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]   --> src/main.rs:79:61
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let ch_m_exp = vtrans(&ch_z_exp, Point2D::new(-delta as CoordType, 0));
[INFO] [stdout]    |                                                             ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:484:86
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub fn bound(polys: &[&[Point2D]], expand: i32) -> (CoordType, CoordType, CoordType, CoordType) {
[INFO] [stdout]     |                                                                                      ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::point::*`
[INFO] [stdout]  --> src/dp.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::point::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::point::*`
[INFO] [stdout]  --> src/draw.rs:1:6
[INFO] [stdout]   |
[INFO] [stdout] 1 | use  crate::point::*;
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::point::*`
[INFO] [stdout]  --> src/geom.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::point::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:525:31
[INFO] [stdout]     |
[INFO] [stdout] 525 |     min_x = min_x - expand as CoordType;
[INFO] [stdout]     |                               ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:526:31
[INFO] [stdout]     |
[INFO] [stdout] 526 |     max_x = max_x + expand as CoordType;
[INFO] [stdout]     |                               ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `point::*`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use point::*;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:527:31
[INFO] [stdout]     |
[INFO] [stdout] 527 |     min_y = min_y - expand as CoordType;
[INFO] [stdout]     |                               ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:528:31
[INFO] [stdout]     |
[INFO] [stdout] 528 |     max_y = max_y + expand as CoordType;
[INFO] [stdout]     |                               ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:530:27
[INFO] [stdout]     |
[INFO] [stdout] 530 |         min_x - expand as CoordType,
[INFO] [stdout]     |                           ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:531:27
[INFO] [stdout]     |
[INFO] [stdout] 531 |         max_x + expand as CoordType,
[INFO] [stdout]     |                           ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:532:27
[INFO] [stdout]     |
[INFO] [stdout] 532 |         min_y - expand as CoordType,
[INFO] [stdout]     |                           ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:533:27
[INFO] [stdout]     |
[INFO] [stdout] 533 |         max_y + expand as CoordType,
[INFO] [stdout]     |                           ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:539:16
[INFO] [stdout]     |
[INFO] [stdout] 539 |     pub min_x: CoordType,
[INFO] [stdout]     |                ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:540:16
[INFO] [stdout]     |
[INFO] [stdout] 540 |     pub max_x: CoordType,
[INFO] [stdout]     |                ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:541:16
[INFO] [stdout]     |
[INFO] [stdout] 541 |     pub min_y: CoordType,
[INFO] [stdout]     |                ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:542:16
[INFO] [stdout]     |
[INFO] [stdout] 542 |     pub max_y: CoordType,
[INFO] [stdout]     |                ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:551:23
[INFO] [stdout]     |
[INFO] [stdout] 551 |     pub fn new(min_x: CoordType, max_x: CoordType, min_y: CoordType, max_y: CoordType) -> Self {
[INFO] [stdout]     |                       ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:551:41
[INFO] [stdout]     |
[INFO] [stdout] 551 |     pub fn new(min_x: CoordType, max_x: CoordType, min_y: CoordType, max_y: CoordType) -> Self {
[INFO] [stdout]     |                                         ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:551:59
[INFO] [stdout]     |
[INFO] [stdout] 551 |     pub fn new(min_x: CoordType, max_x: CoordType, min_y: CoordType, max_y: CoordType) -> Self {
[INFO] [stdout]     |                                                           ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]    --> src/geom.rs:551:77
[INFO] [stdout]     |
[INFO] [stdout] 551 |     pub fn new(min_x: CoordType, max_x: CoordType, min_y: CoordType, max_y: CoordType) -> Self {
[INFO] [stdout]     |                                                                             ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:576:33
[INFO] [stdout]     |
[INFO] [stdout] 576 |     pub fn insert(&mut self, p: Point2D) {
[INFO] [stdout]     |                                 ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:583:33
[INFO] [stdout]     |
[INFO] [stdout] 583 |     pub fn delete(&mut self, p: Point2D) {
[INFO] [stdout]     |                                 ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:590:37
[INFO] [stdout]     |
[INFO] [stdout] 590 |     pub fn insert_val(&mut self, p: Point2D, val: f64, g: i64) {
[INFO] [stdout]     |                                     ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:599:30
[INFO] [stdout]     |
[INFO] [stdout] 599 |     pub fn get_dto(&self, p: Point2D) -> (f64, i64) {
[INFO] [stdout]     |                              ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `polygon::*`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use polygon::*;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:608:32
[INFO] [stdout]     |
[INFO] [stdout] 608 |     pub fn contains(&self, p: &Point2D) -> bool {
[INFO] [stdout]     |                                ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:617:56
[INFO] [stdout]     |
[INFO] [stdout] 617 |     pub fn fill_dist_to_origin(&mut self, bad_ch: &Vec<Point2D>) {
[INFO] [stdout]     |                                                        ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 550 | impl<Point2D> GridSet {
[INFO] [stdout]     |     +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:639:19
[INFO] [stdout]     |
[INFO] [stdout] 639 | fn orientation(p: Point2D, q: Point2D, r: Point2D) -> i32 {
[INFO] [stdout]     |                   ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:639:31
[INFO] [stdout]     |
[INFO] [stdout] 639 | fn orientation(p: Point2D, q: Point2D, r: Point2D) -> i32 {
[INFO] [stdout]     |                               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:639:43
[INFO] [stdout]     |
[INFO] [stdout] 639 | fn orientation(p: Point2D, q: Point2D, r: Point2D) -> i32 {
[INFO] [stdout]     |                                           ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:653:18
[INFO] [stdout]     |
[INFO] [stdout] 653 | fn on_segment(p: Point2D, q: Point2D, r: Point2D) -> bool {
[INFO] [stdout]     |                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:653:30
[INFO] [stdout]     |
[INFO] [stdout] 653 | fn on_segment(p: Point2D, q: Point2D, r: Point2D) -> bool {
[INFO] [stdout]     |                              ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:653:42
[INFO] [stdout]     |
[INFO] [stdout] 653 | fn on_segment(p: Point2D, q: Point2D, r: Point2D) -> bool {
[INFO] [stdout]     |                                          ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:658:27
[INFO] [stdout]     |
[INFO] [stdout] 658 | fn segments_intersect(p1: Point2D, q1: Point2D, p2: Point2D, q2: Point2D) -> bool {
[INFO] [stdout]     |                           ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:658:40
[INFO] [stdout]     |
[INFO] [stdout] 658 | fn segments_intersect(p1: Point2D, q1: Point2D, p2: Point2D, q2: Point2D) -> bool {
[INFO] [stdout]     |                                        ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:658:53
[INFO] [stdout]     |
[INFO] [stdout] 658 | fn segments_intersect(p1: Point2D, q1: Point2D, p2: Point2D, q2: Point2D) -> bool {
[INFO] [stdout]     |                                                     ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:658:66
[INFO] [stdout]     |
[INFO] [stdout] 658 | fn segments_intersect(p1: Point2D, q1: Point2D, p2: Point2D, q2: Point2D) -> bool {
[INFO] [stdout]     |                                                                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:687:50
[INFO] [stdout]     |
[INFO] [stdout] 687 | pub fn does_segment_intersect_polygon(polygon: &[Point2D], s1: Point2D, s2: Point2D) -> bool {
[INFO] [stdout]     |                                                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:687:64
[INFO] [stdout]     |
[INFO] [stdout] 687 | pub fn does_segment_intersect_polygon(polygon: &[Point2D], s1: Point2D, s2: Point2D) -> bool {
[INFO] [stdout]     |                                                                ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:687:77
[INFO] [stdout]     |
[INFO] [stdout] 687 | pub fn does_segment_intersect_polygon(polygon: &[Point2D], s1: Point2D, s2: Point2D) -> bool {
[INFO] [stdout]     |                                                                             ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:705:29
[INFO] [stdout]     |
[INFO] [stdout] 705 | pub fn is_all_left_turns(p: Point2D, p_next: Point2D, v: &[Point2D]) -> bool {
[INFO] [stdout]     |                             ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:705:46
[INFO] [stdout]     |
[INFO] [stdout] 705 | pub fn is_all_left_turns(p: Point2D, p_next: Point2D, v: &[Point2D]) -> bool {
[INFO] [stdout]     |                                              ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:705:60
[INFO] [stdout]     |
[INFO] [stdout] 705 | pub fn is_all_left_turns(p: Point2D, p_next: Point2D, v: &[Point2D]) -> bool {
[INFO] [stdout]     |                                                            ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:730:37
[INFO] [stdout]     |
[INFO] [stdout] 730 | pub fn distance_to_origin(bad_ch: &[Point2D], p: Point2D) -> (f64, i64) {
[INFO] [stdout]     |                                     ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:730:50
[INFO] [stdout]     |
[INFO] [stdout] 730 | pub fn distance_to_origin(bad_ch: &[Point2D], p: Point2D) -> (f64, i64) {
[INFO] [stdout]     |                                                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:731:18
[INFO] [stdout]     |
[INFO] [stdout] 731 |     let origin = Point2D { x: 0, y: 0 };
[INFO] [stdout]     |                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:800:29
[INFO] [stdout]     |
[INFO] [stdout] 800 | pub fn polygon_area(poly: &[Point2D]) -> f64 {
[INFO] [stdout]     |                             ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:811:38
[INFO] [stdout]     |
[INFO] [stdout] 811 | pub fn compute_good_bad_sets(ch_m: &[Point2D], l: f64) -> (GridSet, GridSet, Vec<Point2D>) {
[INFO] [stdout]     |                                      ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:811:82
[INFO] [stdout]     |
[INFO] [stdout] 811 | pub fn compute_good_bad_sets(ch_m: &[Point2D], l: f64) -> (GridSet, GridSet, Vec<Point2D>) {
[INFO] [stdout]     |                                                                                  ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 811 | pub fn compute_good_bad_sets<Point2D>(ch_m: &[Point2D], l: f64) -> (GridSet, GridSet, Vec<Point2D>) {
[INFO] [stdout]     |                             +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:818:25
[INFO] [stdout]     |
[INFO] [stdout] 818 |     let mut bad_in: Vec<Point2D> = Vec::new();
[INFO] [stdout]     |                         ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 811 | pub fn compute_good_bad_sets<Point2D>(ch_m: &[Point2D], l: f64) -> (GridSet, GridSet, Vec<Point2D>) {
[INFO] [stdout]     |                             +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:843:17
[INFO] [stdout]     |
[INFO] [stdout] 843 |     bad_in.push(Point2D { x: 0, y: 0 });
[INFO] [stdout]     |                 ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:869:33
[INFO] [stdout]     |
[INFO] [stdout] 869 | pub fn len_longest_edge(poly: &[Point2D]) -> f64 {
[INFO] [stdout]     |                                 ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:897:39
[INFO] [stdout]     |
[INFO] [stdout] 897 | pub fn compute_max_turn_angle(poly: &[Point2D]) -> f64 {
[INFO] [stdout]     |                                       ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]   --> src/main.rs:78:53
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let ch_m = vtrans(&ch_z, Point2D::new(-delta as CoordType, 0));
[INFO] [stdout]    |                                                     ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CoordType` in this scope
[INFO] [stdout]   --> src/main.rs:79:61
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let ch_m_exp = vtrans(&ch_z_exp, Point2D::new(-delta as CoordType, 0));
[INFO] [stdout]    |                                                             ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::point::*`
[INFO] [stdout]  --> src/dp.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::point::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::point::*`
[INFO] [stdout]  --> src/draw.rs:1:6
[INFO] [stdout]   |
[INFO] [stdout] 1 | use  crate::point::*;
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::point::*`
[INFO] [stdout]  --> src/geom.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::point::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `point::*`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use point::*;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `polygon::*`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use polygon::*;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/dp.rs:63:18
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let origin = Point2D::new(0, 0);
[INFO] [stdout]    |                  ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/dp.rs:66:19
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn comp_next_conf<K: Ord>(
[INFO] [stdout]    |                       - expected this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 66 |         || (c.y < 0)
[INFO] [stdout]    |                   ^ expected type parameter `K`, found integer
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected type parameter `K`
[INFO] [stdout]                         found type `{integer}`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/dp.rs:69:27
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn comp_next_conf<K: Ord>(
[INFO] [stdout]    |                       - expected this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 69 |         || (c.x as i64) > (ctx.sqrt_k as i64)
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^ expected type parameter `K`, found `i64`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected type parameter `K`
[INFO] [stdout]                         found type `i64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/dp.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn comp_next_conf<K: Ord>(
[INFO] [stdout]    |                       - expected this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 70 |         || (c.y as i64) > ((2 * ctx.sqrt_k) as i64)
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^ expected type parameter `K`, found `i64`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected type parameter `K`
[INFO] [stdout]                         found type `i64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/dp.rs:71:28
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn comp_next_conf<K: Ord>(
[INFO] [stdout]    |                       - expected this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 71 |         || (-c.x as i64) > (ctx.sqrt_k as i64)
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^ expected type parameter `K`, found `i64`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected type parameter `K`
[INFO] [stdout]                         found type `i64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/dp.rs:72:28
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn comp_next_conf<K: Ord>(
[INFO] [stdout]    |                       - expected this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 72 |         || (-c.y as i64) > (ctx.sqrt_k as i64)
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^ expected type parameter `K`, found `i64`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected type parameter `K`
[INFO] [stdout]                         found type `i64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/dp.rs:87:20
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn comp_next_conf<K: Ord>(
[INFO] [stdout]    |                       - expected this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 87 |     assert!(v.x != 0 || v.y != 0);
[INFO] [stdout]    |                    ^ expected type parameter `K`, found integer
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected type parameter `K`
[INFO] [stdout]                         found type `{integer}`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/dp.rs:87:32
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn comp_next_conf<K: Ord>(
[INFO] [stdout]    |                       - expected this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 87 |     assert!(v.x != 0 || v.y != 0);
[INFO] [stdout]    |                                ^ expected type parameter `K`, found integer
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected type parameter `K`
[INFO] [stdout]                         found type `{integer}`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/dp.rs:63:18
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let origin = Point2D::new(0, 0);
[INFO] [stdout]    |                  ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/dp.rs:66:19
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn comp_next_conf<K: Ord>(
[INFO] [stdout]    |                       - expected this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 66 |         || (c.y < 0)
[INFO] [stdout]    |                   ^ expected type parameter `K`, found integer
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected type parameter `K`
[INFO] [stdout]                         found type `{integer}`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/dp.rs:69:27
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn comp_next_conf<K: Ord>(
[INFO] [stdout]    |                       - expected this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 69 |         || (c.x as i64) > (ctx.sqrt_k as i64)
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^ expected type parameter `K`, found `i64`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected type parameter `K`
[INFO] [stdout]                         found type `i64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/dp.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn comp_next_conf<K: Ord>(
[INFO] [stdout]    |                       - expected this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 70 |         || (c.y as i64) > ((2 * ctx.sqrt_k) as i64)
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^ expected type parameter `K`, found `i64`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected type parameter `K`
[INFO] [stdout]                         found type `i64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/dp.rs:71:28
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn comp_next_conf<K: Ord>(
[INFO] [stdout]    |                       - expected this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 71 |         || (-c.x as i64) > (ctx.sqrt_k as i64)
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^ expected type parameter `K`, found `i64`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected type parameter `K`
[INFO] [stdout]                         found type `i64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/dp.rs:72:28
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn comp_next_conf<K: Ord>(
[INFO] [stdout]    |                       - expected this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 72 |         || (-c.y as i64) > (ctx.sqrt_k as i64)
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^ expected type parameter `K`, found `i64`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected type parameter `K`
[INFO] [stdout]                         found type `i64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/dp.rs:87:20
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn comp_next_conf<K: Ord>(
[INFO] [stdout]    |                       - expected this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 87 |     assert!(v.x != 0 || v.y != 0);
[INFO] [stdout]    |                    ^ expected type parameter `K`, found integer
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected type parameter `K`
[INFO] [stdout]                         found type `{integer}`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/dp.rs:87:32
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn comp_next_conf<K: Ord>(
[INFO] [stdout]    |                       - expected this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 87 |     assert!(v.x != 0 || v.y != 0);
[INFO] [stdout]    |                                ^ expected type parameter `K`, found integer
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected type parameter `K`
[INFO] [stdout]                         found type `{integer}`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:540:14
[INFO] [stdout]     |
[INFO] [stdout] 540 |         loc: Point2D::new(0, 0),
[INFO] [stdout]     |              ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/draw.rs:94:38
[INFO] [stdout]    |
[INFO] [stdout] 94 |             let (tx, ty) = translate(Point2D::new(x as CoordType, y as CoordType));
[INFO] [stdout]    |                                      ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/draw.rs:95:21
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let p = Point2D::new(x as CoordType, y as CoordType);
[INFO] [stdout]    |                     ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/dp.rs:540:14
[INFO] [stdout]     |
[INFO] [stdout] 540 |         loc: Point2D::new(0, 0),
[INFO] [stdout]     |              ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in this scope
[INFO] [stdout]   --> src/geom.rs:32:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let ab_len_sq = dot(&ab, &ab);
[INFO] [stdout]    |                     ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in this scope
[INFO] [stdout]   --> src/geom.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let t = dot(&ap, &ab) as f64 / ab_len_sq as f64;
[INFO] [stdout]    |             ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2DF` in this scope
[INFO] [stdout]   --> src/geom.rs:41:15
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let a_f = Point2DF::new(a.x as f64, a.y as f64);
[INFO] [stdout]    |               ^^^^^^^^ use of undeclared type `Point2DF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2DF` in this scope
[INFO] [stdout]   --> src/geom.rs:42:16
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let ab_f = Point2DF::new(ab.x as f64, ab.y as f64);
[INFO] [stdout]    |                ^^^^^^^^ use of undeclared type `Point2DF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2DF` in this scope
[INFO] [stdout]   --> src/geom.rs:43:15
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let p_f = Point2DF::new(p.x as f64, p.y as f64);
[INFO] [stdout]    |               ^^^^^^^^ use of undeclared type `Point2DF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/draw.rs:94:38
[INFO] [stdout]    |
[INFO] [stdout] 94 |             let (tx, ty) = translate(Point2D::new(x as CoordType, y as CoordType));
[INFO] [stdout]    |                                      ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/draw.rs:95:21
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let p = Point2D::new(x as CoordType, y as CoordType);
[INFO] [stdout]    |                     ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in this scope
[INFO] [stdout]   --> src/geom.rs:32:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let ab_len_sq = dot(&ab, &ab);
[INFO] [stdout]    |                     ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `dot` in this scope
[INFO] [stdout]   --> src/geom.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let t = dot(&ap, &ab) as f64 / ab_len_sq as f64;
[INFO] [stdout]    |             ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2DF` in this scope
[INFO] [stdout]   --> src/geom.rs:41:15
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let a_f = Point2DF::new(a.x as f64, a.y as f64);
[INFO] [stdout]    |               ^^^^^^^^ use of undeclared type `Point2DF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:110:15
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let mid = Point2D::new(u.x + v.x, u.y + v.y);
[INFO] [stdout]     |               ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2DF` in this scope
[INFO] [stdout]   --> src/geom.rs:42:16
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let ab_f = Point2DF::new(ab.x as f64, ab.y as f64);
[INFO] [stdout]    |                ^^^^^^^^ use of undeclared type `Point2DF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2DF` in this scope
[INFO] [stdout]   --> src/geom.rs:43:15
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let p_f = Point2DF::new(p.x as f64, p.y as f64);
[INFO] [stdout]    |               ^^^^^^^^ use of undeclared type `Point2DF`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:110:15
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let mid = Point2D::new(u.x + v.x, u.y + v.y);
[INFO] [stdout]     |               ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:273:21
[INFO] [stdout]     |
[INFO] [stdout] 273 |             let p = Point2D::new(x as CoordType, y as CoordType);
[INFO] [stdout]     |                     ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:273:21
[INFO] [stdout]     |
[INFO] [stdout] 273 |             let p = Point2D::new(x as CoordType, y as CoordType);
[INFO] [stdout]     |                     ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:374:9
[INFO] [stdout]     |
[INFO] [stdout] 374 |         Point2D::new(1, 0),
[INFO] [stdout]     |         ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:375:9
[INFO] [stdout]     |
[INFO] [stdout] 375 |         Point2D::new(1, 1),
[INFO] [stdout]     |         ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:379:14
[INFO] [stdout]     |
[INFO] [stdout] 379 |     vec.push(Point2D::new(1, 0));
[INFO] [stdout]     |              ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:381:14
[INFO] [stdout]     |
[INFO] [stdout] 381 |     vec.push(Point2D::new(1, 1));
[INFO] [stdout]     |              ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:384:18
[INFO] [stdout]     |
[INFO] [stdout] 384 |         vec.push(Point2D::new(v.y, v.x));
[INFO] [stdout]     |                  ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:390:18
[INFO] [stdout]     |
[INFO] [stdout] 390 |         vec.push(Point2D::new(-p.y, p.x));
[INFO] [stdout]     |                  ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:374:9
[INFO] [stdout]     |
[INFO] [stdout] 374 |         Point2D::new(1, 0),
[INFO] [stdout]     |         ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:375:9
[INFO] [stdout]     |
[INFO] [stdout] 375 |         Point2D::new(1, 1),
[INFO] [stdout]     |         ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:379:14
[INFO] [stdout]     |
[INFO] [stdout] 379 |     vec.push(Point2D::new(1, 0));
[INFO] [stdout]     |              ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:396:18
[INFO] [stdout]     |
[INFO] [stdout] 396 |         vec.push(Point2D::new(-p.x, -p.y));
[INFO] [stdout]     |                  ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:381:14
[INFO] [stdout]     |
[INFO] [stdout] 381 |     vec.push(Point2D::new(1, 1));
[INFO] [stdout]     |              ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:384:18
[INFO] [stdout]     |
[INFO] [stdout] 384 |         vec.push(Point2D::new(v.y, v.x));
[INFO] [stdout]     |                  ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:390:18
[INFO] [stdout]     |
[INFO] [stdout] 390 |         vec.push(Point2D::new(-p.y, p.x));
[INFO] [stdout]     |                  ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:623:25
[INFO] [stdout]     |
[INFO] [stdout] 623 |                 let p = Point2D::new(x, y);
[INFO] [stdout]     |                         ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:396:18
[INFO] [stdout]     |
[INFO] [stdout] 396 |         vec.push(Point2D::new(-p.x, -p.y));
[INFO] [stdout]     |                  ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:824:21
[INFO] [stdout]     |
[INFO] [stdout] 824 |             let p = Point2D::new(x, y);
[INFO] [stdout]     |                     ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:852:21
[INFO] [stdout]     |
[INFO] [stdout] 852 |             let p = Point2D::new(x, y);
[INFO] [stdout]     |                     ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:623:25
[INFO] [stdout]     |
[INFO] [stdout] 623 |                 let p = Point2D::new(x, y);
[INFO] [stdout]     |                         ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/main.rs:78:30
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let ch_m = vtrans(&ch_z, Point2D::new(-delta as CoordType, 0));
[INFO] [stdout]    |                              ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/main.rs:79:38
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let ch_m_exp = vtrans(&ch_z_exp, Point2D::new(-delta as CoordType, 0));
[INFO] [stdout]    |                                      ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `save_polygon` in this scope
[INFO] [stdout]    --> src/main.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 |     save_polygon( &filename_poly, &sol, Some( &log ) )?;
[INFO] [stdout]     |     ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:824:21
[INFO] [stdout]     |
[INFO] [stdout] 824 |             let p = Point2D::new(x, y);
[INFO] [stdout]     |                     ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]    --> src/geom.rs:852:21
[INFO] [stdout]     |
[INFO] [stdout] 852 |             let p = Point2D::new(x, y);
[INFO] [stdout]     |                     ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/main.rs:78:30
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let ch_m = vtrans(&ch_z, Point2D::new(-delta as CoordType, 0));
[INFO] [stdout]    |                              ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Point2D` in this scope
[INFO] [stdout]   --> src/main.rs:79:38
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let ch_m_exp = vtrans(&ch_z_exp, Point2D::new(-delta as CoordType, 0));
[INFO] [stdout]    |                                      ^^^^^^^ use of undeclared type `Point2D`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `save_polygon` in this scope
[INFO] [stdout]    --> src/main.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 |     save_polygon( &filename_poly, &sol, Some( &log ) )?;
[INFO] [stdout]     |     ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0422, E0425, E0433, E0583.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust_k_perimeter` (bin "rust_k_perimeter") due to 188 previous errors; 5 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0308, E0422, E0425, E0433, E0583.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust_k_perimeter` (bin "rust_k_perimeter" test) due to 188 previous errors; 5 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "49f432c73a706b99ea3814d57ef6861f07bc9a520f5de62d0bb73504277f841a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "49f432c73a706b99ea3814d57ef6861f07bc9a520f5de62d0bb73504277f841a", kill_on_drop: false }`
[INFO] [stdout] 49f432c73a706b99ea3814d57ef6861f07bc9a520f5de62d0bb73504277f841a
