[INFO] cloning repository https://github.com/AndrewB330/geomancer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AndrewB330/geomancer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAndrewB330%2Fgeomancer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAndrewB330%2Fgeomancer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 31fc68c075100d43af8a2bf7c7ffa6ee8a390ab4
[INFO] checking AndrewB330/geomancer against master#da2544bfbe84df7b24d83c029c74299ebf6112c6 for pr-149681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAndrewB330%2Fgeomancer" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/AndrewB330/geomancer
[INFO] finished tweaking git repo https://github.com/AndrewB330/geomancer
[INFO] tweaked toml for git repo https://github.com/AndrewB330/geomancer written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/AndrewB330/geomancer on toolchain da2544bfbe84df7b24d83c029c74299ebf6112c6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da2544bfbe84df7b24d83c029c74299ebf6112c6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/AndrewB330/geomancer 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" "+da2544bfbe84df7b24d83c029c74299ebf6112c6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded relative-path v1.9.3
[INFO] [stderr]   Downloaded i_shape v1.6.0
[INFO] [stderr]   Downloaded i_key_sort v0.2.0
[INFO] [stderr]   Downloaded i_tree v0.8.3
[INFO] [stderr]   Downloaded i_float v1.6.0
[INFO] [stderr]   Downloaded rstest_macros v0.25.0
[INFO] [stderr]   Downloaded geo-types v0.7.15
[INFO] [stderr]   Downloaded geographiclib-rs v0.2.4
[INFO] [stderr]   Downloaded simba v0.9.0
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.23
[INFO] [stderr]   Downloaded libm v0.2.11
[INFO] [stderr]   Downloaded rand v0.9.0
[INFO] [stderr]   Downloaded bevy_math v0.15.3
[INFO] [stderr]   Downloaded rstest v0.25.0
[INFO] [stderr]   Downloaded rstar v0.12.2
[INFO] [stderr]   Downloaded i_overlay v1.9.4
[INFO] [stderr]   Downloaded zerocopy v0.8.23
[INFO] [stderr]   Downloaded geo v0.29.3
[INFO] [stderr]   Downloaded nalgebra v0.33.2
[INFO] [stderr]   Downloaded robust v1.1.0
[INFO] [stderr]   Downloaded glam v0.29.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+da2544bfbe84df7b24d83c029c74299ebf6112c6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8bedea246eaeb3e6f372c1f32d76831dd3e35d797e06f75c69afc1d57d5f9b7a
[INFO] running `Command { std: "docker" "start" "-a" "8bedea246eaeb3e6f372c1f32d76831dd3e35d797e06f75c69afc1d57d5f9b7a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8bedea246eaeb3e6f372c1f32d76831dd3e35d797e06f75c69afc1d57d5f9b7a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8bedea246eaeb3e6f372c1f32d76831dd3e35d797e06f75c69afc1d57d5f9b7a", kill_on_drop: false }`
[INFO] [stdout] 8bedea246eaeb3e6f372c1f32d76831dd3e35d797e06f75c69afc1d57d5f9b7a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+da2544bfbe84df7b24d83c029c74299ebf6112c6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 955e3f32fdf6e12da0420471fca5a63110ed396d07cc5c02436d4734b192b5ad
[INFO] running `Command { std: "docker" "start" "-a" "955e3f32fdf6e12da0420471fca5a63110ed396d07cc5c02436d4734b192b5ad", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling libm v0.2.11
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling semver v1.0.26
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling heapless v0.8.0
[INFO] [stderr]    Compiling libc v0.2.171
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling getrandom v0.3.1
[INFO] [stderr]    Compiling zerocopy v0.8.23
[INFO] [stderr]     Checking smallvec v1.14.0
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling indexmap v2.8.0
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling winnow v0.7.4
[INFO] [stderr]     Checking hash32 v0.3.1
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking bytemuck v1.22.0
[INFO] [stderr]     Checking i_tree v0.8.3
[INFO] [stderr]     Checking i_key_sort v0.2.0
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]     Checking glam v0.29.2
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]    Compiling glob v0.3.2
[INFO] [stderr]    Compiling relative-path v1.9.3
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]     Checking float_next_after v1.0.0
[INFO] [stderr]    Compiling rstest_macros v0.25.0
[INFO] [stderr]     Checking robust v1.1.0
[INFO] [stderr]     Checking futures-timer v3.0.3
[INFO] [stderr]     Checking geographiclib-rs v0.2.4
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking rstar v0.12.2
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.0
[INFO] [stderr]    Compiling toml_edit v0.22.24
[INFO] [stderr]     Checking geo-types v0.7.15
[INFO] [stderr]     Checking simba v0.9.0
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling proc-macro-crate v3.3.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]     Checking derive_more v1.0.0
[INFO] [stderr]     Checking bevy_math v0.15.3
[INFO] [stderr]     Checking nalgebra v0.33.2
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking rstest v0.25.0
[INFO] [stderr]     Checking i_float v1.6.0
[INFO] [stderr]     Checking i_shape v1.6.0
[INFO] [stderr]     Checking i_overlay v1.9.4
[INFO] [stderr]     Checking geo v0.29.3
[INFO] [stderr]     Checking geomancer v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `GeometryError` and `SelfIntersectionsAlgo`
[INFO] [stdout]  --> src/kernel/traits.rs:5:42
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{algorithm::{AlgorithmBundle, SelfIntersectionsAlgo}, common::{GeometryError, Orientation2D}};
[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: `num_traits::Zero`
[INFO] [stdout]  --> src/primitives/convex_polygon.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num_traits::Zero;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Cross2D`, `Norm2D`, and `Polygon`
[INFO] [stdout]  --> src/primitives/convex_polygon.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 |     primitives::{Polygon, SimplePolygon},
[INFO] [stdout]   |                  ^^^^^^^
[INFO] [stdout] 5 |     kernel::{Cross2D, Kernel2D, Norm2D},
[INFO] [stdout]   |              ^^^^^^^            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::System`
[INFO] [stdout]  --> src/primitives/polygon.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{alloc::System, ops::Index};
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Cross2D`
[INFO] [stdout]  --> src/primitives/polygon.rs:4:65
[INFO] [stdout]   |
[INFO] [stdout] 4 |     algorithm::AlgorithmBundle, common::GeometryError, kernel::{Cross2D, Kernel2D, Norm2D, StandardKernel2D, Vec2D}
[INFO] [stdout]   |                                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<V as traits::Point2D>::Scalar: Num` is not satisfied
[INFO] [stdout]   --> src/kernel/generic.rs:17:23
[INFO] [stdout]    |
[INFO] [stdout] 17 |     type Algorithms = DefaultAlgorithmBundle;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^ the trait `Num` is not implemented for `<V as traits::Point2D>::Scalar`
[INFO] [stdout]    |
[INFO] [stdout] note: required for `GenericKernel2D<V>` to implement `traits::Cross2D`
[INFO] [stdout]   --> src/kernel/generic.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl<V> Cross2D for GenericKernel2D<V>
[INFO] [stdout]    |         ^^^^^^^     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     V::Scalar: Num,
[INFO] [stdout]    |                --- unsatisfied trait bound introduced here
[INFO] [stdout] note: required for `DefaultAlgorithmBundle` to implement `AlgorithmBundle<GenericKernel2D<V>>`
[INFO] [stdout]   --> src/algorithm/mod.rs:17:29
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<K: Kernel2D + Cross2D> AlgorithmBundle<K> for DefaultAlgorithmBundle {
[INFO] [stdout]    |                    -------  ^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `traits::Kernel2D::Algorithms`
[INFO] [stdout]   --> src/kernel/traits.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 |     type Algorithms: AlgorithmBundle<Self>;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Kernel2D::Algorithms`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 13 |     V: Point2D, <V as traits::Point2D>::Scalar: Num
[INFO] [stdout]    |                 +++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `StandardKernel2D: traits::Cross2D` is not satisfied
[INFO] [stdout]   --> src/kernel/standard_kernel.rs:23:23
[INFO] [stdout]    |
[INFO] [stdout] 23 |     type Algorithms = DefaultAlgorithmBundle;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `traits::Cross2D` is not implemented for `StandardKernel2D`
[INFO] [stdout]   --> src/kernel/standard_kernel.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct StandardKernel2D;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the following other types implement trait `traits::Cross2D`
[INFO] [stdout]   --> src/kernel/generic.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | / impl<V> Cross2D for GenericKernel2D<V>
[INFO] [stdout] 55 | | where
[INFO] [stdout] 56 | |     V: Point2D,
[INFO] [stdout] 57 | |     V::Scalar: Num,
[INFO] [stdout]    | |___________________^ `GenericKernel2D<V>`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/kernel/bevy.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 |   impl Cross2D for BevyVec2Kernel {
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `BevyVec2Kernel`
[INFO] [stdout] note: required for `DefaultAlgorithmBundle` to implement `AlgorithmBundle<StandardKernel2D>`
[INFO] [stdout]   --> src/algorithm/mod.rs:17:29
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<K: Kernel2D + Cross2D> AlgorithmBundle<K> for DefaultAlgorithmBundle {
[INFO] [stdout]    |                    -------  ^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `traits::Kernel2D::Algorithms`
[INFO] [stdout]   --> src/kernel/traits.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 |     type Algorithms: AlgorithmBundle<Self>;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Kernel2D::Algorithms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kernel`
[INFO] [stdout]   --> src/algorithm/self_intersections/mod.rs:15:31
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn has_self_intersections(kernel: &K, points: &[K::Point]) -> bool {
[INFO] [stdout]    |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_kernel`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `geomancer` (lib) due to 2 previous errors; 9 warnings emitted
[INFO] [stdout] warning: unused variable: `points`
[INFO] [stdout]   --> src/algorithm/self_intersections/mod.rs:15:43
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn has_self_intersections(kernel: &K, points: &[K::Point]) -> bool {
[INFO] [stdout]    |                                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `kernel`
[INFO] [stdout]   --> src/algorithm/self_intersections/mod.rs:30:31
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn has_self_intersections(kernel: &K, points: &[K::Point]) -> bool {
[INFO] [stdout]    |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_kernel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `points`
[INFO] [stdout]   --> src/algorithm/self_intersections/mod.rs:30:43
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn has_self_intersections(kernel: &K, points: &[K::Point]) -> bool {
[INFO] [stdout]    |                                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `test_utils::*`
[INFO] [stdout]   --> src/common/mod.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) use test_utils::*;
[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 imports: `GeometryError` and `SelfIntersectionsAlgo`
[INFO] [stdout]  --> src/kernel/traits.rs:5:42
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{algorithm::{AlgorithmBundle, SelfIntersectionsAlgo}, common::{GeometryError, Orientation2D}};
[INFO] [stdout]   |                                          ^^^^^^^^^^^^^^^^^^^^^            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::Zero`
[INFO] [stdout]  --> src/primitives/convex_polygon.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num_traits::Zero;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Cross2D`, `Norm2D`, and `Polygon`
[INFO] [stdout]  --> src/primitives/convex_polygon.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 |     primitives::{Polygon, SimplePolygon},
[INFO] [stdout]   |                  ^^^^^^^
[INFO] [stdout] 5 |     kernel::{Cross2D, Kernel2D, Norm2D},
[INFO] [stdout]   |              ^^^^^^^            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::System`
[INFO] [stdout]  --> src/primitives/polygon.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{alloc::System, ops::Index};
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Cross2D`
[INFO] [stdout]  --> src/primitives/polygon.rs:4:65
[INFO] [stdout]   |
[INFO] [stdout] 4 |     algorithm::AlgorithmBundle, common::GeometryError, kernel::{Cross2D, Kernel2D, Norm2D, StandardKernel2D, Vec2D}
[INFO] [stdout]   |                                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<V as traits::Point2D>::Scalar: Num` is not satisfied
[INFO] [stdout]   --> src/kernel/generic.rs:17:23
[INFO] [stdout]    |
[INFO] [stdout] 17 |     type Algorithms = DefaultAlgorithmBundle;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^ the trait `Num` is not implemented for `<V as traits::Point2D>::Scalar`
[INFO] [stdout]    |
[INFO] [stdout] note: required for `GenericKernel2D<V>` to implement `traits::Cross2D`
[INFO] [stdout]   --> src/kernel/generic.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl<V> Cross2D for GenericKernel2D<V>
[INFO] [stdout]    |         ^^^^^^^     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     V::Scalar: Num,
[INFO] [stdout]    |                --- unsatisfied trait bound introduced here
[INFO] [stdout] note: required for `DefaultAlgorithmBundle` to implement `AlgorithmBundle<GenericKernel2D<V>>`
[INFO] [stdout]   --> src/algorithm/mod.rs:17:29
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<K: Kernel2D + Cross2D> AlgorithmBundle<K> for DefaultAlgorithmBundle {
[INFO] [stdout]    |                    -------  ^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `traits::Kernel2D::Algorithms`
[INFO] [stdout]   --> src/kernel/traits.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 |     type Algorithms: AlgorithmBundle<Self>;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Kernel2D::Algorithms`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 13 |     V: Point2D, <V as traits::Point2D>::Scalar: Num
[INFO] [stdout]    |                 +++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `StandardKernel2D: traits::Cross2D` is not satisfied
[INFO] [stdout]   --> src/kernel/standard_kernel.rs:23:23
[INFO] [stdout]    |
[INFO] [stdout] 23 |     type Algorithms = DefaultAlgorithmBundle;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `traits::Cross2D` is not implemented for `StandardKernel2D`
[INFO] [stdout]   --> src/kernel/standard_kernel.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct StandardKernel2D;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the following other types implement trait `traits::Cross2D`
[INFO] [stdout]   --> src/kernel/generic.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | / impl<V> Cross2D for GenericKernel2D<V>
[INFO] [stdout] 55 | | where
[INFO] [stdout] 56 | |     V: Point2D,
[INFO] [stdout] 57 | |     V::Scalar: Num,
[INFO] [stdout]    | |___________________^ `GenericKernel2D<V>`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/kernel/bevy.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 |   impl Cross2D for BevyVec2Kernel {
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `BevyVec2Kernel`
[INFO] [stdout] note: required for `DefaultAlgorithmBundle` to implement `AlgorithmBundle<StandardKernel2D>`
[INFO] [stdout]   --> src/algorithm/mod.rs:17:29
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<K: Kernel2D + Cross2D> AlgorithmBundle<K> for DefaultAlgorithmBundle {
[INFO] [stdout]    |                    -------  ^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `traits::Kernel2D::Algorithms`
[INFO] [stdout]   --> src/kernel/traits.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 |     type Algorithms: AlgorithmBundle<Self>;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Kernel2D::Algorithms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kernel`
[INFO] [stdout]   --> src/algorithm/self_intersections/mod.rs:15:31
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn has_self_intersections(kernel: &K, points: &[K::Point]) -> bool {
[INFO] [stdout]    |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_kernel`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `points`
[INFO] [stdout]   --> src/algorithm/self_intersections/mod.rs:15:43
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn has_self_intersections(kernel: &K, points: &[K::Point]) -> bool {
[INFO] [stdout]    |                                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kernel`
[INFO] [stdout]   --> src/algorithm/self_intersections/mod.rs:30:31
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn has_self_intersections(kernel: &K, points: &[K::Point]) -> bool {
[INFO] [stdout]    |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_kernel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `points`
[INFO] [stdout]   --> src/algorithm/self_intersections/mod.rs:30:43
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn has_self_intersections(kernel: &K, points: &[K::Point]) -> bool {
[INFO] [stdout]    |                                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `geomancer` (lib test) due to 2 previous errors; 10 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "955e3f32fdf6e12da0420471fca5a63110ed396d07cc5c02436d4734b192b5ad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "955e3f32fdf6e12da0420471fca5a63110ed396d07cc5c02436d4734b192b5ad", kill_on_drop: false }`
[INFO] [stdout] 955e3f32fdf6e12da0420471fca5a63110ed396d07cc5c02436d4734b192b5ad
